Ошибка вызова 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