Ricardo Guerra wrote:
> 
> hi,
> 
> when i do this, i get a segfault on "RSA_check_key(&pubKey)", the public key
> is generated via cat priv.key | openssl rs -pubout > pub.key .. the real
> problem is using rsa_public_decrypt(), the decrypted data makes no sense.. so
> i wondered if the public key was correct, but using RSA_check_key it fails,
> but i'm able to use RSA_size(&pubKey)
> 
> {
>   FILE *file;
>   if ((file=fopen(name, "r"))== NULL)
>     return 0;
> 
>   //    pubKey=*PEM_read_RSAPublicKey(file, NULL, NULL, NULL);
>   pubKey=*PEM_read_RSA_PUBKEY(file, NULL,NULL,NULL);
>   fclose (file);
>   if (RSA_check_key(&pubKey)==1) {
>     printf("la clave publica es correcta\n");
>     printf ("La longitud de la clave es de %d bytes\n", RSA_size(&pubKey));
>   }
>   loadedPub=1;
>   return loadedPub;
> }
> 

As I mentioned before you are calling the functions incorrectly. 

Also RSA_check() only works on private keys not public keys.

Steve.
-- 
Dr Stephen N. Henson.   http://www.drh-consultancy.demon.co.uk/
Personal Email: [EMAIL PROTECTED] 
Senior crypto engineer, Gemplus: http://www.gemplus.com/
Core developer of the   OpenSSL project: http://www.openssl.org/
Business Email: [EMAIL PROTECTED] PGP key: via homepage.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to