以前對(duì)這一塊就不太了解,,今天終于為此加班了,但還是要記錄一下,,以免再次加班:
ssl分類:
pkcs轉(zhuǎn)為linux下nginx PEM可識(shí)別的方式: openssl>openssl pkcs12 -in mycert.pfx -out nginx.pem -nodes openssl>openssl pkcs12 -in mycert.pfx -nocerts -nodes -out nging.key debug ssl: openssl s_client -debug -connect www.thedomaintocheck.com:443 (原文:http://steveliles./android_ssl_certificate_not_trusted.html) DEBUG時(shí)出現(xiàn)下面情況,可認(rèn)為成功,,注意是一環(huán)扣一環(huán):
證書主要的文件類型和協(xié)議有: PEM,、DER、PFX,、JKS,、KDB、CER,、KEY,、CSR、CRT,、CRL ,、OCSP、SCEP等,。 PEM – Openssl使用 PEM(Privacy Enhanced Mail)格式來存放各種信息,它是 openssl 默認(rèn)采用的信息存放方式,。Openssl 中的 PEM 文件一般包含如下信息:
DER – 辨別編碼規(guī)則 (DER) 可包含所有私鑰,、公鑰和證書。它是大多數(shù)瀏覽器的缺省格式,,并按 ASN1 DER 格式存儲(chǔ),。它是無報(bào)頭的 - PEM 是用文本報(bào)頭包圍的 DER。
OCSP – 在線證書狀態(tài)協(xié)議(OCSP,Online Certificate Status Protocol,rfc2560)用于實(shí)時(shí)表明證書狀態(tài),。OCSP 客戶端通過查詢 OCSP 服務(wù)來確定一個(gè)證書的狀態(tài),可以提供給使用者一個(gè)或多個(gè)數(shù)字證書的有效性資料,,它建立一個(gè)可實(shí)時(shí)響應(yīng)的機(jī)制,讓用戶可以實(shí)時(shí)確認(rèn)每一張證書的有效性,,解決由CRL引發(fā)的安全問題,。。OCSP 可以通過 HTTP協(xié)議來實(shí)現(xiàn),。rfc2560 定義了 OCSP 客戶端和服務(wù)端的消息格式,。
CER - 一般指使用DER格式的證書,。 CRT - 證書文件,。可以是PEM格式,。 KEY - 一般指PEM格式的私鑰文件,。 CRL - 證書吊銷列表 (Certification Revocation List) 是一種包含撤銷的證書列表的簽名數(shù)據(jù)結(jié)構(gòu)。CRL 是證書撤銷狀態(tài)的公布形式,CRL 就像信用卡的黑名單,用于公布某些數(shù)字證書不再有效,。CRL 是一種離線的證書狀態(tài)信息,。它以一定的周期進(jìn)行更新。CRL 可以分為完全 CRL和增量 CRL,。在完全 CRL 中包含了所有的被撤銷證書信息,增量 CRL 由一系列的 CRL 來表明被撤銷的證書信息,它每次發(fā)布的 CRL 是對(duì)前面發(fā)布 CRL 的增量擴(kuò)充,。基本的 CRL 信息有:被撤銷證書序列號(hào),、撤銷時(shí)間,、撤銷原因、簽名者以及 CRL 簽名等信息,?;?CRL 的驗(yàn)證是一種不嚴(yán)格的證書認(rèn)證。CRL 能證明在 CRL 中被撤銷的證書是無效的,。但是,它不能給出不在 CRL 中的證書的狀態(tài),。如果執(zhí)行嚴(yán)格的認(rèn)證,需要采用在線方式進(jìn)行認(rèn)證,即 OCSP 認(rèn)證。一般是由CA簽名的一組電子文檔,,包括了被廢除證書的唯一標(biāo)識(shí)(證書序列號(hào)),,CRL用來列出已經(jīng)過期或廢除的數(shù)字證書,。它每隔一段時(shí)間就會(huì)更新,因此必須定期下載該清單,,才會(huì)取得最新信息,。 SCEP - 簡(jiǎn)單證書注冊(cè)協(xié)議?;谖募淖C書登記方式需要從您的本地計(jì)算機(jī)將文本文件復(fù)制和粘貼到證書發(fā)布中心,,和從證書發(fā)布中心復(fù)制和粘貼到您的本地計(jì)算機(jī)。 SCEP可以自動(dòng)處理這個(gè)過程但是CRLs仍然需要手工的在本地計(jì)算機(jī)和CA發(fā)布中心之間進(jìn)行復(fù)制和粘貼,。 PKCS7 – 加密消息語(yǔ)法(pkcs7),是各種消息存放的格式標(biāo)準(zhǔn),。這些消息包括:數(shù)據(jù)、簽名數(shù)據(jù),、數(shù)字信封,、簽名數(shù)字信封、摘要數(shù)據(jù)和加密數(shù)據(jù),。 PKCS12 – pkcs12 (個(gè)人數(shù)字證書標(biāo)準(zhǔn))用于存放用戶證書,、crl、用戶私鑰以及證書鏈,。pkcs12 中的私鑰是加密存放的,。 相互轉(zhuǎn)換:
其它:參考:http://qingwang.blog.51cto.com/505009/125457 一 用openssl創(chuàng)建CA證書的RSA密鑰(PEM格式):
openssl genrsa -des3 -out ca.key 1024 二用openssl創(chuàng)建CA證書(PEM格式,假如有效期為一年):
openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config openssl.cnf openssl是可以生成DER格式的CA證書的,最好用IE將PEM格式的CA證書轉(zhuǎn)換成DER格式的CA證書,。 三 x509到pfx
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt 四 PEM格式的ca.key轉(zhuǎn)換為Microsoft可以識(shí)別的pvk格式,。 pvk -in ca.key -out ca.pvk -nocrypt -topvk 五 PKCS#12 到 PEM 的轉(zhuǎn)換 openssl pkcs12 -nocerts -nodes -in cert.p12 -out private.pem 驗(yàn)證 openssl pkcs12 -clcerts -nokeys -in cert.p12 -out cert.pem 六 從 PFX 格式文件中提取私鑰格式文件 (.key) openssl pkcs12 -in mycert.pfx -nocerts -nodes -out mycert.key 七 轉(zhuǎn)換 pem 到到 spc openssl crl2pkcs7 -nocrl -certfile venus.pem -outform DER -out venus.spc 用 -outform -inform 指定 DER 還是 PAM 格式。例如: openssl x509 -in Cert.pem -inform PEM -out cert.der -outform DER 八 PEM 到 PKCS#12 的轉(zhuǎn)換,, openssl pkcs12 -export -in Cert.pem -out Cert.p12 -inkey key.pem |
|