2016-11-04 3 views
0

x-509-spring-rest-web-service-tutorial에 설명 된 것처럼 x509로 보안 설정된 스프링 SOAP 웹 서비스를 개발했습니다 (SOAP WS에 맞게 수정 됨). 그것은 잘 작동합니다. 브라우저 (WSDL을 얻거나 상태를 확인) 또는 SOAP UI (요청을 위해)를 통해 서비스와 통신 할 수 있습니다. SOAP UI 구성은 까다 롭습니다.x509 스프링 클라이언트, 잘못된 인증서

그럼 스프링 클라이언트를 구현하여 spring-soap-client-tutorial에 따라 서버와 통신합니다. 그것은 작동합니다.

이제 x509와의 보안 통신을 용이하게하려고 노력하고 있습니다. 나는 빌드에 갇혔다. 내가이 명령 clean compile \ -Djavax.net.ssl.trustStore=src/main/resources/truststore.jks \ -Djavax.net.ssl.trustStoreType=JKS \ -Djavax.net.ssl.trustStorePassword=password

를 사용하여 구축하기 위해 나는 예외 Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

내 신뢰가 정확하지 가정을 얻는다. 서명 된 서버 인증서가있는 곳을 ca에 넣었습니다. 무엇을 포함해야합니까? 내가 뭘 잘못 했을까?

답변

1

안정적이고 반복 가능한 빌드가 필요하므로 온라인 리소스를 컴파일하지 마십시오.
온라인 리소스의 로컬 복사본을 만들고 catalog files을 사용하여 절대 복사본을 로컬 복사본을 가리 키도록 다시 작성하십시오.

https://www.acme.com/foo/schema.xsdsrc/main/resources/www.acme.com/foo/schema.xsd으로 저장하십시오.

REWRITE_SYSTEM "https://www.acme.com" "www.acme.com" 

이 빌드에 사용 :

<catalog>src/main/resources/catalog.cat</catalog> 
<schemas> 
    <schema> 
     <url>https://www.acme.com/foo/schema.xsd</url> 
    </schema> 
</schemas> 

나는 SSL 문제에 대해 싸울 가치가 있다고 생각하지 않습니다

은 카탈로그 파일을 작성합니다. 그러나 디버그하려면 -Djavax.net.debug=all을 시도하십시오.

+0

나는'mvn clean compile'을 실행하고''목표 org.jvnet.jaxb2.maven2를 실행하지 못했습니다 : maven-jaxb2-plugin : 0.13.1 : 프로젝트 myproject에 생성 (디폴트) : 예외를 구합니다. mojo org.jvnet.jaxb2.maven2 : maven-jaxb2-plugin : 0.13.1 : 매개 변수 스키마 생성 : 'schema'에 대해 org.jvnet.jaxb2.maven2.ResourceEntry에서 setter, adder, field를 찾을 수 없습니다. 무엇을 잘못 할 수 있습니까? – user1648825

+0

하나의'schema' 요소가 복제되었습니다. 지금 수정되었습니다. – lexicore

+0

고맙습니다. 그것은 작동합니다. 이제 클라이언트 시작시 잘못된 인증서 예외가 발생합니다. – user1648825

관련 문제