Hi,
I am using openssl 1.1.1b and I am storing private key encrypted.
I am storing private key as
PEM_write_bio_PrivateKey(bio, pkey, EVP_aes_128_cbc(), PKeyPassPKCS12, 0, 0, NULL);
and on system startup reading using the following way
if(!PEM_read_bio_PrivateKey(keyBIO, &user_s_key, NULL, decryptSharedSecret))
Upon debugging I found it is failing in PKCS12_pbe_crypt > EVP_CipherFinal_ex
Please suggest where I am doing wrong?
Could this be appear to related to padding ?
Without encryption of key , it works fine , which clear other code is all fine.
Thanks,
evp_enc.c:EVP_DecryptFinal_ex:569
/*
* The following assumes that the ciphertext has been authenticated.
* Otherwise it provides a padding oracle.
*/
n = ctx->final[b - 1];
if (n == 0 || n > (int)b) {
EVPerr(EVP_F_EVP_DECRYPTFINAL_EX, EVP_R_BAD_DECRYPT);
return 0;
}
* Otherwise it provides a padding oracle.
*/
n = ctx->final[b - 1];
if (n == 0 || n > (int)b) {
EVPerr(EVP_F_EVP_DECRYPTFINAL_EX, EVP_R_BAD_DECRYPT);
return 0;
}