0

我能夠從PFX文件中讀取私鑰,但不能讀取公鑰。我正在使用以下代碼來讀取公鑰。如何從java中的PFX文件讀取公鑰

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(); 

當我從.cer文件讀取時,此代碼正常工作。請幫助

+0

好的,我試過所有的可能性。最後以「私鑰必須讀取PFX文件」結束。 – 2010-12-28 10:35:02

回答

3

使用KeyStore類並將該文件視爲PKCS#12 KeyStore。使用KeyStore.getInstance("PKCS12")來獲取PKCS12密鑰庫的實例。

KeyStore的Javadocs包含示例代碼。

+0

我需要密碼才能加載密鑰庫。我可以不提取沒有密碼的公鑰嗎?我已經嘗試過keyStore它正在工作 – 2010-12-22 12:14:02