36 lines
1.5 KiB
Diff
36 lines
1.5 KiB
Diff
From 8001ad0b968b18d4b002ea0ac6a5cd3fd8be3eeb Mon Sep 17 00:00:00 2001
|
|
From: Stefan Berger <stefanb@linux.ibm.com>
|
|
Date: Mon, 15 Feb 2021 09:44:51 -0500
|
|
Subject: [PATCH] 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>
|
|
---
|
|
src/tpm2/crypto/openssl/CryptEccMain.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/tpm2/crypto/openssl/CryptEccMain.c b/src/tpm2/crypto/openssl/CryptEccMain.c
|
|
index d11f500..c59b2b4 100644
|
|
--- a/src/tpm2/crypto/openssl/CryptEccMain.c
|
|
+++ b/src/tpm2/crypto/openssl/CryptEccMain.c
|
|
@@ -403,8 +403,8 @@ CryptEccGetParameters(
|
|
parameters->kdf = curve->kdf;
|
|
parameters->sign = curve->sign;
|
|
BnTo2B(data->prime, ¶meters->p.b, 0);
|
|
- BnTo2B(data->a, ¶meters->a.b, 0);
|
|
- BnTo2B(data->b, ¶meters->b.b, 0);
|
|
+ BnTo2B(data->a, ¶meters->a.b, parameters->p.t.size /* libtpms changed for HLK */);
|
|
+ BnTo2B(data->b, ¶meters->b.b, parameters->p.t.size /* libtpms changed for HLK */);
|
|
BnTo2B(data->base.x, ¶meters->gX.b, parameters->p.t.size);
|
|
BnTo2B(data->base.y, ¶meters->gY.b, parameters->p.t.size);
|
|
BnTo2B(data->order, ¶meters->n.b, 0);
|
|
--
|
|
2.29.0
|
|
|