0

Ich kann den privaten Schlüssel aus der PFX-Datei lesen, aber nicht den öffentlichen Schlüssel. Ich verwende folgenden Code, um den öffentlichen Schlüssel zu lesen.So lesen Sie den öffentlichen Schlüssel aus der PFX-Datei in Java

InputStream inStream = new FileInputStream(certFile); 
CertificateFactory cf = CertificateFactory.getInstance("X.509"); 
BufferedInputStream bis = new BufferedInputStream(inStream); 
// if (bis.available() > 0) { 
java.security.cert.Certificate cert = cf.generateCertificate(bis); 
System.out.println("This part is not getting printed in case of PFX file"); 
// } 
puk = (PublicKey) cert.getPublicKey(); 

Dieser Code funktioniert ordnungsgemäß, wenn ich von .cer-Datei lese. Bitte helfen Sie

+0

Ok, ich hatte alle Möglichkeiten ausprobiert. Und abschließend mit "Privater Schlüssel müssen PFX-Dateien lesen". –

Antwort

3

Verwenden Sie die KeyStore Klasse und behandeln Sie die Datei als PKCS # 12 KeyStore. Verwenden Sie KeyStore.getInstance("PKCS12"), um eine Instanz eines PKCS12-Keystores abzurufen.

Die Javadocs für KeyStore enthalten Beispielcode.

+0

Ich brauche ein Passwort um keyStore zu laden. Kann ich öffentlichen Schlüssel nicht ohne Passwort extrahieren? Ich habe Keystore bereits versucht es funktioniert –

+0

Ich bin mir nicht sicher. Versuchen Sie, den KeyStore mit einem 'null' anstelle des' char [] 'Array-Verweises zu laden. –

+0

Nopp !! Ich hatte versucht, null und "" beide –