aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/common/kmgr_utils.c6
-rw-r--r--src/include/common/kmgr_utils.h2
2 files changed, 4 insertions, 4 deletions
diff --git a/src/common/kmgr_utils.c b/src/common/kmgr_utils.c
index d031976f500..db8572c8eae 100644
--- a/src/common/kmgr_utils.c
+++ b/src/common/kmgr_utils.c
@@ -81,7 +81,7 @@ kmgr_wrap_key(PgCipherCtx *ctx, CryptoKey *in, CryptoKey *out)
&enclen, /* Resulting length, must match input for us */
iv, /* Generated IV from above */
sizeof(iv), /* Length of the IV */
- (unsigned char *) &out->tag, /* Resulting tag */
+ out->tag, /* Resulting tag */
sizeof(out->tag))) /* Length of our tag */
return false;
@@ -106,7 +106,7 @@ kmgr_unwrap_key(PgCipherCtx *ctx, CryptoKey *in, CryptoKey *out)
out->pgkey_id = in->pgkey_id;
out->counter = in->counter;
- out->tag = in->tag;
+ memcpy(out->tag, in->tag, sizeof(in->tag));
/* Construct the IV we are going to use, see kmgr_utils.h */
memcpy(iv, &out->pgkey_id, sizeof(out->pgkey_id));
@@ -120,7 +120,7 @@ kmgr_unwrap_key(PgCipherCtx *ctx, CryptoKey *in, CryptoKey *out)
&declen, /* Length of plaintext */
iv, /* IV we constructed above */
sizeof(iv), /* Size of our IV */
- (unsigned char *) &in->tag, /* Tag which will be verified */
+ in->tag, /* Tag which will be verified */
sizeof(in->tag))) /* Size of our tag */
return false;
diff --git a/src/include/common/kmgr_utils.h b/src/include/common/kmgr_utils.h
index 23124a7fc60..ce26df56fb3 100644
--- a/src/include/common/kmgr_utils.h
+++ b/src/include/common/kmgr_utils.h
@@ -82,7 +82,7 @@ typedef struct CryptoKey
{
uint64 pgkey_id; /* Upper half of IV */
uint64 counter; /* Lower half of IV */
- uint128 tag; /* GCM tag */
+ unsigned char tag[16]; /* GCM tag */
unsigned char encrypted_key[sizeof(int) + KMGR_MAX_KEY_LEN_BYTES];
} CryptoKey;