2013-04-05 10 views
1

나는 SSL 인증서 (서버의 루트에서부터 시작하는 인증서 체인)를 가지고 있는데 이는 알맞은 것으로 보인다. 창문에있는 인증서를 열 수 있습니다. & 또한 마법사를 사용하여 가져옵니다.X.509 인증서 형식을 확인하는 방법은 무엇입니까?

하지만 (BouncyCastle 사용) 다음과 같은 명령을 통해 키 스토어로 변환하려고하면

keytool error: java.lang.Exception: Input not an X.509 certificate 
java.lang.Exception: Input not an X.509 certificate 
     at sun.security.tools.KeyTool.addTrustedCert(Unknown Source) 
     at sun.security.tools.KeyTool.doCommands(Unknown Source) 
     at sun.security.tools.KeyTool.run(Unknown Source) 
     at sun.security.tools.KeyTool.main(Unknown Source) 

나는 안드로이드 응용 프로그램을 개발하고 있어요 :

keytool -importcert -v -trustcacerts -file "test.crt" -alias ca -keystore "test.bks" -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath "bcprov-ext-jdk15on-1.46.jar" -storetype BKS -storepass testtest 

나는 아래의 오류 어디 https를 통해 REST 기반 API를 호출해야합니다.

인증서를 확인할 수있는 웹 기반 도구 (또는 다른 방법)가 있습니까?

+0

코드 스 니펫이나 명령 줄을 게시하면 도움이됩니다. – kroot

+0

@kroot 명령을 추가했습니다. pls가 보입니까? – Sourav

답변

2

test.crt가 X.509 형식이 아닙니다.

-----BEGIN CERTIFICATE----- 
MII...

또는

-----BEGIN TRUSTED CERTIFICATE----- 
MII...

DER-endcoded X.509 인증서가 당신에게 임의의 바이너리 데이터로 나타납니다 그것은 PEM 인코딩 된 X.509 인증서의 일반적 경우는 라인 시작 하지만 당신은 openssl 명령 줄과 같은 DER로 인코딩 된 파일을 디코딩 할 수 있습니다

openssl asn1parse -inform d -in test.crt -i

당신을 말할 것이다 출력의 시작 OID를가 A의 경우 n X.509 인증서 또는 PKCS # 7 가방과 같은 다른 것.

관련 문제