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#ToC1
ハッシュ化されたシンボリックリンクを作成する方法については、前向きではありません。 2番目のリンクは、Apacheのmakeファイルを使用することを示していますが、そこで何が言われているのかについては、まったく無知です。
フレンドリーなガイダンスをいただければ幸いです。
お時間をいただきありがとうございます。
[〜#〜]更新[〜#〜]
私の質問の目的は、エンドユーザーのクライアント証明書を検証するために複数のCAを処理する方法を理解することでした。複数のPEM証明書が1つのファイルで使用されている可能性があることに気付きませんでした。私の場合、これは明らかに前進する正しい方法です。
ハッシュ名の付いたシンボリックリンクを作成する方法が不明な場合は、CACertificatePath
を使用するのではなくではなくCACertificateFile
を使用することをお勧めします。 (実際、これは一般的に私の提案です。頻繁に変更されるCA証明書がたくさんある場合、CACertificateFile
を適切に維持することは少し手間がかかる可能性がありますが、おそらくCA証明書がたくさんあるべきではなく、とにかくあまり変更されるべきではありません。 ..)さらに、参照されたMakefileがApacheの配布tarballから消えたように見えます(そして、一般の抗議の欠如は、証明書を保存するための「パス」メソッドを使用している人の数を示しているかもしれません:)。
そうは言っても、これを引き続き実行したい場合は、DerfKの発言に従って続行できます(古いMakefileを取得するか、すべての証明書ファイルに対してopenssl x509 -noout -hash
を実行して適切な名前のシンボルを作成する独自のスクリプト/ makefileを記述します)リンク)。
これに関して 未解決のバグ を見つけました。バグで言及されている古いmodssl.orgリリースをダウンロードしてMakefileを取得する以外に、ハッシュの値はopenssl x509 -in foo.crt -noout -hash
から取得できるようですが、「。N」の部分が何を指しているのか明確ではありません。 (おそらくこれはハッシュの衝突のためでした(たとえば、ハッシュ12345678の最初の証明書はそれを指すシンボリックリンク12345678.1を持ち、同じハッシュを持つ2番目の証明書は.2を使用しますか、それとも.0?で始まります)。
古いmodsslからMakefile.crt
ファイルを取得した場合、すべての証明書が含まれているフォルダーにファイルをドロップし、そのフォルダーでmake -f Makefile.crt
を実行すると思います。