2014-02-20 2 views
2

내 어댑터에서 REST 기반 HTTPS 서비스를 시도하고 있습니다. 내 .xml 파일은 다음과 같습니다.Worklight Adapter에서 HTTPS 서버로 웹 서비스 호출하기 - javax.net.ssl.SSLPeerUnverifiedException : 피어가 인증되지 않았습니다.

<connectionPolicy xsi:type="http:HTTPConnectionPolicyType"> 
      <protocol>https</protocol> 
      <domain>myco.company.com</domain> 
      <port>443</port>  
      <!-- Following properties used by adapter's key manager for choosing specific certificate from key store 
      <sslCertificateAlias></sslCertificateAlias> 
      <sslCertificatePassword></sslCertificatePassword> 
      -->  
     </connectionPolicy> 
     <loadConstraints maxConcurrentConnectionsPerNode="2"/> 
    </connectivity> 

나는이 예외

Http request failed: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated 

을 얻고있다하지만 난 HTTP 프로토콜과 다른 서버의 IP 주소를 사용했을 때 모든 것이 잘 작동했다. 배포 된 서버 코드는 동일하며 브라우저에서 서비스가 제대로 작동하는 것 같습니다. 나는 http://pic.dhe.ibm.com/infocenter/wrklight/v5r0m5/index.jsp?topic=%2Fcom.ibm.worklight.help.doc%2Fadmin%2Ft_ibm_worklight_server_and_self-signed_certificates.html을 보았지만 아무 생각이 들지 않았다. 어떤 도움을 주셔서 감사합니다.

답변

5

SSLPeerUnverifiedException은 잘못된 인증서를 제공하거나 올바른 인증서를 제공하지 않을 때 발생합니다. HTTP로 작업 한 이유는 인증서가 필요하지 않기 때문입니다. HTTPS에만 필요합니다.

이 경우 서버가 HTTPS 연결을 생성하는 데 사용할 인증서를 지정하지 않은 것처럼 보입니다.

  1. 어느 테스트 목적으로 사용하거나, 당신이 경우에 따라, 사용하는 데 필요한 인증서를 사용하는 인증서를 만들이 위해 당신은 몇 가지 작업을 수행해야합니다. 제공 한 링크는 테스트 용으로 사용자 정의 인증서를 작성하는 방법을 설명합니다. (테스트 목적으로 만 사용자 정의 인증서를 사용해야합니다. 안전하지 않아 프로덕션 환경에서 사용해서는 안되기 때문입니다.)

  2. 가지고있는 인증서를 Java 키 저장소에 넣고 해당 키 저장소를 사용하도록 Worklight를 구성하십시오. 자세한 내용은 http://pic.dhe.ibm.com/infocenter/wrklight/v6r1m0/topic/com.ibm.worklight.deploy.doc/admin/r_ssl_certificate_keystore_setup.html을 참조하십시오.

  3. 이전 단계를 완료 한 후 거기에있는 connectionPolicy에서 SSLCertificateAlias ​​및 SSLCertificatePassword를 지정해야합니다. 별명은 키 저장소에 저장된 이름이고, 암호는 키 저장을 암호화하는 데 사용되는 암호입니다. 자세한 내용은 이쪽을 봐 : 작동해야와 http://pic.dhe.ibm.com/infocenter/wrklight/v6r1m0/topic/com.ibm.worklight.dev.doc/devref/r_the__connectionpolicy__element.html

합니다.

+1

언급 한 링크를 사용하여 서버에서 인증서를 가져온 다음 키 저장소로 가져 왔습니다. 어댑터에서 동일한 별칭을 사용했는데 정상적으로 작동합니다. 감사합니다. – satheeshwaran

+0

안녕하세요 대니얼 어댑터가 실제 WAS 서버에 배포되었을 때 작동하지 않습니다. – satheeshwaran

관련 문제