openssl對rsa金鑰的管理用法

2021-07-09 02:09:46 字數 3159 閱讀 7109

二、然後,通過jdk自帶的keytool工具建立秘鑰對

1.建立rsa金鑰對(公鑰和私鑰)並儲存在keystore檔案中:

keytool -genkeypair -alias "myalias" -keyalg rsa -keystore keystore.jks
2.從keystore檔案中匯出使用x509標準驗證的數字證書,包含公鑰:

keytool -exportcert -alias "myalias" -file cert.cer -keystore keystore.jks
注意:keytool沒有提供從keystore檔案匯出私鑰的工具,需要程式設計實現此功能。

從keystore檔案匯出的證書、金鑰都是der格式,可以使用openssl工具轉換成pem格式。

三、openssl

1.openssl是一套強大的工具集,包含各種加解密演算法,資訊摘要及簽名演算法,金鑰和證書管理等。

2.openssl使用的預設資料格式是pem格式,也支援der格式,可以進行互相轉換。

3.建立私鑰:

openssl genrsa -out private.key
若需要對私鑰加密,可以使用 -des -des3等引數。

4.金鑰管理,格式轉換

使用私鑰建立對應的公鑰

openssl rsa -in private.key -out public.pem -pubout
5.der/cer格式公鑰轉換為pem格式

openssl x509 -inform der -in mycer.cer -out mycer.pem
6.x509命令用於管理x509標準的證書

將der/cer格式證書轉換成pem格式

openssl x509 -in cert.cer -inform der -outform pem -out cert.pem
從證書中匯出公鑰

7.pkcs8,pkcs12命令用於管理私鑰的pkcs編譯碼

將金鑰使用pkcs8加密

openssl pkcs8 -in private.key  -nocrypt -topk8 -out private.p8
將pkcs8金鑰解密

8.pem--der/cer(base64--der編碼的轉換)

openssl x509 -outform der -in mycer.pem -out mycer.der
9.

pem--p7b(pem--pkcs#7)

openssl crl2pkcs7 -nocrl -certfile mycer.cer -out mycer.p7b
10.

pem--pfx(pem--pkcs#12)

openssl pkcs12 -export -out mycer.pfx -inkey privatekey.key -in mycer.crt -certfile mycer.crt
11.

pem--p12(pem--pkcs#12)

openssl pkcs12 -export -out cert.p12 -in cert.pem -inkey key.pem
12.p7b--pem(pkcs#7--pem)

openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
13.

p7b--pfx(pkcs#7--pkcs#12)

openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer

openssl pkcs12 -export -in certificate.cer -inkey privatekey.key -out certificate.pfx -certfile cacert.cer

14.

pfx/p12--pem(pkcs#12--pem)

openssl pkcs12 -in certificate.pfx -out certificate.cer
如無需加密pem中私鑰,可以新增選項-nodes;

如無需匯出私鑰,可以新增選項-nokeys;

15.pem base64--x.509文字格式

openssl x509 -in key.pem -text -out cert.pem
16.

pfx檔案中提取私鑰(.key)

openssl pkcs12 -in mycert.pfx -nocerts -nodes -out mycert.key
17.

pem--spc

openssl crl2pkcs7 -nocrl -certfile venus.pem -outform der -out venus.spc
18.

pem--pvk(openssl 1.x開始支援)

openssl rsa -in mycert.pem -outform pvk -pvk-strong -out mypvk.pvk
19.pem--pvk

pvk轉換器

後通過以下命令完成)

pvk -in ca.key -out ca.pvk -nocrypt -topvk

linux下OpenSSL的RSA金鑰生成

openssl version openssl 1.0.0e.tar.gz 安裝 2 在資料夾下解壓縮,命令 tar xzf openssl openssl 1.0.0e.tar.gz 得到openssl openssl 1.0.0e資料夾 3 進入解壓的目錄 cd openssl 1.0.0e 4...

生成RSA金鑰對

著名的rsa演算法,它通常是先生成一對rsa 金鑰,其中之一是保密金鑰,由使用者儲存 另乙個為公開金鑰,可對外公開,甚至可在網路伺服器中註冊。為提高保密強度,rsa金鑰至少為500位長,一般推薦使用1024位。這就使加密的計算量很大。rsa加密演算法的用處非常廣,比如支付寶的公開api與商戶對接使用...

OpenSSL生成RSA公鑰和金鑰

2.開啟cmd,執行 c openssl win32 bin openssl.exe 進入openssl 3.先生成私鑰,輸入命令 openssl genrsa out private key.pem 2048 按回車鍵,輸出 generating rsa private key,2048 bit ...