我试图从我的适配器点击基于REST的HTTPS服务,我的.xml文件看起来像这样,
https myco.company.com 443
我得到了这个例外
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但是没有得到任何想法.任何帮助表示赞赏.
当您提供错误的证书或未提供正确的证书时,会发生SSLPeerUnverifiedException.它与HTTP一起使用的原因是因为它不需要证书; 它只需要HTTPS.
在这种情况下,您似乎没有指定服务器将用于创建HTTPS连接的证书.为此,你必须做几件事:
创建用于测试目的的证书,或使用您需要使用的证书,具体取决于您的情况.您提供的链接说明了如何创建自己的自定义证书以进行测试.(请注意,您应该仅将自定义证书用于测试目的,因为它们不安全,因此不应在生产环境中使用).
将您拥有的证书放在Java密钥库中,并将Worklight配置为使用所述密钥库.有关更多详细信息,请参阅http://pic.dhe.ibm.com/infocenter/wrklight/v6r1m0/topic/com.ibm.worklight.deploy.doc/admin/r_ssl_certificate_keystore_setup.html.
完成前两个步骤后,在您拥有的connectionPolicy中,您必须指定SSLCertificateAlias和SSLCertificatePassword.别名是保存在密钥库中的名称,密码是用于加密密钥库的密码.有关详细信息,请查看此处:http: //pic.dhe.ibm.com/infocenter/wrklight/v6r1m0/topic/com.ibm.worklight.dev.doc/devref/r_the__connectionpolicy__element.html
有了它应该工作.