URLのリストがあり、JAVAを使用して拡張検証(EV)属性を検証したい 要求を出して証明書を取得できますが、特定のサイトの「Extended Validation」を検証します。JSSEを使用してSSL証明書の拡張検証(EV)を検証する
証明書に特別な値はありますか?または任意の属性?
URLのリストがあり、JAVAを使用して拡張検証(EV)属性を検証したい 要求を出して証明書を取得できますが、特定のサイトの「Extended Validation」を検証します。JSSEを使用してSSL証明書の拡張検証(EV)を検証する
証明書に特別な値はありますか?または任意の属性?
拡張検証は、ほとんどがユーザーインターフェイスの観点から有用です。クライアントが証明書を表示するためにユーザーインターフェイスに何も持っていない場合は、あまり役に立ちません。これらの検証は、JSSEではデフォルトでは統合されていません.Javaブラウザが不足しているためです。 (ちなみに、接続時に取得する証明書を確認し、最初の接続では確認せず、場合によっては別の証明書で接続する必要があります)。
仕様はCA/browser forumで定義されています。
OID値とルートCA証明書フィンガープリントは、ブラウザにハードコードされています(security/certverifier/ExtendedValidation.cpp
in Firefox, used to be in in security/manager/ssl/src/nsIdentityChecking.cpp
参照)。原則としてポリシーOIDを各CAでチェックする必要がありますが、参考としてlist on Wikipediaもあります。
X509Certificate.getExtensionValue()
が不十分な場合は、BouncyCastleを使用すると便利です。
注意する必要がある1つの問題は、ルートCA証明書のハードコードSHA-1フィンガープリントが、トラストストア内のそれらの証明書と正確に一致する必要があることです。一部のCAは、ほとんどのブラウザ/ OS/JREに同梱されているバンドルで、しばらくの間CA証明書を更新します。同じ証明書を使用していることを確認してください。