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 */
*plen = wc_DerToPem(der, derSz, tmp, *plen, cipherInfo, PRIVATEKEY_TYPE);
*plen = wc_DerToPemEx(der, derSz, tmp, *plen, cipherInfo, PRIVATEKEY_TYPE);
if (*plen <= 0) {
WOLFSSL_MSG("wc_DerToPem failed");
WOLFSSL_MSG("wc_DerToPemEx failed");
XFREE(der, NULL, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, NULL, DYNAMIC_TYPE_TMP_BUFFER);
if (cipherInfo != NULL)
@ -14916,9 +14916,9 @@ int wolfSSL_PEM_write_mem_ECPrivateKey(WOLFSSL_EC_KEY* ecc,
}
/* 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) {
WOLFSSL_MSG("wc_DerToPem failed");
WOLFSSL_MSG("wc_DerToPemEx failed");
XFREE(der, NULL, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, NULL, DYNAMIC_TYPE_TMP_BUFFER);
if (cipherInfo != NULL)
@ -15085,9 +15085,9 @@ int wolfSSL_PEM_write_mem_DSAPrivateKey(WOLFSSL_DSA* dsa,
}
/* 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) {
WOLFSSL_MSG("wc_DerToPem failed");
WOLFSSL_MSG("wc_DerToPemEx failed");
XFREE(der, NULL, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, NULL, DYNAMIC_TYPE_TMP_BUFFER);
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)
/* 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
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)
{
#ifdef WOLFSSL_SMALL_STACK

View File

@ -3523,7 +3523,7 @@ int rsa_test(void)
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) {
free(der);
free(pem);
@ -3646,7 +3646,7 @@ int rsa_test(void)
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) {
free(derCert);
free(pem);
@ -3792,7 +3792,7 @@ int rsa_test(void)
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) {
free(derCert);
free(pem);
@ -3937,7 +3937,7 @@ int rsa_test(void)
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) {
free(pem);
free(derCert);
@ -4121,7 +4121,7 @@ int rsa_test(void)
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) {
free(derCert);
free(pem);
@ -4206,7 +4206,7 @@ int rsa_test(void)
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) {
free(pem);
free(der);
@ -4485,7 +4485,7 @@ int dsa_test(void)
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) {
free(der);
free(pem);
@ -5227,7 +5227,7 @@ int ecc_test(void)
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) {
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)
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
#ifdef HAVE_ECC