add wc_DerToPemEx to restore compatibility API with wc_DerToPem

This commit is contained in:
Ludovic FLAMENT
2015-07-24 07:50:29 +02:00
parent 0054fe4a25
commit 8d7d803e58
4 changed files with 25 additions and 16 deletions

View File

@ -13550,9 +13550,9 @@ int wolfSSL_PEM_write_mem_RSAPrivateKey(RSA* rsa, const EVP_CIPHER* cipher,
} }
/* DER to PEM */ /* DER to PEM */
*plen = wc_DerToPem(der, derSz, tmp, *plen, cipherInfo, PRIVATEKEY_TYPE); *plen = wc_DerToPemEx(der, derSz, tmp, *plen, cipherInfo, PRIVATEKEY_TYPE);
if (*plen <= 0) { if (*plen <= 0) {
WOLFSSL_MSG("wc_DerToPem failed"); WOLFSSL_MSG("wc_DerToPemEx failed");
XFREE(der, NULL, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, NULL, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, NULL, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, NULL, DYNAMIC_TYPE_TMP_BUFFER);
if (cipherInfo != NULL) if (cipherInfo != NULL)
@ -14916,9 +14916,9 @@ int wolfSSL_PEM_write_mem_ECPrivateKey(WOLFSSL_EC_KEY* ecc,
} }
/* DER to PEM */ /* DER to PEM */
*plen = wc_DerToPem(der, derSz, tmp, *plen, cipherInfo, ECC_PRIVATEKEY_TYPE); *plen = wc_DerToPemEx(der, derSz, tmp, *plen, cipherInfo, ECC_PRIVATEKEY_TYPE);
if (*plen <= 0) { if (*plen <= 0) {
WOLFSSL_MSG("wc_DerToPem failed"); WOLFSSL_MSG("wc_DerToPemEx failed");
XFREE(der, NULL, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, NULL, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, NULL, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, NULL, DYNAMIC_TYPE_TMP_BUFFER);
if (cipherInfo != NULL) if (cipherInfo != NULL)
@ -15085,9 +15085,9 @@ int wolfSSL_PEM_write_mem_DSAPrivateKey(WOLFSSL_DSA* dsa,
} }
/* DER to PEM */ /* DER to PEM */
*plen = wc_DerToPem(der, derSz, tmp, *plen, cipherInfo, DSA_PRIVATEKEY_TYPE); *plen = wc_DerToPemEx(der, derSz, tmp, *plen, cipherInfo, DSA_PRIVATEKEY_TYPE);
if (*plen <= 0) { if (*plen <= 0) {
WOLFSSL_MSG("wc_DerToPem failed"); WOLFSSL_MSG("wc_DerToPemEx failed");
XFREE(der, NULL, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, NULL, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, NULL, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, NULL, DYNAMIC_TYPE_TMP_BUFFER);
if (cipherInfo != NULL) if (cipherInfo != NULL)

View File

@ -4676,9 +4676,16 @@ const char* END_DSA_PRIV = "-----END DSA PRIVATE KEY-----";
#if defined(WOLFSSL_KEY_GEN) || defined(WOLFSSL_CERT_GEN) #if defined(WOLFSSL_KEY_GEN) || defined(WOLFSSL_CERT_GEN)
/* Used for compatibility API */
int wc_DerToPem(const byte* der, word32 derSz,
byte* output, word32 outSz, int type)
{
return wc_DerToPemEx(der, derSz, output, outSz, NULL, type);
}
/* convert der buffer to pem into output, can't do inplace, der and output /* convert der buffer to pem into output, can't do inplace, der and output
need to be different */ need to be different */
int wc_DerToPem(const byte* der, word32 derSz, byte* output, word32 outSz, int wc_DerToPemEx(const byte* der, word32 derSz, byte* output, word32 outSz,
byte *cipher_info, int type) byte *cipher_info, int type)
{ {
#ifdef WOLFSSL_SMALL_STACK #ifdef WOLFSSL_SMALL_STACK

View File

@ -3523,7 +3523,7 @@ int rsa_test(void)
return -313; return -313;
} }
pemSz = wc_DerToPem(der, derSz, pem, FOURK_BUF, NULL, PRIVATEKEY_TYPE); pemSz = wc_DerToPem(der, derSz, pem, FOURK_BUF, PRIVATEKEY_TYPE);
if (pemSz < 0) { if (pemSz < 0) {
free(der); free(der);
free(pem); free(pem);
@ -3646,7 +3646,7 @@ int rsa_test(void)
return -414; return -414;
} }
pemSz = wc_DerToPem(derCert, certSz, pem, FOURK_BUF, NULL, CERT_TYPE); pemSz = wc_DerToPem(derCert, certSz, pem, FOURK_BUF, CERT_TYPE);
if (pemSz < 0) { if (pemSz < 0) {
free(derCert); free(derCert);
free(pem); free(pem);
@ -3792,7 +3792,7 @@ int rsa_test(void)
return -416; return -416;
} }
pemSz = wc_DerToPem(derCert, certSz, pem, FOURK_BUF, NULL, CERT_TYPE); pemSz = wc_DerToPem(derCert, certSz, pem, FOURK_BUF, CERT_TYPE);
if (pemSz < 0) { if (pemSz < 0) {
free(derCert); free(derCert);
free(pem); free(pem);
@ -3937,7 +3937,7 @@ int rsa_test(void)
return -5414; return -5414;
} }
pemSz = wc_DerToPem(derCert, certSz, pem, FOURK_BUF, NULL, CERT_TYPE); pemSz = wc_DerToPem(derCert, certSz, pem, FOURK_BUF, CERT_TYPE);
if (pemSz < 0) { if (pemSz < 0) {
free(pem); free(pem);
free(derCert); free(derCert);
@ -4121,7 +4121,7 @@ int rsa_test(void)
return -473; return -473;
} }
pemSz = wc_DerToPem(derCert, certSz, pem, FOURK_BUF, NULL, CERT_TYPE); pemSz = wc_DerToPem(derCert, certSz, pem, FOURK_BUF, CERT_TYPE);
if (pemSz < 0) { if (pemSz < 0) {
free(derCert); free(derCert);
free(pem); free(pem);
@ -4206,7 +4206,7 @@ int rsa_test(void)
return -466; return -466;
} }
pemSz = wc_DerToPem(der, derSz, pem, FOURK_BUF, NULL, CERTREQ_TYPE); pemSz = wc_DerToPem(der, derSz, pem, FOURK_BUF, CERTREQ_TYPE);
if (pemSz < 0) { if (pemSz < 0) {
free(pem); free(pem);
free(der); free(der);
@ -4485,7 +4485,7 @@ int dsa_test(void)
return -368; return -368;
} }
pemSz = wc_DerToPem(der, derSz, pem, FOURK_BUF, NULL, DSA_PRIVATEKEY_TYPE); pemSz = wc_DerToPem(der, derSz, pem, FOURK_BUF, DSA_PRIVATEKEY_TYPE);
if (pemSz < 0) { if (pemSz < 0) {
free(der); free(der);
free(pem); free(pem);
@ -5227,7 +5227,7 @@ int ecc_test(void)
return -1026; return -1026;
} }
pemSz = wc_DerToPem(der, derSz, pem, FOURK_BUF, NULL, ECC_PRIVATEKEY_TYPE); pemSz = wc_DerToPem(der, derSz, pem, FOURK_BUF, ECC_PRIVATEKEY_TYPE);
if (pemSz < 0) { if (pemSz < 0) {
return -1027; return -1027;
} }

View File

@ -178,7 +178,9 @@ WOLFSSL_API int wc_SetDatesBuffer(Cert*, const byte*, int);
#if defined(WOLFSSL_KEY_GEN) || defined(WOLFSSL_CERT_GEN) || !defined(NO_DSA) #if defined(WOLFSSL_KEY_GEN) || defined(WOLFSSL_CERT_GEN) || !defined(NO_DSA)
WOLFSSL_API int wc_DerToPem(const byte* der, word32 derSz, byte* output, WOLFSSL_API int wc_DerToPem(const byte* der, word32 derSz, byte* output,
word32 outputSz, byte *cipherIno, int type); word32 outputSz, int type);
WOLFSSL_API int wc_DerToPemEx(const byte* der, word32 derSz, byte* output,
word32 outputSz, byte *cipherIno, int type);
#endif #endif
#ifdef HAVE_ECC #ifdef HAVE_ECC