openssl的證書格式轉換

openssl的證書格式轉換

證書轉換

PKCS 全稱是 Public-Key Cryptography Standards ,是由 RSA 實驗室與其它安全系統(tǒng)開發(fā)商為促進公鑰密碼的發(fā)展而制訂的一系列標準,PKCS 目前共發(fā)布過 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的區(qū)別是它以Ascii來表示。

pfx/p12用于存放個人證書/私鑰,他通常包含保護密碼,2進制方式

p10是證書請求

p7r是CA對證書請求的回復,只用于導入

p7b以樹狀展示證書鏈(certificate chain),同時也支持單個證書,不含私鑰。

1. CA證書

用openssl創(chuàng)建CA證書的RSA密鑰(PEM格式):

openssl genrsa -des3 -out ca.key 1024

2. 創(chuàng)建CA證書有效期為一年

用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證書轉換成DER格式的CA證書。

3. x509轉換為pfx

openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt

4. PEM格式的ca.key轉換為Microsoft可以識別的pvk格式

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

5. PKCS#12 到 PEM 的轉換

openssl pkcs12 -nocerts -nodes -in cert.p12 -out private.pem? 驗證? openssl pkcs12 -clcerts -nokeys -in cert.p12 -out cert.pem

6. 從 PFX 格式文件中提取私鑰格式文件 (.key)

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

7. 轉換 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

8. PEM 到 PKCS#12 的轉換

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

IIS 證書

cd c:\openssl          ? set OPENSSL_CONF=openssl.cnf          ? openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt

server.key和server.crt文件是Apache的證書文件,生成的server.pfx用于導入IIS

9. How to Convert PFX Certificate to PEM Format for SOAP

$ openssl pkcs12 -in test.pfx -out client.pem? Enter Import Password:? MAC verified OK? Enter PEM pass phrase:? Verifying - Enter PEM pass phrase:

IOS開發(fā) 把cer證書轉為p12證書

在?Mac?OS?上將?iPhone?開發(fā)人員證書轉換為?P12?文件

從?Apple?下載?Apple?iPhone?證書后,將其導出為?P12?證書格式。在?Mac??OS?上執(zhí)行以下操作:

打開鑰匙串訪問應用程序(位于應用程序/實用工具文件夾中)。

如果尚未將該證書添加到鑰匙串,請選擇“文件”>“導入”。然后瀏覽到您從?Apple?獲取的證書文件(.cer?文件)。

在鑰匙串訪問中選擇密鑰類別。

選擇與?iPhone?開發(fā)證書相關聯(lián)的私鑰。

該私鑰由?iPhone?開發(fā)人員識別:與之配對的<名字><姓氏>公共證書。

選擇“文件”>“導出項目”。

以個人信息交換?(.p12)?文件格式保存您的密鑰。

系統(tǒng)將提示您創(chuàng)建一個嘗試在其他計算機上導入此密鑰時需要使用的密碼。

在?Windows?上將?Apple?開發(fā)人員證書轉換為?P12?文件

要使用?Flash?CS5?開發(fā)?iPhone?應用程序,則必須使用?P12?證書文件。基于從?Apple?收到的?Apple?iPhone?開發(fā)人員證書文件生成此證書。

將從?Apple?收到的開發(fā)人員證書文件轉換成?PEM?證書文件。從?OpenSSL?bin?目錄運行以下命令行語句:

openssl?x509?-in?developer_identity.cer?-inform?DER?-out?developer_identity.pem?-outform?PEM

如果您使用的是?Mac?計算機上鑰匙串中的私鑰,則將其轉換成?PEM?密鑰:

openssl?pkcs12?-nocerts?-in?mykey.p12?-out?mykey.pem

現(xiàn)在,您可以基于密鑰和?PEM?版本的?iPhone?開發(fā)人員證書生成有效的?P12?文件:

openssl?pkcs12?-export?-inkey?mykey.key?-in?developer_identity.pem?-out?iphone_dev.p12

如果您使用的是?Mac?OS?鑰匙串中的密鑰,則使用上一步驟中生成的?PEM?版本。否則,請使用以前生成的?OpenSSL?密鑰(位于?Windows?上)。

按步驟來,拿到cer文件后發(fā)覺無法導出p12,有過來人指點下啊

我先到開發(fā)者授權系統(tǒng),進入Certificates頁面后,點擊Distribution標簽。如下圖,下載一個

AppleWWDRCA(Apple World Wide Developer Relations Certification Authority)證書文件到本地,

2:然后到開發(fā)者授權系統(tǒng)證書頁面,點擊Request Certificate,按照我們之前介紹過的流程上傳一個

CSR文件,然后下載一個cer文件,

打開cer文件之后,在鑰匙串里面沒有發(fā)現(xiàn)相應的鑰匙。

也無導出p12的提示

這是怎么回事?誰解決過啊?

雙擊cer文件,鑰匙串里面沒相應的鑰匙??在certificates分欄里面哦,注意找找看。找到key單擊右鍵就又導出p12文件選項

http://blog.csdn.net/wave_1102/article/details/7669152

里面有介紹

謝謝 解決了??我把里面我在我的證書里面,把所有證書都刪除了,然后新建證書請求,然后再申請cer回來安裝后就能導出P12了,不過還是沒明白什么原因,可能跟以前生成的證書有沖突還是怎么滴

