MobileFirst 7.0 SSL 握手问题
Posted
技术标签:
【中文标题】MobileFirst 7.0 SSL 握手问题【英文标题】:MobileFirst 7.0 SSL Handshake issues 【发布时间】:2017-03-09 23:29:55 【问题描述】:我有一个连接到 HTTPS 端点的 MobileFirst Platform 7.0 javascript 适配器。我已使用 p12 证书文件直接通过 android、ios 和 Windows 连接到此端点,并且连接没有任何错误。但是,我似乎无法对 MobileFirst Platform 服务器上的 HTTP javascript 适配器执行相同的操作。
无论如何,我该怎么做?我已将 p12 的全部内容导出到 java 密钥库中,还从服务器导入了证书并将其添加到 java 密钥库中。但是,我不断收到以下错误:
Authentication failure in realm 'CustomAuthenticationRealm': javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
有人可以向我解释我做错了什么吗?
此外,我的 javascript 适配器正在使用以下别名和密码配置连接到本地 jks:
`<sslCertificateAlias>my alias</sslCertificateAlias>
<sslCertificatePassword>my password</sslCertificatePassword>`
我的 worklight.properties 也设置如下:
ssl.keystore.path=conf/mykeystore.jks
ssl.keystore.type=jks
ssl.keystore.password=mypassword
非常感谢任何信息!
【问题讨论】:
您是否已将后端证书添加到服务器的信任库中?您是否打算使用相互 SSL 身份验证 我将证书添加到在 worklight.properties 中分配的密钥库中。我应该使用另一个信任库吗?如果有,它在哪里? 【参考方案1】:我找到了答案。显然,当从 MFP 的 javascript 适配器进行安全连接时,可能需要在 2 个位置安装证书。一个位于服务器目录中的 key.jks 中,另一个位于创建的自定义密钥库中,该密钥库在 worklight.properties 中引用。
【讨论】:
以上是关于MobileFirst 7.0 SSL 握手问题的主要内容,如果未能解决你的问题,请参考以下文章
SSL 握手警报:升级到 Java 1.7.0 后出现 unrecognized_name 错误
MobileFirst 7.0 Studio - Android 2.3.x 支持