1. 程式人生 > >RSA公私鑰生成和RSA證書建立”利器”

RSA公私鑰生成和RSA證書建立”利器”

RSA

一.建立pkcs8格式的RSA私鑰和和公鑰

步驟如下:

1.生成 RSA 私鑰
openssl genRSA -out RSAprivatekey.pem 1024

2.生成對應的公鑰
openssl RSA -in RSAprivatekey.pem -pubout -out RSApublickey.pem

3.將 RSA 私鑰轉換成 PKCS8 格式,
openssl pkcs8 -topk8 -inform PEM -in RSAprivatekey.pem -outform PEM -nocrypt -out RSAprivatepkcs8.pem

4.生成的RSAprivatepkcs8.pem/RSApublickey.pem 需要提取key檔案部分並且將key合併成一行生成新的公鑰和私鑰, 這對金鑰就可以用了.即生成了字尾名為pem格式的Rsa金鑰.

$ cat merge.pyimport sys fname = sys.argv[1] f=open(fname) total=for l in f.readlines():    if l.startswith(‘—-‘):            continue    total = total + l.strip() print(total)

二.建立pkcs12格式的RSA證書

今天生成pkcs12格式的RSA金鑰老出問題,在把公鑰和私鑰合併生成.p12證書的時候,一直出錯提示

unable to load certificates, 後來重新找生成2048 bit的就沒有問題了,之前生成的都是1024 bit的.生成過程很

簡單.

具體步驟如下:

1.執行以下OpenSSL命令生成私鑰和公鑰證書(執行以下OpenSSL命令生成私鑰和公共證書)

(certificate.pem為公鑰,key.pem為私鑰)

openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem

2.檢視自己建立的公鑰證書

openssl x509 -text -noout –in certificate.pem

3.合併公鑰和私鑰生成PKCS 12證書:

openssl pkcs12 -inkey key.pem -in certificate

.pem -export -out certificate.p12

4.校驗PKCS 12證書密碼

openssl pkcs12 -in certificate.p12 -noout –info

到此PKCS 12證書檔案就生成好了,直接在windows下雙擊輸入密碼進行匯入後,就可以在愛IE瀏覽器下的證書下面看見了.例如:

windows

三.從pkcs12RSA證書獲取RSA私鑰和和公鑰

1.獲取pem字尾公鑰:

openssl pkcs12 -in yourP12File  -clcerts -nokeys -out publicCert.pem

2.先把p12證書安裝匯入到IE瀏覽器下,再從IE中匯出公鑰.支援的格式有CER,P7B格式.

RSA

獲取pem字尾私鑰:

openssl pkcs12 -in yourP12File  -nocerts -out privateKey.pem

文章來自微信公眾號:Python運維圈