Я просматривал все ссылки, связанные с проблемой, с которой я столкнулся, и не мог понять / понять, что я делаю неправильно:
Описание:
Я пытаюсь настроить свой локальный сервер разработки WL для безопасного подключения к нашему бэкэнду.
наша команда PaaS предоставила мне наше хранилище ключей WL Enterprise, которое содержит все сертификаты, необходимые для подключения к бэкэнду. Хранилище ключей - .p12.
в worklight.properties:
#SSL certificate keystore location.
ssl.keystore.path=conf/ecommerce_bk_mobile.p12
#SSL certificate keystore type (jks or PKCS12)
ssl.keystore.type=PKCS12
#SSL certificate keystore password.
ssl.keystore.password=*****
также устанавливается псевдоним и пароль SSL:
banking.services.ssl.certificate.alias=bkdev1_wl
banking.services.ssl.certificate.password=******
Adapter.xml:
<connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
<protocol>https</protocol>
<domain>mbcdev1mobile.com</domain>
<port>PORT-NUM</port>
<sslCertificateAlias>${banking.services.ssl.certificate.alias}</sslCertificateAlias>
<sslCertificatePassword>${banking.services.ssl.certificate.password}</sslCertificatePassword>
</connectionPolicy>
Я подтвердил, что ключ p12 имеет нужный мне сертификат:
Однако я получаю следующую ошибку:
Unable to find certificate chain with alias: 'bkdev1_wl'
(Конфигурация, упомянутая выше, соответствует нашему фактическому корпоративному серверу, но корпоративный сервер может подключаться, и я не через свой локальный)
1. Как включить ведение журнала SSL на сервере разработки WL?
(Я добавил <logging traceSpecification="*=fine: com.worklight.*=debug=enabled : com.ibm.ws.ssl.*=all=enabled"/>
), но это не сработало.
2. Что мне не хватает?
3.Есть ли четкие инструкции по настройке?
Версия WL: 6.2.0.01.20150214-1613
Спасибо
ИЗМЕНИТЬ
Я просматривал конфигурацию, и у меня есть следующие вопросы:
После того, как я включил ведение журнала SSL, я обнаружил, что WL идет после своего хранилища по умолчанию, которое (key.js) находится по этому пути:
/Users/sam/Documents/workspace/WorklightServerConfig/servers/worklight/resources/security/key.jks
Это означает, что WL даже не читает свое собственное свойство, в котором я установил местоположение хранилища ключей:
ssl.keystore.path=conf/ecommerce_bk_mobile.p12
Я тоже сделал следующее: внутри моего runtime-web.xml, расположенного ниже:
/Users/sam/Documents/workspace/WorklightServerConfig/IPAS
Я заставил сервер забрать мой ключ:
<env-entry>
<description>[OPTIONAL] SSL certificate keystore location. Default: conf/default.keystore.</description>
<env-entry-name>ssl.keystore.path</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>conf/ecommerce_bk_mobile.p12</env-entry-value>
</env-entry>
<env-entry>
<description>[OPTIONAL] SSL certificate keystore type. Valid keystore types: jks, PKCS12. Default: jks.</description>
<env-entry-name>ssl.keystore.type</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>PKCS12</env-entry-value>
</env-entry>
<env-entry>
<description>[OPTIONAL] SSL certificate keystore password.Default: worklight.</description>
<env-entry-name>ssl.keystore.password</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>********</env-entry-value>
</env-entry>
Я не уверен, нужно ли мне вносить какие-либо изменения в мой файл jvm.options, чтобы заставить WL идти после пути к хранилищу ключей, который я определяю в его свойстве:
Содержимое JVM:
-Dfile.encoding=UTF-8
-Duser.language=en
-Duser.country=US
-Djava.awt.headless=true
-Dwas.debug.mode=true
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10777
-Dcom.ibm.websphere.ras.inject.at.transform=true
-Dcom.ibm.ws.jmx.connector.client.rest.readTimeout=180000
-Dibm.worklight.admin.db.type=DERBY
-Xmx1024m
-DwlDevEnv.enableCreateTables=true
-Djmx.remote.x.client.connection.check.period=0
-DwlSyncStart=false