私のアプリケーションでは、取り消し証明書に信頼されている(つまり、CRLに署名することによって)が、(新しい)証明書に署名することは信頼されていない多くの当事者がいます。
証明書ではなく、CRLに対してのみ信頼されるようにCAをマークするにはどうすればよいですか? CAの証明書にこれをマークする方法はありますか?
アプリケーションはこれをどの程度サポートしますか?私の目的のアプリケーションはopensslとstrongswanです。
エンティティが証明書ではなくCRLに署名することになっている場合、それはCAではありません-CRL発行者です。これは、indirectCRL発行者と呼ばれることがよくあります。これは、CRLによって失効ステータスが指定されている証明書を発行したCAとは定義が異なるためです。
証明書は、(特に)値cA
フラグに値TRUE
が含まれる Basic Constraints
拡張がある場合にのみ、CAとして検証されます。 CRL発行者証明書をCA証明書と間違えたくない場合は、Basic Constraints
拡張子が含まれていないこと、またはそのような拡張子が含まれている場合はcA
フラグの値はFALSE
です。
証明書をCRL発行者として受け入れられるようにするには、他に次のことを行う必要があります。
Key Usage
拡張子がある場合、cRLSign
フラグが設定されます。
CRLには、indirectCRL
フラグがTRUE
に設定された Issuing Distribution Point
拡張を含める必要があります。
CRL発行者名とIDP拡張機能の内容は、CRLを通じてステータスがアサートされる証明書の CRL Distribution Points
拡張機能の内容と一致する必要があります。ルールは 複雑 です。
間接CRLのサポートは不十分です。特に、CRL発行者の証明書はCAではないため、メインの証明書チェーンの一部ではありません。そのため、たとえば、SSLクライアントおよびサーバーによって送信される証明書のセットには含まれません。したがって、間接CRLは、追加の証明書をダウンロードする準備ができているシステム、または他の方法でそのような証明書を利用できるシステムでのみ使用できます。