remove uint128 requirement from patch 978f869b99 (CFE)

Used char[16] instead.

Reported-by: buildfarm member florican

Backpatch-through: master
This commit is contained in:
Bruce Momjian 2020-12-25 11:35:59 -05:00
parent 945083b2f7
commit e35b2bad1a
2 changed files with 4 additions and 4 deletions

View File

@ -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;

View File

@ -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;