2011-05-26 23 views
1

こんにちは、私はこのopenSSLとPEM stufを少し新しくしています。私は、例えば、このようなテキスト(X509)形式の証明書SSL証明書を.pem形式に変換する

私は証明書を検証できるように、私は、理解するためにOpenSSLのための.pemファイルにこれを変換するにはどうすればよい
Certificate: 

Data: 

    Version: 3 (0x2) 

    Serial Number: 

     1f:19:f6:de:35:dd:63:a1:42:91:8a:d5:2c:c0:ab:12 

    Signature Algorithm: PKCS #1 SHA-1 With RSA Encryption 

    Issuer: "CN=Thawte SGC CA,O=Thawte Consulting (Pty) Ltd.,C=ZA" 

    Validity: 

     Not Before: Fri Dec 18 00:00:00 2009 

     Not After : Sun Dec 18 23:59:59 2011 

    Subject: "CN=mail.google.com,O=Google Inc,L=Mountain View,ST=Californ 

     ia,C=US" 
    ............................................ 
    ............................................ 

がありますか?任意のアイデア/助言/提案は非常に高く評価されるだろう。事前にすべてに感謝します。

よろしく ハリ

+2

可能な重複:[http://stackoverflow.com/questions/991758/openssl -pem-key](http://stackoverflow.com/questions/991758/openssl-pem-key) –

+1

この質問の重複のようには見えません。証明書が何らかのテキスト形式で提供されているように見えます。 – Bruno

+0

明確にするために、これは他の質問と重複していません。この場合、CRT/DERファイルはありません。唯一の情報は、テキストファイルとして保存された証明書だけです。お手伝いをしていただきありがとうございます。 – Hari

答えて

5

証明書がすべてテキスト形式であれば(おそらく公開鍵の法と指数、署名の詳細があれば)、ASN.1構造とそのDER形式を再構築する必要がありますPEM表現は、DER形式のベース64符号化である)。

また、証明書の内線番号の正確なリストを再構築する必要があります。私が知っているほとんどのテキスト形式(たとえば、openssl x509 -textまたはブラウザの表示ツールの出力)は、開発者に知られている場合は、これらの拡張機能を記述した仕様に基づいて、拡張機能のOIDと値を人間が判読可能な形式に変換しますこれらのツール。

これを逆順に行うと、多かれ少なかれ、潜在的な拡張機能を説明する多数の仕様を読み、これらのツールから出てくる人間が判読可能なテキストが何を表しているかを確認することを意味します。 PKIX RFCはこれらの仕様の1つであり、特にあなたがフィールドで始まっている場合は、読んでも簡単ではありません。

これに加えて、実際の証明書と同じ順序でASN.1構造を作成できないことがあります。証明書の署名を検証できるようにするには、正確なバイナリ構造を再構築できる必要があります。

一般的なケースでは、これをうまくやっているとは思わないでしょう。

EDIT:あなたはLibNSSののcertutilを使用しているように見える、あなたが言ったことを考慮すると:

試してみてください。

certutil -L -r -n "the-cert-nickname" -d . | openssl x509 -inform DER -outform PEM 
+0

ああ...ありがとうございました。それはトリックを行うように見えた。しかし、新しいペムで試してみると、検証は失敗するようです。それは別の質問ですね。私は別個の質問を作成する必要がありますか、または自分自身を編集できると思いますか?とにかくたくさんありがとう – Hari

+0

おそらくそれは別の質問でしょう。どのツールを使用しようとしているかを試してみてください。 'certutil'と' openssl'は何らかの形式の検証を実行できるはずです。 – Bruno

+0

多分あなたはこの質問で私を助けることができますhttp://stackoverflow.com/questions/19013529/converting-a-x-509-cert-to-a-pem-formatありがとう –

3

私はあなたのポストに提示しているかわかりません。
これは、既存の証明書の可視化のようです。
ウィンドウで表示していますか?私。 .derファイルまたは.cerファイルを開く?
詳細タブを開いた場合は、「ファイルにコピー」を押してpemとして保存します。
この形式を保存する必要がある場合は、

+0

返事をありがとう。残念ながら私はそれをしていません。私はこのファイルをリモートのcert8.dbファイルから取得しています(私はcertutil -L -n ...のようなことをしていると思います)しかし、私はcrtやderファイルとその唯一の情報は持っていません私はこの証明書をテキスト形式で持っています。また、私はウィンドウを介してそれを表示していないことを明確にするために、それはLinuxマシンのテキストファイルに格納されています。もう一度お返事します – Hari

+0

あなたが見ているのは、アプリケーションによって記録された証明書情報です。必要なのは、cert8.dbから証明書を抽出することです。あなたはそれにアクセスできますか? – Cratylus

+0

私はcert8.dbにアクセスできます。しかし私はkey3.dbファイルを持っていません(アプリケーションによって隠されているようです)。だから私はそれを何もすることができません。私が言ったように、私はこれに非常に新しいです、そして、私は立ち往生し、これをすることができません。 – Hari