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

pull/8345/head
JacobBarthelmeh 2025-01-23 16:17:03 -07:00
parent 2eb42f1cea
commit 86ed94f2e3
1 changed files with 16 additions and 10 deletions

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