java.Sicherheit.cert.CertificateParsingException
Ich bin immer folgende exception, wenn versucht wird, erstellen Sie ein neues Zertifikat:
java.Sicherheit.cert.CertificateParsingException: unterzeichnet überrannt, bytes = 224
try
{
InputStream certificateStream = new ByteArrayInputStream(certificate);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
Collection certificateCollection = cf.generateCertificates(certificateStream);
}
catch (CertificateException ex)
{
}
Ausnahme geworfen wird:
Sammlung certificateCollection = cf.generateCertificates(certificateStream);
kann mir jemand helfen zu verstehen und das Problem lösen?
Dank
- Legen Sie den gesamten code.Wo ist dieser
certificate
aus?Es ist ein gültiges Zertifikat? - Sie könnten versuchen, ein
new FileInputStream("stackoverflow.cert");
anstelle der Verwendung eines byte-array. Ich habe versucht, dein Beispiel auf meine Seite mit einem FileInputStream und eine gültige Zertifikat-Datei, und es funktioniert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein gut funktionierende Beispiel basierend auf deinem code. Es verwendet eine
FileInputStream
. Wenn Sie ein ByteArray, vorsichtig sein, die Daten innerhalb es :Ok, mein Fehler.
Lese ich das Zertifikat aus der Datei, und ich habe es nicht gelesen, als binäre...
Lesen als binäre dieses Problem gelöst.
Vielen Dank für alle Eure Antworten /Kommentare!