[Mac/Linux] 使用 openssl 指令,將有密碼保護的私鑰 PEM 解密

[Mac/Linux] 使用 openssl 指令,將有密碼保護的私鑰 PEM 解密

最近拿到一把 PEM 格式的私鑰 (private key),長的像下面這樣,

注意它寫的是 ENCRYPTED PRIVATE KEY:

-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFHzBJBgkqhkiG9w0BBQ0wPDAbBgkqhkiG9w0BBQwwDgQIoylZ3Iz8++4CAggA
......
-----END ENCRYPTED PRIVATE KEY-----

 

這種私鑰是有被密碼保護的,要拿給其他程式使用的話,

通常得要解密才行 (像是給 MySQL 使用)…

那要怎麼解密呢?

 

找了一下,原來用 openssl 一個很簡單的指令就行了~

下面的例子裡 server_encrypted.key 是被密碼保護的私鑰,

指定解密後的私鑰名稱是 server.key,

執行過程需要輸入原本私鑰的密碼:

$ openssl rsa -in server_encrypted.key -out server.key

Enter pass phrase for server_encrypted.key:
writing RSA key

 

解完的私鑰 (本例中的 server.key) 內容就會像這樣了,

變成是 RSA PRIVATE KEY,原本的 ENCRYPTED 字眼也不見囉:

-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAuINVetZpViaZHPLEREHI25n7KwNwQ7pf/kGWgAMD9mbDieKD
......
-----END RSA PRIVATE KEY-----

 

這個解密後的私鑰就可以拿去給其他程式使用啦,

不過因為沒有了密碼保護,要更注意它的安全囉~

 

參考資料:encryption – Decrypt PEM containing key and certificate – Super User

(本頁面已被瀏覽過 550 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料