2016-07-06 3 views
-1

신입생 JAX-WS SOAP Web Service입니다. 어느 누구도 https 이상의 비누 웹 서비스를 사용하는 방법을 알려줄 수 있습니까?HTTPS/SSL/TLS를 통한 JAX-WS Soap 웹 서비스 클라이언트

게시자가 ssl certificate(.cer)을 나와 공유했으며 keytool 명령을 사용하여 TrustStore에 가져 왔습니다.

위로 을 통해 saop webservice를 호출하려면 .jks 파일을 사용하여 System Environment Variable으로 설정해야합니다.

많은 리소스를 따라갔습니다. How can i create keystore from an existing certificate (abc.crt) and abc.key files? serverprivatekey.key 파일이 필요합니다. 개인 키가 없습니다. 진행 방법을 도와주세요.

맞나요? 또는 내 접근 방식에 잘못된 점이 있습니까?

답변

0

서버의 개인 키가 필요하지 않습니다. truststore에서 공개 키 certificate.cer 만 가져와야합니다. (실제로는 루트 인증서 만 필요합니다). 이미 JKS에서 수행 한 경우,

System.setProperty("javax.net.ssl.trustStore",path/to/your/truststore); 
System.setProperty("javax.net.ssl.trustStorePassword",password; 

주를 통해 사용하도록 구성 : 는 HTTPS 연결의 트러스트 매니저 서버에 의해 Perfomed 서명이 일치하는지 확인 핸드 쉐이크 중에 서버의 ID를 확인합니다 공개 키. 따라서 비공개 키는 비공개이어야하며 액세스 할 수 없습니다.

+0

답장을 보내 주셔서 감사합니다. System.setProperty ("javax.net.ssl.trustStore", "C : \\ Program Files \\ Java \\ jdk1.8.0_45 \\ jre \\ lib \\ security \\ cacerts")로 시스템 속성을 설정했습니다. "); \t \t System.setProperty ("javax.net.ssl.trustStorePassword", "changeit");'. 하지만 ** org.apache.cxf.ws.policy.PolicyException을 얻고 있습니다 : 정책 대안 중 어느 것도 만족할 수 없습니다 **. –

+0

기본 동작이므로'javax.net.ssl.trustStore'를 JDK'cacerts'로 지정할 필요가 없습니다. 새로운 문제는 SSL과 관련이 없습니다. 아마도 SOAP 헤더에 자격 증명을 설정해야합니다. http://stackoverflow.com/questions/12072500/apache-cxf-none-of-the-policy-ALternatives-can-be-feededfied를 참조하십시오. – pedrofb