0
안녕하세요 나는 다른에 대한 certifacte 및 유효성을 검사 할 첫 번째 인증서 파일 형태 읽는 동안 오류가 점점 :java.security.cert.CertificateException : 초기화 할 수 없습니다
//Get Public Key
BasicX509Credential publicCredential = new BasicX509Credential();
File publicKeyFile = new File("keys/azurecert.cer");
if (publicKeyFile.exists()) {
CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
InputStream fileStream = new FileInputStream(publicKeyFile);
X509Certificate certificate = (X509Certificate)certificateFactory.generateCertificate(fileStream);
fileStream.close();
azurecert.cer
날에 의해 생성 및 그 내용은 azures (adfs) federationmetadata.xml에서 복사하여 붙여 넣었습니다. 이게 문제 야?
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>
MIIC4jCC....
</X509Certificate>
</X509Data>
</KeyInfo>
그리고 난이 형식에 넣어 :
—–--BEGIN CERTIFICATE--—–
MIIDBTCCAe2gAwIBAgIQPLxWKJFunNyLetteErs/DAtQPLxWKJFunNyLMMFsdioT
MSswKQYDVQQDEyJhY2NvdW50cy5hFunNyLetteErsndpbmRvd3MubmV0XHhsStcm
....
----END CERTIFICATE----
그러나 결과 : 라인에서
java.security.cert.CertificateException: Unable to initialize, java.io.IOException: extra data given to DerValue constructor
가 :
certificateFactory.generateCertificate(inputStream2)
누군가가 도와 드릴까요?
오 예를 디코딩. .. 질문을 업데이트했습니다 – Gobliins
코드가 정확합니다. 인증서의 내용에 문제가있는 것 같습니다. http://stackoverflow.com/questions/11621414/reading-an-x-509-certificate-with-java. 대답으로 쓴 것처럼 바이너리'.crt'로 저장하려고 시도하고 더블 클릭 (windows)으로 열거 나 openssl로 가져 오기/내보내기 (링크 참조). 콘텐츠를 공개 할 수 있다면 질문에 복사하면됩니다. – pedrofb