change return of stub functions to be failure, pass PEM password cb and user data along

This commit is contained in:
JacobBarthelmeh
2025-01-23 16:17:03 -07:00
parent 2eb42f1cea
commit 86ed94f2e3

View File

@ -487,7 +487,7 @@ int wolfSSL_X509_OBJECT_set1_X509(WOLFSSL_X509_OBJECT *a, WOLFSSL_X509 *obj)
WOLFSSL_STUB("wolfSSL_X509_OBJECT_set1_X509"); WOLFSSL_STUB("wolfSSL_X509_OBJECT_set1_X509");
(void)a; (void)a;
(void)obj; (void)obj;
return 1; return 0;
} }
int wolfSSL_X509_OBJECT_set1_X509_CRL(WOLFSSL_X509_OBJECT *a, int wolfSSL_X509_OBJECT_set1_X509_CRL(WOLFSSL_X509_OBJECT *a,
@ -496,7 +496,7 @@ int wolfSSL_X509_OBJECT_set1_X509_CRL(WOLFSSL_X509_OBJECT *a,
WOLFSSL_STUB("wolfSSL_X509_OBJECT_set1_X509_CRL"); WOLFSSL_STUB("wolfSSL_X509_OBJECT_set1_X509_CRL");
(void)a; (void)a;
(void)obj; (void)obj;
return 1; return 0;
} }
#endif /* OPENSSL_ALL || OPENSSL_EXTRA */ #endif /* OPENSSL_ALL || OPENSSL_EXTRA */
@ -5299,7 +5299,8 @@ WOLFSSL_X509* wolfSSL_X509_load_certificate_file(const char* fname, int format)
#endif /* !NO_FILESYSTEM */ #endif /* !NO_FILESYSTEM */
static WOLFSSL_X509* loadX509orX509REQFromBuffer( static WOLFSSL_X509* loadX509orX509REQFromBuffer(
const unsigned char* buf, int sz, int format, int type) const unsigned char* buf, int sz, int format, int type,
wc_pem_password_cb *cb, void *u)
{ {
int ret = 0; int ret = 0;
@ -5309,8 +5310,13 @@ static WOLFSSL_X509* loadX509orX509REQFromBuffer(
WOLFSSL_ENTER("wolfSSL_X509_load_certificate_ex"); WOLFSSL_ENTER("wolfSSL_X509_load_certificate_ex");
if (format == WOLFSSL_FILETYPE_PEM) { if (format == WOLFSSL_FILETYPE_PEM) {
EncryptedInfo info;
XMEMSET(&info, 0, sizeof(EncryptedInfo));
info.passwd_cb = cb;
info.passwd_userdata = u;
#ifdef WOLFSSL_PEM_TO_DER #ifdef WOLFSSL_PEM_TO_DER
ret = PemToDer(buf, sz, type, &der, NULL, NULL, NULL); ret = PemToDer(buf, sz, type, &der, NULL, &info, NULL);
if (ret != 0) { if (ret != 0) {
FreeDer(&der); FreeDer(&der);
} }
@ -5381,7 +5387,7 @@ WOLFSSL_X509* wolfSSL_X509_load_certificate_buffer(
const unsigned char* buf, int sz, int format) const unsigned char* buf, int sz, int format)
{ {
return loadX509orX509REQFromBuffer(buf, sz, return loadX509orX509REQFromBuffer(buf, sz,
format, CERT_TYPE); format, CERT_TYPE, NULL, NULL);
} }
#ifdef WOLFSSL_CERT_REQ #ifdef WOLFSSL_CERT_REQ
@ -5389,7 +5395,7 @@ WOLFSSL_X509* wolfSSL_X509_REQ_load_certificate_buffer(
const unsigned char* buf, int sz, int format) const unsigned char* buf, int sz, int format)
{ {
return loadX509orX509REQFromBuffer(buf, sz, return loadX509orX509REQFromBuffer(buf, sz,
format, CERTREQ_TYPE); format, CERTREQ_TYPE, NULL, NULL);
} }
#endif #endif
@ -11985,12 +11991,12 @@ static WOLFSSL_X509 *loadX509orX509REQFromPemBio(WOLFSSL_BIO *bp,
pemSz = (int)i; pemSz = (int)i;
#ifdef WOLFSSL_CERT_REQ #ifdef WOLFSSL_CERT_REQ
if (type == CERTREQ_TYPE) if (type == CERTREQ_TYPE)
x509 = wolfSSL_X509_REQ_load_certificate_buffer(pem, pemSz, x509 = loadX509orX509REQFromBuffer(pem, pemSz, WOLFSSL_FILETYPE_PEM,
WOLFSSL_FILETYPE_PEM); CERTREQ_TYPE, cb, u);
else else
#endif #endif
x509 = wolfSSL_X509_load_certificate_buffer(pem, pemSz, x509 = loadX509orX509REQFromBuffer(pem, pemSz, WOLFSSL_FILETYPE_PEM,
WOLFSSL_FILETYPE_PEM); CERT_TYPE, cb, u);
} }
if (x != NULL) { if (x != NULL) {