tpm2: Return properly sized array for b parameter for NIST P521 (HLK)

This patch ensures that the leading zeros in the b parameter for NIST P521
are being kept so that HLK accepts the returned parameters from
TPM2_ECC_Parameters. Now 66 bytes are reported for 'b' rather than only 65.
Do the same for the 'a' parameter, though that one was properly reported
already because it didn't have any leading zeros.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
This commit is contained in:
Stefan Berger 2021-02-15 09:44:51 -05:00 committed by Stefan Berger
parent b2e3991057
commit 8001ad0b96

View File

@ -403,8 +403,8 @@ CryptEccGetParameters(
parameters->kdf = curve->kdf;
parameters->sign = curve->sign;
BnTo2B(data->prime, &parameters->p.b, 0);
BnTo2B(data->a, &parameters->a.b, 0);
BnTo2B(data->b, &parameters->b.b, 0);
BnTo2B(data->a, &parameters->a.b, parameters->p.t.size /* libtpms changed for HLK */);
BnTo2B(data->b, &parameters->b.b, parameters->p.t.size /* libtpms changed for HLK */);
BnTo2B(data->base.x, &parameters->gX.b, parameters->p.t.size);
BnTo2B(data->base.y, &parameters->gY.b, parameters->p.t.size);
BnTo2B(data->order, &parameters->n.b, 0);