web-dev-qa-db-ja.com

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

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つのファイルで使用されている可能性があることに気付きませんでした。私の場合、これは明らかに前進する正しい方法です。

9
hooknc

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

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

5
voretaq7

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

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

4
DerfK