2012-07-13 149 views
0

我試圖使用RSA使用OpenSSL加密某些內容。PEM_read_RSA_PUBKEY返回並中斷應用程序

RSA *rsaPubKey = RSA_new(); 
FILE *file; 
file = fopen("PubKey.pem","r"); 

if(file){ 
    rsaPubKey = PEM_read_RSA_PUBKEY(file, &rsaPubKey ,NULL,NULL); 
} 
.......... //some stuff 
return 0 

執行PEM_read_RSA_PUBKEY之後該應用被終止沒有任何錯誤。我不知道什麼是錯的!

+0

嘗試分配給rsaPubKey 0而不是RSA_new()。 – ForEveR 2012-07-14 00:08:53

+0

不行不行! – Abanoub 2012-07-14 00:17:12

+0

您確定該應用在PEM_read_RSA_PUBKEY /之後正確終止嗎? – ForEveR 2012-07-14 01:03:38

回答

0

我用下面的代碼在一箇舊的項目:

BIO *bioPub = BIO_new_file(pubkeyPath, "r"); 
RSA *pubkey = PEM_read_bio_PUBKEY(bioPub, NULL, NULL, NULL); 
/* do some stuff */ 
RSA_free(pubkey); 
BIO_free(bioPub); 

你有沒有試過以下?

FILE *file = fopen("PubKey.pem","r"); 
RSA *rsaPubKey = PEM_read_RSA_PUBKEY(file, NULL, NULL, NULL); 
相關問題