溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

發(fā)布時(shí)間:2020-05-23 04:38:45 來(lái)源:網(wǎng)絡(luò) 閱讀:1683 作者:青楓口 欄目:數(shù)據(jù)安全

???????? 各類證書(shū)由于存儲(chǔ)的內(nèi)容不同(如是否包含公鑰/私鑰是否加密存儲(chǔ)/單一證書(shū)或多證書(shū)等)、采用編碼不同(DER/BASE64)、標(biāo)準(zhǔn)不同(如PEM/PKCS),所以盡管X.509標(biāo)準(zhǔn)規(guī)定了證書(shū)內(nèi)容規(guī)范,但證書(shū)文件還是五花八門。

??????????? 在實(shí)際應(yīng)用中經(jīng)常會(huì)要求進(jìn)行證書(shū)格式轉(zhuǎn)化,比如在配置VMware Operation Manager 和Identity Manager等Linux場(chǎng)景下的證書(shū)服務(wù)器時(shí)要求使用的是PEM編碼格式的證書(shū),但是很多人手上只有CER格式的證書(shū)。好在openssl對(duì)這些不同的標(biāo)準(zhǔn)都有著不錯(cuò)的支持,可以用來(lái)進(jìn)行不同格式證書(shū)的轉(zhuǎn)換。本文章將會(huì)以Identity Manager場(chǎng)景下的SSL格式轉(zhuǎn)換為例進(jìn)行演示講解

證書(shū)導(dǎo)出

本環(huán)境中將會(huì)有企業(yè)內(nèi)的CA證書(shū)頒發(fā)機(jī)構(gòu)為其進(jìn)行證書(shū)頒發(fā),所以獲取的證書(shū)格式為Windows易于識(shí)別的Cer或者pfx格式。首先我們將該證書(shū)導(dǎo)出

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

對(duì)于本環(huán)境的Identity Manager需要用到私鑰,故此選擇導(dǎo)出私鑰

注:一般情況下需要用到pem格式的證書(shū)都需要導(dǎo)出和識(shí)別證書(shū)

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

勾選導(dǎo)出私鑰后,文件格式只能選擇pfx

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

設(shè)置密碼

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

選擇導(dǎo)出路徑

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

導(dǎo)出完成

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

同時(shí)我們也要導(dǎo)出企業(yè)的根證書(shū)頒發(fā)機(jī)構(gòu)的證書(shū)進(jìn)行導(dǎo)出

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

根證書(shū)選擇不導(dǎo)出私鑰。注:將根證書(shū)頒發(fā)機(jī)構(gòu)的證書(shū)導(dǎo)出是一件很危險(xiǎn)的事情

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

證書(shū)格式我們選擇“base64編碼”

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

導(dǎo)出完成

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

至此我們已經(jīng)獲得一個(gè)服務(wù)器證書(shū)以及一個(gè)對(duì)應(yīng)的根證書(shū)頒發(fā)機(jī)構(gòu)的證書(shū),接下來(lái)就可以通過(guò)openssl進(jìn)行證書(shū)格式轉(zhuǎn)換。

證書(shū)格式轉(zhuǎn)換

在安裝openssl前,請(qǐng)先在系統(tǒng)中安裝 Microsoft Visual C++ 2008 Redistributable Package (x86)。要下載軟件包,(下載地址:

https://www.microsoft.com/en-us/download/confirmation.aspx?id=29)

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

下載適用于OpenSSL x86 的 Shining Light Productions 安裝程序,,下載網(wǎng)址為 Shining Light Productions。這是 OpenSSL Project 開(kāi)發(fā)的軟件。下載完成后點(diǎn)擊安裝,默認(rèn)情況下其會(huì)安裝在C盤根目錄

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

通過(guò)cmd進(jìn)入安裝目錄的bin目錄

首先將pfx格式轉(zhuǎn)換為pem格式

并通過(guò)以下命令將上述導(dǎo)出的證書(shū)轉(zhuǎn)換成pem格式(不含私鑰)

openssl pkcs12 -in c:\idm.pfx -clcerts -nokeys -out c:\idm.pem

(上述命令就是通過(guò)openssl將idm.pfx這個(gè)pkcs12格式的證書(shū)轉(zhuǎn)換成pem格式,其中-nokeys為指定如無(wú)需導(dǎo)出私鑰,命令中需要根據(jù)自己情況制定具體的證書(shū)位置)

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

接著通過(guò)命令將私鑰也轉(zhuǎn)換成pem格式,并且在轉(zhuǎn)換輸出過(guò)程中要求輸入密碼

openssl pkcs12 -in c:\idm.pfx -nocerts -out c:\idm.key.pem

(-nocerts為控制不轉(zhuǎn)換證書(shū) 只轉(zhuǎn)換私鑰)

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

最后再通過(guò)命令將這個(gè)pem格式的私鑰轉(zhuǎn)換成rsa

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

打開(kāi)C盤 可以看到其已經(jīng)生成一個(gè)pem格式的證書(shū)以及pem格式的私鑰

利用Openssl進(jìn)行SSL證書(shū)格式轉(zhuǎn)換

最后也要將根證書(shū)轉(zhuǎn)換成pem格式

也就是實(shí)現(xiàn)從CER格式轉(zhuǎn)化為PEM的過(guò)程命令如下

openssl.exe x509 -in c:\rootca.cer -out c:\rootca.pem


當(dāng)然openssl除了可以實(shí)現(xiàn)pfx以及Cer向pem格式轉(zhuǎn)換外, 還支持很多其他格式的轉(zhuǎn)換,基本參考如下:

  • PEM--DER/CER(BASE64--DER編碼的轉(zhuǎn)換)

?????? openssl x509 -outform der -in certificate.pem -out certificate.der

  • EM--P7B(PEM--PKCS#7)

?????? openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer

  • PEM--PFX(PEM--PKCS#12)

?????? openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

  • PEM--p12(PEM--PKCS#12)

?????? openssl pkcs12 -export -out Cert.p12 -in Cert.pem -inkey key.pem

  • CER/DER--PEM(編碼DER--BASE64)

?????? openssl x509 -inform der -in certificate.cer -out certificate.pem

  • P7B--PEM(PKCS#7--PEM)

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

  • 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

  • PFX/p12--PEM(PKCS#12--PEM)

?????? openssl pkcs12 -in certificate.pfx -out certificate.cer
如無(wú)需加密pem中私鑰,可以添加選項(xiàng)-nodes;如無(wú)需導(dǎo)出私鑰,可以添加選項(xiàng)-nokeys;

  • PEM BASE64--X.509文本格式

?????? openssl x509 -in Key.pem -text -out Cert.pem

  • PFX文件中提取私鑰(.key)

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

  • PEM--SPC

?????? openssl crl2pkcs7 -nocrl -certfile venus.pem -outform DER -out venus.spc

  • PEM--PVK(openssl 1.x開(kāi)始支持)

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

  • PEM--PVK(對(duì)于openssl 1.x之前的版本,可以下載PVK轉(zhuǎn)換器通過(guò)以下命令完成)

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

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI