Thank you for fast response ! But it's ok if I use PEM_read_RSAPublicKey() to load public key from file save by using PEM_write_RSAPublicKey(). And even publickey extract by openssl command doesn't have any line as "BEGIN RSA CERTIFICATE". It just has line as "BEGIN RSA PUBLIC KEY".
I've tried your code, but it can't read public key save by openssl. So can PEM_read_RSAPublicKey() or PEM_read_RSA_PUBKEY() can load public key from a private key ? In my program, I use PEM_write_RSAPublicKey() to store public key and use PEM_read_RSAPublicKey() to load it. I just want to know if user can use my program to read public key from a private key. p/s : I used openssl to extract publickey like this ( I don't know if there is another way) : openssl rsa -in privatekey.pem -out publickey.pem -pubout shankar ks <[EMAIL PROTECTED]> wrote: Hi Trung, The error which u got was you can not read the public key as in the certificate it is not finding the lines as "BEGIN RSA CERTIFICATE" so here i am giving you the code , use it directly , it will work fine as i refined it many times ... and one more thing is error string funtion will give you the reason also , so it is human readible message only... pubk = RSA_new(); if(pubk == NULL) printf("error to create new RSA structure \n"); fp = fopen (recevercert, "r"); if (fp == NULL){ pri ntf("err "); exit (1); } x509 = PEM_read_X509(fp, NULL, NULL, NULL); fclose (fp); if (x509 == NULL) { printf("error reading the certificate \n"); ERR_print_errors_fp (stderr); exit (1); } pub=X509_get_pubkey(x509); if (pub == NULL) { printf("error reading the public key \n"); ERR_print_errors_fp (stderr); exit (1); } pubk = EVP_PKEY_get1_RSA(pub); On 4/13/08, Th�nh Trung Nguyễn <[EMAIL PROTECTED]> wrote: Hi ! I used PEM_write_RSAPrivateKey() to write private key to a pem file. Then I used PEM_read_RSAPublicKey() to read public key from that file, but it returned an error. The ERR_error_string() only return message like : error:0906D06C:lib(9):func(109):reason(108) So can any one tell me can i use PEM_read_RSAPublicKey() to load public key from a private key ? And are the any way to get human understandable error message ? Thanks ! trungnt __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -- --Best Regards Shankar trungnt __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com