『壹』 如何從pem格式私鑰文件中獲取公鑰
Linux 工具通使來用 base64 編碼文本格式相關用自綴:
* 證書:.crt, .pem
* 私鑰:.key
* 證書請求:.csr
.cer 像二進制證書證書 key 放同文件邊候擴展名通叫 .pemJava keystore 都二進制像自格式
其實類 UNIX 系統關注文件名綴程序並證書、密鑰都明顯標識所相關軟體( openssl)處理管用擴展名亂用擴展名自識別便桌面環境能擴展名與默認操作、圖標關聯起
知道文件啥使用 file 命令識別試試經驗直接拿文本編輯器打看看
-
『貳』 openssl pem證書 轉換為p12類型證書
我找到的一個方法是 :生成 ->生成csr->生成crt->生成der->生成p12
以下是那個博客的方法:
生成強度是 1024 的 RSA 私鑰
$ openssl genrsa -out private.pem 1024
執行以代碼生成一個私鑰,Pem文件,其實Pem文件就是一般的文本格式~看下圖~
這是文件:
選擇一個文本編輯器打開次文件可以看到其就是一個普通的文本:
-----BEGIN RSA PRIVATE KEY-----
/+
1NgL6SfO/UAhKL6rAwTk9t8/
+MYe7PwIDAQAB
+RV0qqw8ye7BN
+ssaP3SGAEug3tY2ojSYixmB
+
4y+E2YUqx/x6XPohlJUQoZBJQ3Zt0RQ+
/KiamXURwAUwGGU
aVy9o1akS48C42gsF+
RnJqV7xnabkASHjqEVJe/
4cZhpiIy7HoVyHa/ vklF
XWxEJe//KTXe/6rBjmoS
bxoSEpKNHpW6dgL/6S6WQuB8j3tNUUNj5O99cU6DLsM=
-----END RSA PRIVATE KEY-----
接著跟著筆者一起執行下面的操作吧~
創建證書請求
$ openssl req -new -key private.pem -out rsacert.csr
這時候控制條要求輸入以下一些個人信息~那就跟著提示來吧~
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:beijing
Locality Name (eg, city) []:beijing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Erma
Organizational Unit Name (eg, section) []:com
Common Name (e.g. server FQDN or YOUR name) []:Erma
Email Address []:[email protected]
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
這時候生成了一個csr文件
生成證書並且簽名,有效期10年
$ openssl x509 -req -days 3650 -in rsacert.csr -signkey private.pem -out rsacert.crt
轉換格式-將 PEM 格式文件轉換成 DER 格式
$ openssl x509 -outform der -in rsacert.crt -out rsacert.der
導出P12文件
$ openssl pkcs12 -export -out p.p12 -inkey private.pem -in rsacert.crt
最後生成了兩個我們要用的文件,一個p12文件和一個der文件,der文件是公鑰,p12文件是私鑰。
『叄』 老師你好,在ssl證書中,cer是公鑰證書,key是私鑰證書,crt是證書鏈對嗎
一、SSL證書文件
如圖所示,就是一些SSL證書文件。上圖帶有root CA 字樣的證書文件就是根證書, 然後帶intermediate ca 字樣的就是中間證書文件, 最後一個 ssl servercertificate 字樣的證書即為證書文件。
了解認識SSL證書文件,才能更好的去安裝SSL證書。雖然大部分時候直接安裝證書文件,瀏覽器也會顯示安全,但是由於一些瀏覽器會自動補齊證書鏈,但是證書鏈缺失的話,一些手機端或者部分瀏覽器可能會報不安全的提醒,所以在安裝的時候建議安裝完整的證書文件,補齊證書鏈。
二、SSL證書格式
在SSL證書源文件中你會發現有很多格式。不同的web伺服器對於證書的格式是有要求的,接下來也帶大家了解下不同格式的證書文件。
PEM:- Privacy Enhanced Mail,打開看文本格式,以」—–BEGIN…」開頭, 「—–END…」結尾,內容是BASE64編碼.上述一般證書文件 ,中間證書和根證書,證書文件很多都是pem格式的。Apache和NIgnix伺服器偏向於使用這種編碼格式.
DER:這種格式也是常見的證書格式,跟pem類似,中間證書和根證書,證書文件很多都是DER的,Java和Windows伺服器偏向於使用這種編碼格式。
JKS :jks是Java密鑰庫(KeyStore)比較常見的一種格式。一般可用通過cer 或者pem 格式的證書以及私鑰的進行轉化為jks格式,有密碼保護。所以它是帶有私鑰的證書文件,一般用戶tomcat環境的安裝
PFX:pfx格式的證書 也是由cer 或者pem格式的證書文件以及私鑰轉化而來,所以該證書文件也是帶有私鑰的證書文件,一般用於iis 環境的證書安裝。
『肆』 證書.PFX , .cer或crt , .key , .jks 通過什麼指令進行互相轉換
常見證書格式及相互轉換
PKCS 全稱是 Public-Key Cryptography Standards ,是由 RSA 實驗室與其它安全系統開發商為促進公鑰密碼的發展而制訂的一系列標准,PKCS 目前共發布過 15 個標准。 常用的有:
PKCS#7 Cryptographic Message Syntax Standard
PKCS#10 Certification Request Standard
PKCS#12 Personal Information Exchange Syntax Standard
X.509是常見通用的證書格式。所有的證書都符合為Public Key Infrastructure (PKI) 制定的 ITU-T X509 國際標准。
PKCS#7 常用的後綴是: .P7B .P7C .SPC
PKCS#12 常用的後綴有: .P12 .PFX
X.509 DER 編碼(ASCII)的後綴是: .DER .CER .CRT
X.509 PAM 編碼(Base64)的後綴是: .PEM .CER .CRT
.cer/.crt是用於存放證書,它是2進制形式存放的,不含私鑰。
.pem跟crt/cer的區別是它以Ascii來表示。
pfx/p12用於存放個人證書/私鑰,他通常包含保護密碼,2進制方式
p10是證書請求
p7r是CA對證書請求的回復,只用於導入
p7b以樹狀展示證書鏈(certificate chain),同時也支持單個證書,不含私鑰。
—————-
小美註:
der,cer文件一般是二進制格式的,只放證書,不含私鑰
crt文件可能是二進制的,也可能是文本格式的,應該以文本格式居多,功能同der/cer
pem文件一般是文本格式的,可以放證書或者私鑰,或者兩者都有
pem如果只含私鑰的話,一般用.key擴展名,而且可以有密碼保護
pfx,p12文件是二進制格式,同時含私鑰和證書,通常有保護密碼
怎麼判斷是文本格式還是二進制?用記事本打開,如果是規則的數字字母,如
—–BEGIN CERTIFICATE—–
//a3VIcDjANBgkqhkiG9w0BAQUFADBy
—–END CERTIFICATE—–
就是文本的,上面的BEGIN CERTIFICATE,說明這是一個證書
如果是—–BEGIN RSA PRIVATE KEY—–,說明這是一個私鑰
文本格式的私鑰,也可能有密碼保護
文本格式怎麼變成二進制? 從程序角度來說,去掉前後的—-行,剩下的去掉回車,用base64解碼,就得到二進制了
不過一般都用命令行openssl完成這個工作
—————
一 用openssl創建CA證書的RSA密鑰(PEM格式):
openssl genrsa -des3 -out ca.key 1024
二用openssl創建CA證書(PEM格式,假如有效期為一年):
openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config openssl.cnf
openssl是可以生成DER格式的CA證書的,最好用IE將PEM格式的CA證書轉換成DER格式的CA證書。
三 x509到pfx
pkcs12 -export –in keys/client1.crt -inkey keys/client1.key -out keys/client1.pfx
四 PEM格式的ca.key轉換為Microsoft可以識別的pvk格式。
pvk -in ca.key -out ca.pvk -nocrypt -topvk
五 PKCS#12 到 PEM 的轉換
openssl pkcs12 -nocerts -nodes -in cert.p12 -out privatekey.pem
openssl pkcs12 -clcerts -nokeys -in cert.p12 -out cert.pem
openssl pkcs12 -nodes -in ./cert.p12 -out ./cert_key.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
用 -outform -inform 指定 DER 還是 PAM 格式。例如:
openssl x509 -in Cert.pem -inform PEM -out cert.der -outform DER
八 PEM 到 PKCS#12 的轉換,
openssl pkcs12 -export -in Cert.pem -out Cert.p12 -inkey key.pem
九 cer 到 pem
openssl x509 -in aps_developer.cer -inform DER -out aps_developer.pem -outform PEM
十 der 到 pem
der和cer是一樣的,如果openssl x509不能load證書,報如下錯:
unable to load certificate
就說明不是一個證書,用下面的命令試一下,因為der也可能是一個csr轉換格式後的文件:
openssl req -inform der -outform pem -in ./customer.der -out ./customer.csr
十一、密鑰去掉加密(使用時不用手動輸入密碼)
openssl rsa -in customerPrivateKey.pem -out ./customerPrivateKey_unenrypted.pem
十二、合成證書和密鑰
cat ./customerPrivateKey_unenrypted.pem ./mdm_push_cert.pem > merger2.pem
『伍』 請教如何將cer格式證書轉換成pem文件
crt和cer是一樣的格式來合成cert,源都是證書公鑰文件 ;key是私鑰,key轉成cer只需要用記事本打開,復制到cer格式的裡面去就行,但是會失去key的作用——沃通(wosign)專業的數字證書CA機構
『陸』 如何將.crt的ssl證書文件轉換成.pem格式
代碼如下:抄 cat your_server.crt .crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > your_server.pem rt和cer是一襲樣的格式合成cert,都是證書公鑰文件 ;
『柒』 如何生成CA證書
創建根證書密鑰文件(自己做CA)root.key:
創建根證書的申請文件root.csr:
創建一個自當前日期起為期十年的根證書root.crt:
創建伺服器證書密鑰server.key:
創建伺服器證書的申請文件server.csr
創建自當前日期起有效期為期兩年的伺服器證書server.crt
創建客戶端證書密鑰文件client.key
創建客戶端證書的申請文件client.csr
創建一個自當前日期起有效期為兩年的客戶端證書client.crt
將客戶端證書文件client.crt和客戶端證書密鑰文件client.key合並成客戶端證書安裝包client.pfx
保存生成的文件備用,其中server.crt和server.key是配置單向SSL時需要使用的證書文件,client.crt是配置雙向SSL時需要使用的證書文件,client.pfx是配置雙向SSL時需要客戶端安裝的證書文件 .crt文件和.key可以合到一個文件裡面,把2個文件合成了一個.pem文件(直接拷貝過去就行了)
『捌』 後綴名cer和crt的不同之處,為什麼申請證明書之後要把後綴名從cer改為crt
.CRT = 擴展名CRT用於證書。證書可以是DER編碼,也可以是PEM編碼。擴展名CER和CRT幾乎是同義詞。內這種情容況在各種unix/linux系統中很常見。
CER = CRT證書的微軟型式。可以用微軟的工具把CRT文件轉換為CER文件(CRT和CER必須是相同編碼的,DER或者PEM)。擴展名為CER的文件可以被IE識別並作為命令調用微軟的cryptoAPI(具體點就是rudll32.exe
(8)pem證書crt擴展閱讀
Windows中的證書擴展名有好幾種,比如.cer和.crt。通常而言,.cer文件是二進制數據,而.crt文件包含的是ASCII數據。
cer文件包含依據DER(Distinguished Encoding Rules)規則編碼的證書數據,這是x.690標准中指定的編碼格式。
X.509是一個最基本的公鑰格式標准,裡面規定了證書需要包含的各種信息。通常我們提到的證書,都是這個格式的,裡麵包含了公鑰、發布者的數字簽名、有效期等內容。要強調的是,它只裡面是不包含私鑰的。相關的格式有:DER、PEM、CER、CRT。
『玖』 ssl證書 只有crt文件 但是使用時需要key或pem文件 請問如何轉換
crt和cer是一樣的格式合成cert,都是證書公鑰文件 ;key是私鑰,key轉成cer只需要用記事本打開,專復制到屬cer格式的裡面去就行,但是會失去key的作用——沃通(wosign)專業的數字證書CA機構
『拾』 SSL中,公鑰,私鑰,證書的後綴名都是些啥
Linux 下的工具們通常使用 base64 編碼的文本格式,相關常用後綴如下:
* 證書:.crt, .pem
* 私鑰:.key
* 證書請求:.csr
.cer 好像是回二進制的證書。當然你也答可以把證書和 key 放到同一個文件里邊。這時候擴展名通常叫 .pem。Java 的 keystore 什麼的都是二進制的,好像是自有格式。
其實在類 UNIX 系統上,關注文件名後綴的程序並不多的。而證書、密鑰都是有明顯的標識的,所以相關軟體(如 openssl)可以處理,而不管你用的什麼擴展名。當然亂用擴展名自己識別不便,桌面環境也不能將擴展名與默認操作、圖標關聯起來。
如果不知道一個文件是個啥,可以使用 file 命令識別試試。有經驗的也可以直接拿文本編輯器打開看看。