F-11887: clear private-key DER buffers with wc_ForceZero before freeing

pull/429/head
Chris Conlon 2026-09-25 14:50:47 -06:00
parent 28892e364f
commit d7fbe576b1
3 changed files with 15 additions and 0 deletions

View File

@ -520,7 +520,12 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1sign
wolfSSL_EVP_PKEY_free(priv);
}
if (derBuf != NULL && derBuf != keyBuf) {
#if (LIBWOLFSSL_VERSION_HEX >= 0x05008004) && \
!defined(WOLFSSL_NO_FORCE_ZERO)
wc_ForceZero(derBuf, derSz);
#else
XMEMSET(derBuf, 0, derSz);
#endif
XFREE(derBuf, NULL, DYNAMIC_TYPE_TMP_BUFFER);
derBuf = NULL;
}

View File

@ -343,7 +343,12 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCertRequest_X509_1REQ_1sign
wolfSSL_EVP_PKEY_free(priv);
}
if (derAllocated == 1 && derBuf != NULL) {
#if (LIBWOLFSSL_VERSION_HEX >= 0x05008004) && \
!defined(WOLFSSL_NO_FORCE_ZERO)
wc_ForceZero(derBuf, derSz);
#else
XMEMSET(derBuf, 0, derSz);
#endif
XFREE(derBuf, NULL, DYNAMIC_TYPE_TMP_BUFFER);
}
if (keyBuf != NULL) {

View File

@ -1001,7 +1001,12 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCertificate_X509_1sign
wolfSSL_EVP_PKEY_free(priv);
}
if (derAllocated == 1 && derBuf != NULL) {
#if (LIBWOLFSSL_VERSION_HEX >= 0x05008004) && \
!defined(WOLFSSL_NO_FORCE_ZERO)
wc_ForceZero(derBuf, derSz);
#else
XMEMSET(derBuf, 0, derSz);
#endif
XFREE(derBuf, NULL, DYNAMIC_TYPE_TMP_BUFFER);
}
if (fileBuf != NULL) {