2012-12-10 6 views
6

Gibt es eine Java-Bibliothek, mit der wir feststellen können, ob das p12-Zertifikat ein korrektes Apple Push-Zertifikat ist?Wie programmgesteuert Informationen zu einem APNS Push-Zertifikat erhalten?

Ich benutze X509Certificate-Klasse, um nach seiner Gültigkeit zu überprüfen, aber keine Informationen über den Typ des Zertifikats gefunden.

+0

Können Sie erklären, was Sie mit "Informationen über den Typ des Zertifikats" meinen? – JimmyB

+2

Wie gesagt, ich möchte nur überprüfen, ob es sich um ein APNS-Push-Zertifikat handelt, ohne zu versuchen, einen tatsächlichen Push durchzuführen. – Suchi

+0

Wie wäre es damit? http://stackoverflow.com/questions/6143646/validate-x509-certificates-using-java-apis und das: http://stackoverflow.com/questions/9059196/accepting-certificates-in-java – tranceporter

Antwort

7

Ich bin mir nicht sicher, ob ein APNS-Zertifikat tatsächlich von anderen Zertifikaten unterschieden werden kann.

jedoch die Authentizität ein bestimmtes Zertifikat zu überprüfen, das heißt, um zu überprüfen, es vertrauenswürdig ist, seine Zertifikatskette muss überprüft werden, um sicherzustellen, dass es ein kown, vertrauenswürdiges Zertifikat enthält. Dies wird normalerweise von einer Certificate Authority ausgegeben.

Im Falle des APNS muss gemäß der this Quelle und der Apple docs ein Zertifikat der "Entrust Secure CA" in der Kette vorhanden sein. Dieses Zertifikat soll "bekannt" sein und kann (mit einer möglichen geringfügigen Verschlechterung der Langzeit-Sicherheit) üblicherweise als eine Konstante während der Lebensdauer einer Anwendung betrachtet werden; Ihre Anwendung kann dann nur ihr bekanntes Zertifikat mit dem im Schlüsselbund des fraglichen Zertifikats vorhandenen vergleichen.

Und schließlich: Die Crypto-Bibliothek von Bouncy Castle ist die De-facto-Standard-Implementierung der erweiterten Krypto-Funktionalität für Java und kann auch verwendet werden, und/oder validate certificates und ihre Signaturen zu überprüfen.

+0

Ich würde einige schätzen Java-Code zur Überprüfung der Zertifikatskette. – Suchi

+2

Haben Sie sich die Klasse 'CertificateVerifier' im [link] angesehen (http://www.nakov.com/blog/2009/12/01/x509-certificate-validation-in-java-build-and- verify-chain-and-verify-clr-mit-bouncy-castle /) Habe ich aufgenommen? - Das sollte so ziemlich alles sein, was benötigt wird. Oder fehlt mir etwas? – JimmyB

Verwandte Themen