0

가 나는 X509 certificatejava.security.cert.CertificateParsingException : 서명 필드

FileInputStream fr = new FileInputStream("suresh.pfx"); 
CertificateFactory cf = CertificateFactory.getInstance("X509"); 
X509Certificate c = (X509Certificate) cf.generateCertificate(fr); 

를 읽고 예외에 실행하기 위해 노력하고있어 무효

java.security.cert.CertificateParsingException: signed fields invalid 
    at sun.security.x509.X509CertImpl.parse(Unknown Source) 
    at sun.security.x509.X509CertImpl.<init>(Unknown Source) 
    at sun.security.provider.X509Factory.engineGenerateCertificate(Unknown Source) 
    at java.security.cert.CertificateFactory.generateCertificate(Unknown Source) 
    at com.nextenders.certificategeenrator.CertificateGenerator.testGenerateSignCertWithKeyStore(CertificateGenerator.java:102) 
    at com.nextenders.certificategeenrator.CertificateGenerator.main(CertificateGenerator.java:65) 
Oracle forum에서 관련

찾을 뭔가 해결책 없음.

힌트가 있습니까?

답변

4

PFX는 인증서가 아니라 자체 키 저장소입니다.

당신이 키 스토어에 PFX를로드 한 후 인증서를 얻을 수있는 인증서를 활용하려면 다음

InputStream certIs=new FileInputStream("suresh.pfx"); Keystore ks=KeyStore.getInstance("PKCS12"); ks.load(certIs.getInputStream(),"password".toCharArray()); Certificate cert=ks.getCertificate("alias");

감사