2013-07-31 2 views
0

내가 보안 서버에 게시 된 SOAP 서비스를 호출하기 위해 노력하고있어 (SSL과 아파치/톰캣과 CA 구성)은 CXF 클라이언트

서비스가 .P12 (PKCS 기대와 보안 CA에 https SOAP 서비스를 호출 # 12) 인증을 처리합니다.

잘 작동SOAPUI이 (서비스가 호출되고 올바른 결과 반환) 내 키 스토어에서 인증서를로드하는 키 도구를 다루는 I'v을 생각하지만 난 할 수 아니에요

를 사용하여 내 테스트 올바르게 묘사하십시오. 그 외에도

, SOAPUI는 JVM의 상단에 실행하고, (그것은 단지 P12 인증서를 가리 키도록 필요에 따라) 필요가 JRE keyStore가 내의 인증서를로드하지 않으려면, 그래서 방법이 있다고 생각 invokation 시간에 요청시 인증서를 "로드"하시겠습니까? (

-Djavax.net.ssl.keyStoreType=pkcs12 
-Djavax.net.ssl.keyStore=c:/job/CDBXXX-XXXXX.p12 
-Djavax.net.ssl.keyStorePassword=****** 

로그 : github repository

VM 인수 :

일부 조사 후, (documentation)

코드을 할 몇 가지 CXF 구성을있을 것 같다 more here) :

main, SEND TLSv1 ALERT: fatal, description = certificate_unknown 
main, WRITE: TLSv1 Alert, length = 2 
main, called closeSocket() 
main, handling exception: javax.net.ssl.SSLHandshakeException:  
    sun.security.validator.ValidatorException: PKIX path building failed:  
    sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid  
    certification path to requested target 
main, called close() 
main, called closeInternal(true) 

감사의

답변

1

javax.net.ssl.SSLHandshakeException은 이러한 문제 중 하나가 있다는 것을 의미 :

클라이언트 키는 서버 신뢰 저장소에있는 CA 중 하나에 의해 서명되지
  1. .
  2. 클라이언트 키가 중간 CA에 의해 서명되고 서버 트러스트 저장소에 전체 CA 체인이 없습니다.
관련 문제