wolfSSL_d2i_PKCS12_fp

pull/1569/head
Takashi Kojo 2018-05-26 13:04:06 +09:00
parent 3939eadf9c
commit ba03f6e08b
3 changed files with 17 additions and 3 deletions

View File

@ -18028,6 +18028,12 @@ static void *wolfSSL_d2i_X509_fp_ex(XFILE file, void **x509, int type)
else if(type == CRL_TYPE)
newx509 = (void *)wolfSSL_d2i_X509_CRL(NULL, fileBuffer, (int)sz);
#endif
else if(type == PKCS12_TYPE){
if((newx509 = wc_PKCS12_new()) == NULL)
goto err_exit;
if(wc_d2i_PKCS12(fileBuffer, (int)sz, (WC_PKCS12*)newx509) < 0)
goto err_exit;
}
else goto err_exit;
if(newx509 == NULL)
{
@ -18060,6 +18066,12 @@ _exit:
return newx509;
}
WOLFSSL_X509_PKCS12 *wolfSSL_d2i_PKCS12_fp(XFILE fp, WOLFSSL_X509_PKCS12 **pkcs12)
{
WOLFSSL_ENTER("wolfSSL_d2i_PKCS12_fp");
return (WOLFSSL_X509_PKCS12 *)wolfSSL_d2i_X509_fp_ex(fp, (void **)pkcs12, PKCS12_TYPE);
}
WOLFSSL_X509 *wolfSSL_d2i_X509_fp(XFILE fp, WOLFSSL_X509 **x509)
{
WOLFSSL_ENTER("wolfSSL_d2i_X509_fp");

View File

@ -121,6 +121,7 @@ typedef struct WOLFSSL_X509 WOLFSSL_X509;
typedef struct WOLFSSL_X509_NAME WOLFSSL_X509_NAME;
typedef struct WOLFSSL_X509_NAME_ENTRY WOLFSSL_X509_NAME_ENTRY;
typedef struct WOLFSSL_X509_CHAIN WOLFSSL_X509_CHAIN;
typedef struct WC_PKCS12 WOLFSSL_X509_PKCS12;
typedef struct WOLFSSL_CERT_MANAGER WOLFSSL_CERT_MANAGER;
typedef struct WOLFSSL_SOCKADDR WOLFSSL_SOCKADDR;
@ -1555,8 +1556,8 @@ typedef struct WC_PKCS12 WC_PKCS12;
WOLFSSL_API WC_PKCS12* wolfSSL_d2i_PKCS12_bio(WOLFSSL_BIO* bio,
WC_PKCS12** pkcs12);
#ifndef NO_FILESYSTEM
WOLFSSL_API WC_PKCS12* wolfSSL_d2i_PKCS12_fp(XFILE fp,
WC_PKCS12** pkcs12);
WOLFSSL_API WOLFSSL_X509_PKCS12* wolfSSL_d2i_PKCS12_fp(XFILE fp,
WOLFSSL_X509_PKCS12** pkcs12);
#endif
WOLFSSL_API int wolfSSL_PKCS12_parse(WC_PKCS12* pkcs12, const char* psw,
WOLFSSL_EVP_PKEY** pkey, WOLFSSL_X509** cert,

View File

@ -72,7 +72,8 @@ enum CertType {
ECC_PUBLICKEY_TYPE,
TRUSTED_PEER_TYPE,
EDDSA_PRIVATEKEY_TYPE,
ED25519_TYPE
ED25519_TYPE,
PKCS12_TYPE
};