//
-// Open Service Platform
// Copyright (c) 2013 Samsung Electronics Co., Ltd.
//
// Licensed under the Apache License, Version 2.0 (the License);
if (isPemFormat == true)
{
- PrivateKey key;
- r = key.SetKey(*pOutBuffer.get());
+ PrivateKey nKey;
+ r = nKey.SetKey(*pOutBuffer.get());
SysTryCatch(NID_SEC, !IsFailed(r), r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid.");
- pOutBuffer = std::unique_ptr< ByteBuffer >(ConvertDerToPemN(format, key));
+ pOutBuffer = std::unique_ptr< ByteBuffer >(ConvertDerToPemN(format, nKey));
SysTryCatch(NID_SEC, pOutBuffer != null, r = GetLastResult(), GetLastResult(), "[%s] Failed to convert der to pem encoded byte buffer");
}
if (isPemFormat == true)
{
- PublicKey key;
- r = key.SetKey(*pOutBuffer.get());
+ PublicKey nKey;
+ r = nKey.SetKey(*pOutBuffer);
SysTryCatch(NID_SEC, !IsFailed(r), r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid.");
- pOutBuffer = std::unique_ptr< ByteBuffer >(ConvertDerToPemN(format, key));
+ pOutBuffer.reset(ConvertDerToPemN(format, nKey));
+ //pOutBuffer = std::unique_ptr< ByteBuffer >(ConvertDerToPemN(format, nKey));
SysTryCatch(NID_SEC, pOutBuffer != null, r = GetLastResult(), GetLastResult(), "[%s] Failed to convert der to pem encoded byte buffer");
}
BIO_free(pBio);
}
+ if (IsFailed(r))
+ {
+ pOutBuffer.reset(null);
+ }
+
return pOutBuffer.release();
}
if (pPrivKeyInfo != null)
{
pEvpKey = EVP_PKCS82PKEY(pPrivKeyInfo);
+ SysTryCatch(NID_SEC, pEvpKey != null, r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid");
PKCS8_PRIV_KEY_INFO_free(pPrivKeyInfo);
}
pBio = BIO_new(BIO_s_mem());