將開發(fā)人員證書轉換為 P12 文件

要使用 Flash Professional CS5 開發(fā) iPhone 應用程序,您必須使用 P12 證書文件。基于從 Apple 收到的 Apple iPhone 開發(fā)人員證書文件生成此證書。

在 Mac OS 上將 iPhone 開發(fā)人員證書轉換為 P12 文件

從 Apple 下載 Apple iPhone 證書后,將其導出為 P12 證書格式。在 Mac? OS 上執(zhí)行以下操作:

打開鑰匙串訪問應用程序(位于應用程序/實用工具文件夾中)。

如果尚未將該證書添加到鑰匙串,請選擇“文件”>“導入”。然后瀏覽到您從 Apple 獲取的證書文件(.cer 文件)。

在鑰匙串訪問中選擇密鑰類別。

選擇與 iPhone 開發(fā)證書相關聯(lián)的私鑰。

該私鑰由 iPhone 開發(fā)人員識別:與之配對的<名字><姓氏>公共證書。

選擇“文件”>“導出項目”。

以個人信息交換 (.p12) 文件格式保存您的密鑰。

系統(tǒng)將提示您創(chuàng)建一個嘗試在其他計算機上導入此密鑰時需要使用的密碼。

在 Windows 上將 Apple 開發(fā)人員證書轉換為 P12 文件

要使用 Flash CS5 開發(fā) iPhone 應用程序,則必須使用 P12 證書文件。基于從 Apple 收到的 Apple iPhone 開發(fā)人員證書文件生成此證書。

將從 Apple 收到的開發(fā)人員證書文件轉換成 PEM 證書文件。從 OpenSSL bin 目錄運行以下命令行語句:

openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM

如果您使用的是 Mac 計算機上鑰匙串中的私鑰,則將其轉換成 PEM 密鑰:

openssl pkcs12 -nocerts -in mykey.p12 -out mykey.pem

現(xiàn)在,您可以基于密鑰和 PEM 版本的 iPhone 開發(fā)人員證書生成有效的 P12 文件:

openssl pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12

如果您使用的是 Mac OS 鑰匙串中的密鑰,則使用上一步驟中生成的 PEM 版本。否則,請使用以前生成的 OpenSSL 密鑰(位于 Windows 上)。

This section provides a tutorial example on how to convert a

private key file from the traditional format into PKCS#8 format using

the 'openssl pkcs8' command. Keys can still be encoded with DER or PEM

with or without DES encryption in PKCS#8 format.

Once I have my private key stored in the traditional format,

I can use the "openssl pkcs8" command to convert it into PKCS#8 format.

My plan was to try to do the following:

"openssl pkcs8 -topk8" to convert the key file format to PKCS#8 with PEM encoding, but no encryption.

"openssl pkcs8 -topk8" to convert the key file format to PKCS#8 with DER encoding, but no encryption.

"openssl pkcs8 -topk8" to convert the key file format to PKCS#8 with PEM encoding and encryption.

"openssl pkcs8 -topk8" to convert the key file format to PKCS#8 with DER encoding and encryption.

My command session was recorded as blow:

>rem PKCS#8 format, PEM encoding, no encryption

>openssl pkcs8 -topk8 -in openssl_key.pem -inform pem

-out openssl_key_pk8.pem -outform pem -nocrypt

>rem PKCS#8 format, DER encoding, no encryption

>openssl pkcs8 -topk8 -in openssl_key.pem -inform pem

-out openssl_key_pk8.der -outform der -nocrypt

>rem PKCS#8 format, PEM encoding, encrypted

>openssl pkcs8 -topk8 -in openssl_key.pem -inform pem

-out openssl_key_pk8_enc.pem -outform pem

Enter Encryption Password: keypass

Verifying - Enter Encryption Password: keypass

Loading 'screen' into random state - done

>rem PKCS#8 format, DER encoding, encrypted

>openssl pkcs8 -topk8 -in openssl_key.pem -inform pem

-out openssl_key_pk8_enc.der -outform der

Enter Encryption Password: keypass

Verifying - Enter Encryption Password: keypass

Loading 'screen' into random state - done

All commands executed as expected this time. I got my RSA private key stored in

OpenSSL traditional format and PKCS#8 format in 7 flavors:

04/01/2007? 09:55 AM? ? ? ? ? ? ? 608 openssl_key.der

04/01/2007? 09:52 AM? ? ? ? ? ? ? 887 openssl_key.pem

04/01/2007? 10:01 AM? ? ? ? ? ? ? 958 openssl_key_des.pem

04/01/2007? 10:29 AM? ? ? ? ? ? ? 634 openssl_key_pk8.der

04/01/2007? 10:28 AM? ? ? ? ? ? ? 916 openssl_key_pk8.pem

04/01/2007? 11:53 AM? ? ? ? ? ? ? 677 openssl_key_pk8_enc.der

04/01/2007? 10:29 AM? ? ? ? ? ? ? 993 openssl_key_pk8_enc.pem

Now the question is how to verify them? Looks like there no easy tool to do this.

I will leave this task later by writing a Java program to verify them.

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,316評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,481評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,241評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,939評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,697評論 6 409
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,182評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,247評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,406評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,933評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,772評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,973評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,516評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,209評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,638評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,866評論 1 285
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,644評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,953評論 2 373

推薦閱讀更多精彩內(nèi)容