Mac OSX 使用OpenSSL生成RSA公匙、私匙(pem)與DER文件

說明:RSA為一種加密算法,生成的文件格式有兩種,一種是PEM格式,另一種是DER格式,在Mac OSX 里面,pem格式是不能打開的,因此我們生成PEM文件之后,需要生成DER格式。需要按著下面的步驟走。

.DER=擴展名DER用于二進制DER編碼的證書。這些證書也可以用CER或者CRT作為擴展名。比較合適的說法是“我有一個DER編碼的證書”,而不是“我有一個DER證書”。

.PEM=擴展名PEM用于ASCII(Base64)編碼的各種X.509 v3 證書。文件開始由一行"—–BEGIN …“開始

1.mac 自帶openssl環境,不用安裝,直接使用openssl就可以。

2.打開終端。

3.輸入命令行:baomatoMac-mini:~ lixiangyang$?? openssl(打開openssl環境)

4.繼續下一步命令行:OpenSSL>?? genrsa -out rsa_private_key.pem 1024 (命令生成私匙) ??? 下面是輸出結果:?

Generating RSA private key, 1024 bit long modulus

........................................++++++

..++++++

e is 65537 (0x10001)

5.下一步:OpenSSL> pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt(命令把RSA私鑰轉換成PKCS8格式,密碼為空就行)注意:轉化之后生成的pem格式的文件(文本編譯器打開的字符串),是pkcs8文件。下面的字符串是原始 的私鑰key。

下面是輸出結果:

Enter Encryption Password:(密碼 )

Verifying - Enter Encryption Password:(再一次確認密碼)

-----BEGIN ENCRYPTED PRIVATE KEY-----

MIICoTAbBgkqhkiG9w0BBQMwDgQInAB4b4BNL0ECAggABIICgF27qIz6cNwxy8Jg

JhWUK8kIqHLwZRznHTIBCZlu9eZHa1a0+p7FWmufYgfZz9Kz3GeK5cxILrxmwci1

TTP6Qthak7lWJLO5gJH47HBd50OeXdZWt6xD6Vp+YzyaztpmZ8SLMi5aGKw1CBVc

Dw1oJzD4BIk9LBYo9kqvZODp4waytDjaZDhnN65t8+R4TbnMK7yVsT+fTGCMkQmu

cr34jGOhoUYZBcwtxWwNbRptftnUwgdaV5jrKnQ5rJsxU3Bx+3SuaRZS7ef0Z9yO

ADpW6NACI3R9+6DT3k66qTfbz9F/tLVO6flZ8g9TY2zTJKtGYmb1N/ll0qAXFh7s

lD2WZhPdYGozICMWi1MvT55RI3hlosilQW8Ff5IXNmzFs7RgZlvfVRzVlryPXu5I

QWKnNUamRN88grHSBuXYesp/cwze0D9ma8LavoVmjaKVT85SU3J9PbPoSjbTc/nP

f20u0Gsx0bQdeMOswMpWe/AQeGj/MSs59ae93SfvWnQi0ONWeBkrQUD6OskrOJeo

jsmevTmubk191W9WiX/klOyGI/YXjl99qNmQo5wx6fWOfdRQ4/Urw5z9tozAXL5s

hYdUmV+eiNgddM/cdxpDbJtXhSvpq1RXqhBTsMPctCB8EUfG6adJ4ZgjZ8eTA3FF

2btbQ5Fqrw/y5ZFvqYlryKqoPgCa7gtKU8wQHkzDpfGUSX1eXfJQ1HZxywY44YlZ

sWwVNuVwDvnd2ZkZqHjqbyOHXPnORR8fvteaGJazD2VW8DaPMc0xIplN/Prp5VPj

nBnevsF7WDREV4cUVw5I7SsPWOMl0X/OocZOE3IPx364H6DkpYryfVs/rDWgqweK

AphvBEA=

-----END ENCRYPTED PRIVATE KEY-----

6.下一步:OpenSSL>? rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem? (命令生成公匙)

下面是結果:

writing RSA key


配置終端生成圖片:


7.生成? .der 文件

OpenSSL> req -new -out cert.csr -key rsa_private_key.pem(創建證書請求)

下面是輸出結果:

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [AU]:

8.下一步根據提示敲回車,填寫證書的內容:英文模板如下:

中文模板:

9.下一步:

OpenSSL> x509 -req -in cert.csr -out rsa_public_key.der -outform der -signkey rsa_private_key.pem -days 3650(自簽署根證書)

輸出結果:

Signature ok

subject=/C=CN/ST=Hangzhou/L=Zhejiang Provice/O=WDWL/OU=WDWL/CN=WDWL/emailAddress=xxxxxxx@163.com

Getting Private key



10.下一步:OpenSSL>exit ## (關閉OpenSSL)

結果:

baomatoMac-mini:~ lixiangyang$



11.生成的RSA公匙私匙 與 DER 文件:




12.當生成這三個文件的時候,需要在Finder里面搜索,才能找到,并將三個文件拖到桌面上來 ,下面是圖的步驟。



13.驗證證書。直接將rsa_public_key.der 拖到Xcode里面,雙擊打開,就會看到下面的情況。表示成功。


14.通過Mac自帶的? 文本編輯? 打開兩個文件,并且將生成的字符串記錄下來。將公匙傳到支付寶平臺上。


11.參考鏈接:

一》生成RSA官方鏈接: http://www.openssl.org/docs/manmaster/apps/rsa.html

二》生成RSA? pem文件:? http://blog.sina.com.cn/s/blog_6f72ff900102v408.html

三》生成RSA? pem文件:???? http://blog.csdn.net/fenglibing/article/details/8610280

四》生成DER:http://blog.sina.com.cn/s/blog_8589a6890102vitk.html

五》ios下使用rsa算法與php進行加解密通訊:https://blog.yorkgu.me/2011/10/27/rsa-in-ios-using-publick-key-generated-by-openssl/

六》der與pem文件格式的區別:? http://blog.sina.com.cn/s/blog_a9303fd90101jmtx.html

?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容