openssl對證書進行格式轉換

2022-06-23 23:33:12 字數 1974 閱讀 3180

各類證書由於儲存的內容不同(如是否包含公鑰/私鑰是否加密儲存/單一證書或多證書等)、採用編 碼不同(der/base64)、標準不同(如pem/pkcs),所以儘管x.509標準規定了證書內容規範,但證書檔案還是五花八門。好在 openssl對這些不同的標準都有著不錯的支援,可以用來進行不同格式證書的轉換。

大體來說,證書轉換要作的工作有這麼幾種

編碼轉換:der<-->base64

不同證書標準的轉換:pkcs系列<-->pem/cer

私鑰的增/減/提取/轉換

...

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

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

pem--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

如無需加密pem中私鑰,可以新增選項-nodes;

如無需匯出私鑰,可以新增選項-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開始支援)

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

pvk格式更多參考:

使用openssl製作證書和進行CMS格式數字簽名

openssl中有如下字尾名的檔案 key格式 私有的金鑰 csr格式 證書簽名請求 證書請求檔案 含有公鑰資訊,certificate signing request的縮寫 crt格式 證書檔案,certificate的縮寫 crl格式 證書吊銷列表,certificate revocation ...

openssl 進行證書格式的轉換

各類證書由於儲存的內容不同 如是否包含公鑰 私鑰是否加密儲存 單一證書或多證書等 採用編碼不同 der base64 標準不同 如pem pkcs 所以儘管x.509標準規定了證書內容規範,但證書檔案還是五花八門。好在openssl對這些不同的標準都有著不錯的支援,可以用來進行不同格式證書的轉換。大...

針對證書的攻擊方法

一 在公鑰註冊之前攻擊 證書是認證機構對公鑰及其持有者的資訊加上數字簽名的產物,由於加上數字簽名之後會非常難以攻擊,因此我們可以考慮對施加數字簽名之前的公鑰進行攻擊。假設bob生成了金鑰對,並準備在認證機構註冊自己的公鑰。在認證機構進行數字簽名之前,主動攻擊者將公鑰替換成了自己的。這樣一來,認證機構...