Wie kann ich Lesen Sie den Inhalt ein .pfx-Datei in Java?
Habe ich file.pfx
- Datei und auch einen privaten Schlüssel haben. Wie kann ich Lesen Sie das Zertifikat in file.pfx
in Java?
Ich habe diesen code:
import java.security.*;
import java.security.cert.Certificate;
import java.security.cert.X509Certificate;
import java.security.cert.CertificateException;
import javax.crypto.SecretKey;
import javax.security.auth.callback.*;
//These packages I have used.
public String readFile(String fn) {
String thisLine, ret = "";
KeyStore ks = KeyStore.getInstance("pkcs12", "SunJSSE");
ks.load(new FileInputStream(fn),"password".toCharArray());
try {
Key key = ks.getKey("1", "password".toCharArray());
Certificate[] cc = ks.getCertificateChain("1");
X509Certificate certificate1 = (X509Certificate) cc[0];//Here it throws java.lang.NullPointerException
ret += certificate1.getNotAfter();
ret += certificate1.getNotBefore();
} catch(Exception e) {
ret = "Cannot load, exception!";
}
return ret;
}
Was bedeutet "zeilenweise" bedeuten? Sind Sie wollen, Lesen Sie Zertifikate von der PFX-Datei? Was haben Sie bisher ausprobiert?
In Zukunft, bitte Bearbeiten Sie Ihre Frage an, dass Informationen enthalten. Es ist nutzlos und nicht lesbar als Kommentar.
Ok, Sie haben also gemeinsame code. Was ist Los mit ihm - hat es nicht funktioniert?
Vielen Dank für Ihren Vorschlag. Es zeigt worning "X509Certificate" nicht finden können-symbol. Ich habe den import tha pachage import java.security.*;
In Zukunft, bitte Bearbeiten Sie Ihre Frage an, dass Informationen enthalten. Es ist nutzlos und nicht lesbar als Kommentar.
Ok, Sie haben also gemeinsame code. Was ist Los mit ihm - hat es nicht funktioniert?
Vielen Dank für Ihren Vorschlag. Es zeigt worning "X509Certificate" nicht finden können-symbol. Ich habe den import tha pachage import java.security.*;
java.security.cert.X509Certificate
ist ein Teil der core Java libraries. Wenn Sie Programmieren in einer IDE, das sollte automatisch importiert wurden.
InformationsquelleAutor Banshi | 2013-02-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie immer eine Ausnahme, weil Ihr keystore (d.h. die PKCS #12-Datei) nicht enthalten, eine Zertifikat-Kette mit den alias, den Sie zur Verfügung gestellt haben.
Es ist durchaus plausibel Ihre
key
Objekt istnull
auch, aber Sie scheinen nicht, um das Objekt überhaupt.Zu verstehen, was die Aliase stehen in der Datei, versuchen, Blick auf die zurückgegebenen strings aus
- KeyStore.Aliase()
.Es klingt wie wir es gelöst haben dieses problem. Wenn du weitere Probleme hast, bitte versuchen und Forschung selbst eine Lösung. Wenn Sie nicht finden können, dann poste bitte eine neue Frage.
ok. Danke. Ich bin auch auf der Suche für diese problem. Eigentlich bin ich frischer in java. Ich bin PHP-Entwickler und iPhone Entwickler. Ich habe ein Aktuelles Projekt, das in php, die eine Anforderung haben, dass es eine .pfx-Datei in ein Wechseldatenträger und wenn die Datei vorhanden ist in das austauschbare Laufwerk aus dem login-panel wird geöffnet. Für diesen Grund muss ich das mit applet habe ich lösen dieses problem mit einem file.txt Datei, aber ich habe nie die Arbeit an der Datei.pfx-Datei-system. Deshalb poste ich diese Frage. Und Sie begleiten mich für eine lange Zeit. Wenn ich eine Frage stellen, bei jeder Suchanfrage werden diese mühsame Aufgabe. Vielen Dank. lol.:)
InformationsquelleAutor Duncan Jones
Versuchen, Diesen Code für das Lesen .pfx-Datei:-
InformationsquelleAutor Akshay Prabhu
Hier ein link zu einem forum Frage zum Thema öffnen und Lesen ein .PFX-Datei, die mit Java-code.
Zusammenfassen, was in dem link, den Sie sollten in der Lage sein, den Schlüssel zu öffnen-speichern als würden Sie mit einem normalen JKS, aber mit einem kleinen Unterschied, übergeben Sie die Schlüssel-store-Typ als
pcks12
und der Anbieter alsSunJSSE
.Anderen hilfreichen Hinweis ist, dass Sie vielleicht wollen prüfen, unter Verwendung und Bezugnahme auf die BouncyCastle Anbieter, es ist die komplette Umsetzung gibt es in meiner bescheidenen Meinung nach.
Ich habe nicht versucht, diese vor, hier ist ein link in Bezug auf die SunJSSE Anbieter.. ich würde empfehlen, du schaust in mit BouncyCastle als ein JCE-provider, die durch die Art und Weise.
Link-nur die Antworten sind nicht sehr hilfreich, auf StackOverflow. Wenn Sie Ihren link wurden zu brechen in der Zukunft, Ihre Antwort wird bedeutungslos. Kann man zusammenfassen, dass der link-Inhalt in deine Antwort bitte?
mit System.err.println(Schein.toString()); codierte Welten. Wie bekomme ich nur die Inhalte des Zertifikats.
InformationsquelleAutor Waleed Madanat