私のネットワークでの私的な関心と使用法のために、opensslを使用して証明書チェーン(ルートCA→中間CA→サーバー証明書)を作成しています。証明書チェーンを追跡可能にし、証明書を取り消すこともできます。
現時点では、どのCRL配布ポイント(openssl構成音声のcrlDistributionPoints
)とOSCP URI(authorityInfoAccess = OCSP;URI: ...
およびauthorityInfoAccess = OCSP;caIssuers: ...
)は、証明書の作成時に設定する正しいものです。いくつかの公開Webサイトの証明書を調べると、次のように進むべきだと私には思われます。それで、私が正しいかどうか確認してください。
ルートCA証明書:
中間CA証明書:
サーバー証明書:
*)1つのOCSPレスポンダがルートand中間CAのOSCP要求を処理できるようです。その場合、ルートCAのOSCP URIを使用することもできますか?
そのため、すべての証明書データは、自身の有効性を確認できる場所を「1つ上のレベル」にポイントする必要があります。あれは正しいですか?
前もって感謝します!
ルート証明書はすでにアプリケーションで認識されているため、これらのフィールドはすべて意味がありません。失効させる唯一の方法は、アプリケーションを変更することです。ルートが信頼されていること、またはルートを信頼する必要がない(つまり、取り消す)ことを証明するために、ルートCAよりも信頼できるCAはありません。
これらのフィールドはすべてオプションであり、公的に信頼された認証局に必要なものを定義するベースライン要件は、中間CA証明書のCRL配布ポイントのみを必要とします。
CRL配布ポイントの場合、URIのみを指定すると、失効した場合にこの証明書への参照が含まれる、同じ発行者によって署名されたCRLを指すと見なされます。認証局によって発行されたすべての証明書が同じCRL配布ポイントを持つ必要はありません。CRLが大きくなりすぎないようにこれらをセグメント化できます(たとえば、発行される1000証明書ごとに、CRL配布ポイントを変更し、そのURLのCRLには、それらの1000証明書への参照のみが含まれます。
ただし、CRL配布ポイントでURLに加えてcrlIssuerフィールドを指定して、CRLが別のCAによって署名されることを指定することもできます。したがって、リーフ証明書と中間証明書で同じCRLをポイントし、crlIssuerがルート証明書であることをリーフ証明書で指定することもできますが、その場合はルート証明書を使用してリーフを取り消す必要があります...
OCSP URIの場合、証明書にOCSP応答を提供できるOCSPサーバーを指す必要があります。 CRLと同様に、特定のCAが発行するすべての証明書に同じサーバーを使用する必要はなく、それをセグメント化することもできますが、OCSPの回答はCAが発行する証明書の数に応じて増加しないため、これはあまり一般的ではありません。他の証明書で使用されているものと同じURLを指すこともできます。 OCSPがチェックされる証明書の識別子はOCSPクエリで提供されるため、サーバーは複数のCAを処理する場合でも正しい答えで応答できます。
存在する場合、CA発行者は、証明書を発行した証明書を含むURLをポイントする必要がありますが、そのURLには、証明書のみのCMSメッセージとしてエンコードされた複数の証明書を含めることができます。私はその可能性が頻繁に使用されていることに気づいていません。
これはすべて RFC528 ( セクション4.2.1.1 のCRL配布ポイントの場合、および セクション4.2.2.1 の権限情報アクセス(OCSPおよびCA発行者)。