On 23/05/18 12:10, Ruchi Tyagi wrote: > Hi, > > > > I am working on a project where we are trying to Replace RSA Bsafe > crypto C library with openssl. I have a RSA key pair (attaching the key > files) generated using RSA Bsafe library. > > I am able to read the public key using the below call > > > > rsa = d2i_RSA_PUBKEY(NULL, &public_key_bytes, public_key_length); RSA public keys typically come in either PKCS#1 format or SubjectPublicKeyInfo format. You need to ensure you use the correct function for the format. Your public key is in SubjectPublicKeyInfo format, and this is the correct function for reading that format - so it succeeds. > > > > but while decryption , I am getting NULL “rsa” . > > > > rsa = d2i_RSAPrivateKey(NULL, &p, size); RSA private keys typically come in either traditional or PKCS#8 format. Your private key is in PKCS#8 format, but this function is for reading traditional format keys - hence the failure. If you use the function d2i_AutoPrivateKey() then it will automatically try to detect the format. It returns an EVP_PKEY *object which is the preferred internal object for working with public/private keys. If you must have it as an "RSA *" object you can do that with EVP_PKEY_get1_RSA() (or EVP_PKEY_get0_RSA() if you don't want to up the ref count on the RSA object). Matt > > > > > > It seems that I am not using the right call or missing something. > > > > Please help me in resolving this issue. > > > > Thanks & Regards, > > Ruchi > > > > _______________________________________________ > osf-contact mailing list > To unsubscribe: https://mta.openssl.org/mailman/listinfo/osf-contact > -- openssl-users mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users