Ошибка вызова ssl адаптера IBM MobileFirst

Я пытаюсь получить данные json из приложения через http-адаптер IBM mobilefirst.

Приложение доступно с https, и я получаю эту ошибку ssl:

"Время выполнения: запрос Http не выполнен: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateExpiredException: NotAfter: сб. 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);
}

Если я вызываю тот же URL из моего браузера, я получаю данные и проверяю информацию https, я вижу, что срок действия сертификата истекает в 2016 году.

Я также проверил с помощью java keytool дату истечения срока действия сертификата в файле jks первого мобильного сервера в пути:

C: \ path1 \ path2 \\ MobileFirstServerConfig \ серверов \ \ Worklight ресурсы \ безопасность \key.jks

и это не истекло.

Это проблема мобильного первого сервера или сертификата целевого сервера?

Мои шаги до сих пор для того, чтобы настроить ssl: 1) пошли в /MobileFirstServerConfig\servers\worklight\resources\security и создали новый key.jks с новым сертификатом, используя java keytool. Я назвал сертификат по умолчанию так же, как это было в старом файле key.jks.

2) экспортировал сертификат из этого jks

3) импортировал сертификат в файл default.keystore в проекте в папке server/conf

4) файл worklight.properties:

MobileFirst SSL хранилище ключей

#

Расположение хранилища ключей SSL-сертификатов. ssl.keystore.path= CONF /default.keystore

Тип хранилища ключей сертификата SSL (jks или PKCS12) ssl.keystore.type=jks

Пароль хранилища ключей SSL сертификата. ssl.keystore.password = Worklight

5) файл server.xml:

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

Я также пытался поставить "по умолчанию" в качестве идентификатора.

1 ответ

Решение

Вы не настроили 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

Другие вопросы по тегам