Nie jestem pewien, czy certyfikat APNS można rzeczywiście odróżnić od jakiegokolwiek innego certyfikatu.
Jednak, aby sprawdzić autentyczność danego świadectwa, to znaczy, aby zweryfikować, że jest godna zaufania, jego Łańcuch certyfikatów musi być kontrolowane, aby upewnić się, że zawiera kown, zaufany certyfikat. Zazwyczaj jest to wydane przez Certificate Authority.
W przypadku APNS, zgodnie ze źródłem this i Apple docs, certyfikat z "Entrust Secure CA" musi znajdować się w łańcuchu. Certyfikat ten powinien być "dobrze znany" i może (z możliwym nieznacznym pogorszeniem długoterminowego bezpieczeństwa) być zwykle uważany za stałą przez cały okres użytkowania aplikacji; Twoja aplikacja może wtedy po prostu porównać swój znany certyfikat z tym, który znajduje się w pęku kluczy danego certyfikatu.
I wreszcie: Biblioteka kryptograficzna od Bouncy Castle jest de facto standardową implementacją rozszerzonej funkcjonalności kryptograficznej dla Javy i może być również używana do inspekcji i/lub validate certificates i ich sygnatur.
Czy możesz wyjaśnić, co masz na myśli przez "informacje o typie certyfikatu"? – JimmyB
Tak jak powiedziałem, chcę tylko sprawdzić, czy jest to certyfikat wypychania APNS, bez próby wykonania rzeczywistego pushowania. – Suchi
Co powiesz na to? http://stackoverflow.com/questions/6143646/validate-x509-certificates-using-java-apis i to: http://stackoverflow.com/questions/9059196/accepting-certificates-in-java – tranceporter