Mac生成RSA公鑰和私鑰

2022-08-24 09:06:11 字數 1792 閱讀 7334

mac上自帶了openssl工具,所以我們直接開啟terminal終端輸入openssl就可以開始生成了。

1、新建乙個資料夾作為存放rsa秘鑰的路徑

2、在終端cd到這個目錄下,輸入openssl就開啟了就可以看到openssl命令了(如下圖)

3、按照支付寶的教程輸入第一行命令:「genrsa -out rsa_private_key.pem 1024」生成私鑰(如下圖)

4、輸入第二行命令:「pkcs8 -topk8 -inform pem -in rsa_private_key.pem -outform pem -nocrypt」回車,可以看到pkcs8格式的私鑰(如下圖)

5、生成rsa公鑰輸入命令「rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem」並回車就可以看到生成結果(如下圖)

6、開啟儲存資料夾可以看到對應的公鑰和私鑰

用文字編輯器開啟私鑰將內容貼上到支付寶sdk的私鑰中就可以了。

原因:

真機除錯ios支付寶功能gdb出現 rsa_private read error : private key is null提示

除錯ios 支付寶sdk的時候,執行demo,把

partner(合作商戶 id)

seller(賬戶 id)

rsa public key(支付寶公鑰)

rsa private key(商戶私鑰)

都放到plist檔案了,執行的時候,報錯 rsa_private read error : private key isnull

我確定的是rsa private key肯定是有的,除錯了下

在bio_private= bio_new(bio_s_file());

bio_read_filename(bio_private,private_key_file_path);

rsa_private= pem_read_bio_rsaprivatekey(bio_private, null, null,"");    

if(rsa_private != nil) {

這裡,rsa_private 返回空, private_key_file_path 這些值都是有的

解決方法:

將私鑰轉成pkcs8替換一下原私鑰即可

1、生成私鑰pem,  執行命令openssl genrsa -out rsa_private_key.pem 1024

2、生成公鑰,執行命令openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

3、將rsa私鑰轉換成pkcs8格式,命令執行openssl pkcs8 -topk8 -inform pem -in rsa_private_key.pem -outform pem -nocrypt php服務端語言讀取私鑰不需要pkcs8轉換。

**:

RSA公鑰私鑰生成

公私鑰生成 1.openssl genrsa out rsa private key 2048.pem 2048 生成rsa私鑰,以x509編碼,指定生成的金鑰的位數 2048 注 該步驟生成的私鑰只為供第二步使用,並無實際用處 2.openssl pkcs8 topk8 in rsa privat...

生成rsa私鑰公鑰

一 centos生成rsa私鑰公鑰 1 生成私鑰 openssl genrsa out rsa private.pem 1024 2 生成公鑰 openssl rsa in rsa private.pem pubout out rsa public key.pem 二 windows生成rsa私鑰公...

RSA 公鑰和私鑰

首先明確一點,公鑰和私鑰是成對出現的。乙個負責加密,另乙個負責解密。公開的就是公鑰,自己留著的就是私鑰。所以不管加密還是解密金鑰都是可以是公鑰或者私鑰的。所以如果別人發東西給我,我就需要把加密金鑰給別人,解密金鑰自己藏著,這樣就是公鑰加密,私鑰解密。如果我想讓別人確認我的身份,我就需要把解密金鑰給別...