さまざまな証明書を単一の.pemに結合する方法


35

さまざまなSSL形式について説明しているこのすばらしいスレッドを読み終えました。

今、私は本質的にPEMファイルを分割する方法の反対を探しています

元々Apache用に作成された、統合したいファイルが4つあります。

  • SSLCertificateFile
  • SSLCertificateKeyFile
  • SSLCertificateChainFile
  • SSLCACertificateFile

私が最も興味を持っているのは、統合されたdeivivativeのファイルの順序です。それは重要ですか?例えば。私がcatそれらを上に表示される順序で一緒に、.pemにした場合、それは有効でしょうか、または特定の方法で注文されるべきですか?

FYI、私は組み合わせシングルとしてこれらの本命を使用してのためにこれをやっているの.pemSimpleSAMLphp


注文は、秘密鍵、中間証明書、証明書である必要があります。
ゾレダチェ

CAはどうですか、それはチェーンのルートではありません。したがって、統合ファイル内のチェーンの後に移動しますか?または、完全に省略できますか?
クイックシフト

それはオプションのように聞こえますが、私は今のところそれなしでロールバックします。
クイックシフト

回答:


43

RFC 4346によると、順序は重要です。

以下は、RFCから直接引用した引用です。

  certificate_list
    This is a sequence (chain) of X.509v3 certificates.  The sender's
    certificate must come first in the list.  Each following
    certificate must directly certify the one preceding it.  Because
    certificate validation requires that root keys be distributed
    independently, the self-signed certificate that specifies the root
    certificate authority may optionally be omitted from the chain,
    under the assumption that the remote end must already possess it
    in order to validate it in any case.

この情報に基づいて、サーバー証明書が最初に来て、中間証明書が続き、最後にルートの信頼できる機関の証明書(自己署名の場合)が続きます。私は秘密鍵に関する情報を見つけることができませんでしたが、pemの秘密鍵は、キーワードが含まPRIVATEれる以下のテキストで始まり、終わるので簡単に識別できるため、問題ではないと思います。

 -----BEGIN RSA PRIVATE KEY-----
 -----END RSA PRIVATE KEY-----

2
cat site.crt root.crt site.key> site.pem
curveorzos

6

以下は組み合わせて使用​​するコマンドです cat

cat first_cert.pem second_cert.pem > combined_cert.pem

3
これは、2つの証明書を連結する方法の答えですが、Apacheの証明書を連結/連結する方法ではありません。
asdmin

これは本当に質問に答えることではなく、受け入れられた答えで十分です。連結方法に関する追加情報を提供するだけです。元のポスターは猫の使用について話していたので、他の人に役立つかもしれないと思いました。
tidileboss

2
答えは、ファイルを連結する順序を示しいません(「first_cert.pem」と「second_cert.pem」だけがあります)。正しい答えは次のようになりますcat my_site.pem ca_chain.pem my_site.key > combined_cert.pem
ドクトルJ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.