> Hi,
>
> I generated a x509 certificate. When I try to read the private key with
> PEM_read_PrivateKey I always get NULL as return value and when calling
> perror I get an Illegal seek.
>
> Here is my code:
>
> FILE *pemKeyFile;
> EVP_PKEY *privKey;
>
> pemKeyFile = fopen ("/home/user/testkey.pem", "r");
> if (pemKeyFile == NULL) {
> perror ("open key file");
> return 7;
> }
> // reading private key in PEM format
> privKey = PEM_read_PrivateKey (pemKeyFile,
> NULL,
> NULL,
> NULL );
> if (privKey==NULL){
> perror("read");
> return 6;
> }
> if (EVP_PKEY_type(privKey->type)==EVP_PKEY_RSA){
> printf ("Key type is: %d this means RSA\n",privKey->type);
> }
> else {
> printf ("NO RSA :(\n");
> }
>
> Can anyone tell me why this does not work ?
Most likely the file you're reading doesn't contain a private key in a
format that PEM_read_PriveKey likes. But the best way to tell is to use more
sensible error output code. For example, call ERR_print_errors_fp(stderr).
The 'perror' function will only work if the error was an error in a system
call. Most likely, the error was detected in the SSL code that tried to
process the data in the file.
DS
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [email protected]
Automated List Manager [EMAIL PROTECTED]