2012-03-21 136 views
2

我得到了URL列表,我想驗證它的擴展驗證(EV)屬性,使用JAVA 我可以提出請求並獲得證書,但我不確定如何驗證給定站點的「擴展驗證」。使用JSSE驗證SSL證書的擴展驗證(EV)

證書是否有特殊價值?或者任何屬性?

回答

1

從用戶界面的角度來看,擴展驗證大多是有用的。如果您的客戶端在其用戶界面中沒有任何內容顯示證書,它並不是很有用。這些驗證在默認情況下並未集成到JSSE中,可能是因爲它幾乎沒有需求(缺少Java瀏覽器)。 (順便說一下,您應該驗證連接時獲得的證書,而不是檢查第一個連接並與另一個連接,以防萬一)。

規格由CA/browser forum定義。

OID值和根CA證書指紋被硬編碼到瀏覽器中(請參閱security/certverifier/ExtendedValidation.cpp in Firefox, used to be in in security/manager/ssl/src/nsIdentityChecking.cpp)。還有一個list on Wikipedia作爲參考,儘管原則上應該檢查每個CA的策略OID。

要分析擴展名,如果X509Certificate.getExtensionValue()不夠用,使用BouncyCastle可能會很有用。

您必須注意的一個問題是,根CA證書的硬編碼SHA-1指紋需要完全匹配信任存儲中的那些證書。有些CA會在大多數瀏覽器/ OS/JRE附帶的軟件包中稍後更新他們的CA證書:確保您使用相同的證書。