0

Je suis capable de lire la clé privée du fichier PFX mais pas la clé publique. J'utilise le code suivant pour lire la clé publique.Comment lire la clé publique du fichier PFX dans 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(); 

Ce code fonctionne correctement lorsque je lis le fichier .cer. Aidez-nous

+0

Ok, j'avais essayé toutes les possibilités. Et conclure avec "clé privée sont indispensables pour lire les fichiers PFX". –

Répondre

3

Utilisez la classe KeyStore et traitez le fichier comme un KeyStore PKCS # 12. Utilisez KeyStore.getInstance("PKCS12") pour obtenir une instance d'un fichier de clés PKCS12.

Les Javadocs pour KeyStore contiennent un exemple de code.

+0

Je vais avoir besoin d'un mot de passe pour charger keyStore. Puis-je pas extraire la clé publique sans mot de passe? J'ai déjà essayé keyStore il fonctionne –

+0

Je ne suis pas sûr. Essayez de charger le KeyStore avec un 'null' à la place de la référence du tableau' char [] '. –

+0

Nop !! j'avais essayé null et "" à la fois –

Questions connexes