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.
Können Sie erklären, was Sie mit "Informationen über den Typ des Zertifikats" meinen? – JimmyB
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
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