mod_ssl SSLCACertificatePath適切な使用法または複数の受け入れ可能なクライアント証明書CAを処理するための最良の方法


9

mod_proxy SSLCACertificatePathディレクティブを使用しようとしていますが、適切に使用する方法について少し混乱しています。

ここでSSLCACertificatePathディレクティブを説明する2つのリンクがある:
http://httpd.apache.org/docs/2.0/mod/mod_ssl.html#sslcacertificatepath
http://www.modssl.org/docs/2.8/ssl_reference.html#ToC13

ハッシュ化されたシンボリックリンクを作成する方法については、前向きではありません。2番目のリンクでは、ApacheのMakeファイルを使用するように記載されていますが、そこで正確に何が言われているのかまったくわかりません。

フレンドリーなガイダンスをいただければ幸いです。

お時間をいただきありがとうございます。

更新

私の質問の目的は、エンドユーザーのクライアント証明書を検証するために複数のCAを処理する方法を理解することでした。複数のpem証明書が1つのファイルで使用されている可能性があることに気付きませんでした。私の場合、これは明らかに前進する正しい方法です。

回答:


5

あなたはハッシュという名前のシンボリックリンク私の提案を作成する方法について不明である場合ではない使用するCACertificatePathのではなく、使用するCACertificateFile代わりに。(実際、これは一般的に私の提案CACertificateFile です。頻繁に変更されるCA証明書がたくさんある場合、適切にを維持することは少し多くの作業になるかもしれませんが、おそらく多くのCA証明書を持っているべきではなく、とにかくあまり変更されるべきではありません。 。)さらに、参照されたMakefileがApacheの配布tarballから消えたように見えます(そして、一般の抗議の欠如は、証明書の保存に「パス」方式を使用している人の数を示している可能性があります:)。

そうは言っても、これを実行したい場合は、DerfKの発言に従って続行できます(古いMakefileを取得するか、openssl x509 -noout -hashすべての証明書ファイルに対して実行して適切な名前のシンボリックリンクを作成する独自のスクリプト/ makefileを記述します)。


お返事ありがとうございます。残念ながら、複数のCA証明書を用意する予定であり、変更される予定です。1つのファイルに複数の証明書を含める方法を知っていますか?証明書を1つのファイルからすべての証明書が含まれている別のファイルに切り取って貼り付けるのと同じくらい簡単ですか?
hooknc

1
これは、実際にはカットアンドペーストと同じくらい簡単です。以前はca-bundle.crt、Apache 1.xの時代にmod_sslに含まれていました(まだcertifie.com/ca-bundle/ca-bundle.crt.txtから入手できます)。あなたの正気のために、私はファイルにコメントを付けるので、後でそれらを変更する必要がある場合に/どの証明書ブロックがどのCAに属しているかを知ることができます。
voretaq7 2011年

素晴らしいニュース。私たちはおそらくこのソリューションを前進させるでしょう。幸い、他の誰かがその.crtファイルを生成する必要があります。お時間をいただきありがとうございます。
hooknc 2011年

4

これに関して未解決のバグを見つけました。バグで言及されている古いmodssl.orgリリースをダウンロードしてMakefileを取得する以外は、ハッシュの値を取得できるようですがopenssl x509 -in foo.crt -noout -hash、「。N」の部分が何を指しているのか不明です(おそらくこれはハッシュの衝突(たとえば、ハッシュ12345678の最初の証明書は、それを指すシンボリックリンク12345678.1を持ち、同じハッシュを持つ2番目の証明書は.2を使用しますか、それとも.0?で始まります)

Makefile.crt古いmodsslからファイルを取得した場合、すべての証明書を含むフォルダーにファイルをドロップし、そのフォルダーで実行するmake -f Makefile.crtと思います。


お返事ありがとうございます。そのバグレポートを指摘することは本当に役に立ちました。バグで言及されているリソースのダウンロードへの直接リンクは次のとおりです。modssl.org / source / mod_ssl-2.8.31-1.3.41.tar.gz Makefile.crtを確認しましたが、あなたは正しいと思います番号付けスキームについては、私は* nixスクリプトがあまり得意ではありません。<hash> .1、<hash> .2、<hash> .3など...私はあなたが推奨するコマンドを使用してみましたが、ハッシュとして名前が付けられたシンボリックリンクを使用しましたが、すべてが機能しているようでした。ここで、複数のCAファイルを試してみる必要があります。
hooknc 2011年

1
番号はで始まり.0ます。
ラマン

1
これはMakefileすでにtar.gzから抽出されたものです:gist.github.com/rocketraman/9228a42b78e094b3c2218f6e57844ee0
Raman

make -f Makefile.crt証明書のあるフォルダで実行するとMakefile.crt ... Skippedエラーが発生します。
深刻な
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.