【问题标题】:Making web service calls to a HTTPS server from Worklight Adapter - javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated从 Worklight Adapter 对 HTTPS 服务器进行 Web 服务调用 - javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
【发布时间】:2014-03-21 05:44:33
【问题描述】:

我正在尝试从我的适配器访问基于 REST 的 HTTPS 服务,我的 .xml 文件看起来像这样,

<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,但没有任何想法。任何帮助表示赞赏。

【问题讨论】:

    标签: ibm-mobilefirst worklight-adapters worklight-server


    【解决方案1】:

    当您提供错误的证书或未提供正确的证书时,会发生 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

    它应该可以工作。

    【讨论】:

    • 我使用我提到的链接从服务器获取证书,然后将其导入密钥库。我在适配器中使用了相同的别名,它工作正常。谢谢!
    • 嗨 Daniel,当部署在真正的 WAS 服务器上时,适配器无法正常工作,知道为什么会发生这种情况吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    相关资源
    最近更新 更多