2013-04-30 96 views
1

我創建mykey.pem使用命令無法讀取的.pem文件私有密鑰在C

"openssl genrsa -out mykey.pem 1024"

,然後我單獨使用公鑰命令

'openssl rsa -in key.pem -pubout -out pubkey.pem'

我讀私鑰使用功能,

PEM_read_RSAPrivateKey(fp,NULL,NULL,NULL) 

但我無法檢索私鑰。

我是否必須擺脫「開始RSA私鑰」和「結束RSA私鑰」之類的標頭? //我試過但沒有工作

我是否需要將任何其他值發送到PEM_read_RSAPrivateKey函數?

或使用其他一些函數來檢索私鑰?

+0

http://stackoverflow.com/questions/13659613/reading-rsa-keys-from -pem-file-to-rsa-structure-in-c根據此線程,我不必將任何其他參數發送到PEM_read_RSAPrivateKey() – Andrew 2013-04-30 23:17:19

回答

0

您不需要擺脫文件中的標題。但是,如果文件受密碼保護,則需要將密碼傳遞到函數PEM_read_RSAPrivateKey。

您還可以看到PEM_read_PrivateKey。其他功能列表here

如果fp指向一個帶有PEM形式的RSA私鑰並且沒有任何密碼的文件,則它應該成功。

2

如果你仍然無法檢索使用私鑰

PEM_read_RSAPrivateKey() 

甚至提供了密碼後,一個原因可能是你沒有初始化OpenSSL庫正常,嘗試添加

OpenSSL_add_all_algorithms(); 
OpenSSL_add_all_ciphers(); 
OpenSSL_add_all_digests(); 

打電話之前

PEM_read_RSAPrivateKey() 
相關問題