Hi shankar,
Thanks you for your answer !

You said " we can not get public key from a private key ".
Then you said "So PEM_read_RSAPublicKey() or PEM_read_RSA_PUBKEY() can be used 
to load public key from a private key"

I'm being confused. Did you mean we those 2 functions can not be use to load 
public key from a private key ?

In fact, i don't try to get public key from private key, but may be the users 
will. So I want to have a right answer for that. I'm still new with 
cryptography and this library so I don't know if I'm right or wrong.

shankar ks <[EMAIL PROTECTED]> wrote: Hi Trung,
  
 One thing I will conform you is " we can not get public key from a private key 
". I do not remember where i studied , but it is true.
 So do not try to get a public key from private key.
 And I have mistakenly typed as BEGIN RSA CERTIFICATE , as you told it is BEGIN 
RSA PUBLIC KEY only.
  
 So PEM_read_RSAPublicKey() or PEM_read_RSA_PUBKEY() can be used to load public 
key from a private key
  
 The main concept (and also the general concept )in my program ( or any other 
programs )is we have to load public key from the certificate only . 
 In the certificte if the public key does not have header like  BEGIN RSA 
PUBLIC KEY , then these functions wont work . so I have used other procedure to 
get the RSA public key ..
  
 if you still have doubts , mail me ...
  
 --- Shankar
  
 

 
 On 4/13/08, Thành Trung Nguy&#7877;n <[EMAIL PROTECTED]> wrote: 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&#7877;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 
 




-- 
--Best Regards
Shankar  


trungnt
 __________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Reply via email to