2012-12-10 71 views
6

是否有任何Java庫,使我們能夠找到p12證書是否是一個適當的Apple推送證書?如何以編程方式獲取有關APNS推送證書的信息?

我使用X509Certificate類來檢查其有效性,但沒有找到有關證書類型的任何信息。

+0

你能解釋一下「關於證書類型的信息」是什麼意思嗎? – JimmyB

+2

正如我所說的,我只想驗證它是否是一個APNS推送證書而不嘗試進行實際推送。 – Suchi

+0

這個怎麼樣? http://stackoverflow.com/questions/6143646/validate-x509-certificates-using-java-apis和這個:http://stackoverflow.com/questions/9059196/accepting-certificates-in-java – tranceporter

回答

7

我不確定是否APNS證書實際上可以與任何其他證書區分開來。

然而,檢查真實性定證書的,也就是說,以驗證它是值得信賴的,其證書鏈需要進行檢查,以確保它包含kown,受信任的證書。這通常是由Certificate Authority發佈的。

對於APNS,根據this來源和Apple docs,來自「Entrust Secure CA」的證書需要在鏈中。該證書應該是「知名的」,並且可以(在可能的情況下,長期安全性可能會輕微下降)通常在應用程序的整個生命週期中被視爲常量;然後您的應用程序就可以將其已知的證書與存在於證書鑰匙串中的證書進行比較。

最後:從Bouncy Castle的密碼庫是事實上的標準執行的Java擴展加密功能,並且還可以用於檢查和/或validate certificates和他們的簽名。

+0

我將不勝感激java代碼來幫助檢查證書鏈。 – Suchi

+2

你有沒有看看[鏈接]中的'CertificateVerifier'類(http://www.nakov.com/blog/2009/12/01/x509-certificate-validation-in-java-build-and- verify-chain-and-verify-clr-with-bouncy-castle /)我包括在內? - 這應該是幾乎所有需要的。或者我錯過了什麼? – JimmyB

相關問題