2011-09-12 5 views
0

양방향 SSL 인증이 필요한 SUNWappserver에 webapp-1이 배포되었습니다. 나는 그것을 위해 자바 클라이언트 -1을 쓸 수있다. 그리고 그것은 잘 동작한다.두 웹 애플리케이션 간 SSL 핸드 셰이크

그러나 Webapp-1 용 클라이언트 -2를 독립형 Java 프로그램 대신 webservice로 작성하면 문제가 발생합니다.

저는 jetty-8 서버에 client-2를 배포하고 있습니다. SSL-handshake 동안 Jetty는 먼저 SUNWappserver에서 인증서를 가져옵니다 (괜찮습니다 : 신뢰할 수있는 인증서 있음). 그런 다음 Jetty는 SUNWappserver (인증서 기관과 함께)에서 CertificateRequest를받습니다. 그러나 Jetty는 빈 인증서 체인으로 응답합니다.

나는 무슨 일이 일어나고 있는지 잘 모르겠습니다. 사용 가능한 jetty-ssl.xml 구성에 인증서 체인으로 응답 할 수 있도록 일부 설정이 있습니까? 내가 (대신 부두 서버에 배포의) 독립 자바 응용 프로그램으로 클라이언트를 사용할 때 작업 할 때 여기에 내가 지금

<Set name="KeyStore"><SystemProperty name="jetty.home" default="." />/server-certs/keyStore.jks</Set> 
<Set name="KeyStorePassword">$PASS</Set> 
<Set name="KeyManagerPassword">$PASS</Set> 
<Set name="TrustStore"><SystemProperty name="jetty.home" default="." />/server-certs/trustStore.jks</Set> 
<Set name="TrustStorePassword">$PASS</Set> 
<Set name="certAlias">$CORRECT_ALIAS</Set> 
<Set name="wantClientAuth">true</Set> 

내 신뢰와 키 스토어를 사용하고있는 옵션이 잘되어 있습니다. Jetty 서버를 시작할 때 Jetty가 keyStore 및 trustStore를 올바르게 읽는 중입니다. Jetty 서버를 시작하는 동안 jvm 옵션으로 -Djavax.net.ssl.trustStore 등을 제공하려고 시도했습니다.

답변

0

무슨 일인지 알아 냈습니다. 방파제 서버에 배치 한 클라이언트 -2가 cxf 클라이언트였습니다. 그것은 jetty-ssl.xml에 keyStore와 trustStore를 설정하는 것 외에도 cxf (자바 코드 또는 cxf.xml 사용)에 대해서도 설정해야합니다.

그렇지 않으면 클라이언트 (부두 서버에 배포 됨)는 오류 메시지 (예 : cxf keyStore가 발견되지 않음 등)를 제공하지 않았으며 공백 인증서 체인을 SUNWappserver에 다시 보냈습니다. 어떤 종류의 메시지가 그 이유를 찾는 데 도움이되었을 것입니다.

관련 메모에서 jetty-ssl.xml에도 다음을 설정해야합니다.

<Set name="needClientAuth">true</Set> 

그렇지 않으면, 클라이언트 (즉 부두 서버에 연결되어) 부두 서버에 잘못된 인증서의 빈을 보내는 경우에도, 서버는 무시하고 오류 메시지를 제공하지 않을 것입니다.

관련 문제