Ein X.509-Zertifikat mit Java lesen

Ich versuche, mit Java ein Zertifikat zu lesen, das ich von einer externen Partei erhalten habe. Der Code löst den folgenden Fehler aus:

java.lang.RuntimeException: java.security.cert.CertificateException: Initialisierung nicht möglich, java.io.IOException: Zusätzliche Daten werden dem DerValue-Konstruktor übergeben

Der Code:

FileInputStream ksfis = new FileInputStream(this.getCertificateFile());
ksbufin = new BufferedInputStream(ksfis);
certificate = (X509Certificate)
  CertificateFactory.getInstance("X.509").generateCertificate(ksbufin);

Um sicherzustellen, dass das Problem nicht im Code enthalten ist, habe ich ein selbstsigniertes Zertifikat erstellt und es mit dem Code verwendet, und es hat einwandfrei funktioniert. Ich habe beide Zertifikate im Systemschlüsselbund installiert und beide sind gültig. Ich benutze einen Mac und Java 1.6.

Irgendeine Idee, warum ich die obige Ausnahme erhalte, wenn ich das Zertifikat einer externen Partei lade? Denken Sie, dass es während der Übertragung beschädigt wurde? Wenn ja, sollte es auf dem lokalen System nicht als gültig angezeigt werden, oder?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage