IBM MobileFirst适配器调用ssl错误

时间:2015-05-13 09:06:06

标签: ssl https ibm-mobilefirst mobilefirst-server

我试图通过IBM mobilefirst的http适配器从应用程序获取json数据。

可以使用https访问该应用,我收到此ssl错误:

  

"运行时:Http请求失败:javax.net.ssl.SSLHandshakeException:   java.security.cert.CertificateExpiredException:NotAfter:7月26日星期六   21:15:15 EEST 2014"

这是适配器的xml:

<wl:adapter name="test2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:wl="http://www.ibm.com/mfp/integration"
xmlns:http="http://www.ibm.com/mfp/integration/http">    
<displayName>test2</displayName>
<description>test2</description>
<connectivity>
<connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
<protocol>https</protocol>
<domain>www.mydomain-company.gr</domain>
<port>443</port>    
<connectionTimeoutInMilliseconds>30000</connectionTimeoutInMilliseconds>
<socketTimeoutInMilliseconds>30000</socketTimeoutInMilliseconds>            
<maxConcurrentConnectionsPerNode>50</maxConcurrentConnectionsPerNode>
<!-- Following properties used by adapter's key manager for choosing specific certificate from key store  
<sslCertificateAlias></sslCertificateAlias> 
<sslCertificatePassword></sslCertificatePassword>
-->     
</connectionPolicy>
</connectivity>    
<procedure name="getDDD"/>      
</wl:adapter>

这是js:

function getDDD() {
    var identity = Base64.encode("myuser:mypass"); //i have a base64 function above that i have not pasted here. It works it is tested in other apps.
    var path = "/part1/part2/ddd.nsf/rest.xsp/ddd";
    var input = {
            method : 'get',
            returnedContentType : 'json',
            path : path,

            headers: {Authorization: "Basic "+identity}
    };

    return WL.Server.invokeHttp(input);
}

如果我从浏览器中调用相同的网址,我会获取数据并检查https信息,我会看到证书在2016年到期。

我还使用java keytool检查了路径中移动第一服务器的jks文件中证书的截止日期:

  

C:\ PATH1 \ PATH2 \\ MobileFirstServerConfig \服务器\工作灯\资源\安全\ key.jks

并且它没有过期。

移动优先服务器或目标服务器的证书是否存在问题?

到目前为止我的步骤是为了配置ssl: 1)转到/ MobileFirstServerConfig \ servers \ worklight \ resources \ security 并使用java keytool创建了一个带有新证书的新key.jks。我将cerificate默认命名为old key.jks文件中的名称。

2)从这个jks

导出证书

3)将证书导入到server / conf文件夹

下项目的default.keystore文件中

4)worklight.properties文件:

  

MobileFirst SSL密钥库

     #      

SSL证书密钥库位置。 ssl.keystore.path = CONF / default.keystore

     

SSL证书密钥库类型(jks或PKCS12)ssl.keystore.type = jks

     

SSL证书密钥库密码。 ssl.keystore.password =工作灯

5)server.xml文件:

<keyStore id="defaultKeyStore" password="worklight"/>

我还尝试将&#34;默认&#34;作为身份。

1 个答案:

答案 0 :(得分:0)

您未在适配器和后端之间配置SSL 您应该查看的密钥库是在项目的worklight.properties文件中定义的(默认位置如下:workspace \ CustomLoginModule \ server \ conf)。

请务必按照此处提供的说明操作:https://www-01.ibm.com/support/knowledgecenter/SSZH4A_6.2.0/com.ibm.worklight.installconfig.doc/admin/t_configuring_SSL_WL_adapters_backend_servers_certificates.html