Merge pull request #4265 from miyazakh/ecc_pubkey

update der size in actual length
This commit is contained in:
Chris Conlon
2021-08-03 16:41:36 -06:00
committed by GitHub
2 changed files with 18 additions and 2 deletions

View File

@ -28844,6 +28844,9 @@ static void test_wolfSSL_PEM_PUBKEY(void)
size_t sz;
byte* buf;
EVP_PKEY* pkey2;
EC_KEY* ec_key;
file = XFOPEN(fname, "rb");
AssertTrue((file != XBADFILE));
XFSEEK(file, 0, XSEEK_END);
@ -28860,6 +28863,19 @@ static void test_wolfSSL_PEM_PUBKEY(void)
XFREE(buf, NULL, DYNAMIC_TYPE_FILE);
BIO_free(bio);
bio = NULL;
/* Qt unit test case*/
AssertNotNull(pkey2 = EVP_PKEY_new());
AssertNotNull(ec_key = EVP_PKEY_get1_EC_KEY(pkey));
AssertIntEQ(EVP_PKEY_set1_EC_KEY(pkey2, ec_key), WOLFSSL_SUCCESS);
#ifdef WOLFSSL_ERROR_CODE_OPENSSL
AssertIntEQ(EVP_PKEY_cmp(pkey, pkey2), 1/* match */);
#else
AssertIntEQ(EVP_PKEY_cmp(pkey, pkey2), 0);
#endif
EC_KEY_free(ec_key);
EVP_PKEY_free(pkey2);
EVP_PKEY_free(pkey);
pkey = NULL;
}

View File

@ -6730,7 +6730,7 @@ static int ECC_populate_EVP_PKEY(EVP_PKEY* pkey, WOLFSSL_EC_KEY *key)
DYNAMIC_TYPE_OPENSSL);
if (derBuf != NULL) {
pkey->pkey.ptr = (char*)derBuf;
if (wc_EccPublicKeyToDer(ecc, derBuf, derSz, 1) < 0) {
if ((derSz = wc_EccPublicKeyToDer(ecc, derBuf, derSz, 1)) < 0) {
XFREE(derBuf, NULL, DYNAMIC_TYPE_OPENSSL);
derBuf = NULL;
}