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