Worklight 混合应用程序中的自定义证书验证

Posted

技术标签:

【中文标题】Worklight 混合应用程序中的自定义证书验证【英文标题】:Custom Certificate Validation in Worklight Hybrid Apps 【发布时间】:2015-11-30 08:00:22 【问题描述】:

我正在尝试在 Worklight 应用程序中进行一些自定义证书验证。这意味着我想根据我拥有的一些自定义证书来验证某个特定网站的服务器证书。

那么 WL 中是否支持在 https 连接期间进行自定义证书验证?

如果没有此类支持,我必须以自己的方式进行,我可以在我的设备中使用哪种证书格式来验证服务器证书?证书格式是否独立于 WL,完全依赖于我们使用的平台,如 androidios

注意:我正在为 Android 和 iOS 设备开发 WL 混合应用程序。所以我期待两个平台的答案,如果两个平台不同的话。

【问题讨论】:

【参考方案1】:

我能想到的最接近的是 MobileFirst Platform Foundation 7.1 中的证书固定。

您可以在以下用户文档主题中阅读有关此支持的更多信息:http://www-01.ibm.com/support/knowledgecenter/SSHS8R_7.1.0/com.ibm.worklight.monitor.doc/monitor/c_cert_pinning_intro.html?lang=en

【讨论】:

您好伊丹,感谢您的回复。我浏览了文档。我有几个疑问。 1. WL 的证书锁定功能是否也将应用于 URL 证书锁定。即,如果我想为特定 URL 固定一个证书,那么只有当我的证书与来自 url 的服务器证书匹配时,它才应该继续。 2. 如果它适用于 URL 证书固定,并且由于一次只能固定一个证书,是否意味着我们一次只能访问一个 url。每次都要访问一个新的url,是否需要调用pinTrustedCertificatePublicKey方法并使用新的证书? 固定只适用于应该是 MFP 服务器的特定 URL。 pinning API 应该在应用生命周期中只调用一次 - 但在向 URL(服务器)发出任何请求之前。 再次感谢您的回复。但我想 API 不会满足我的目的。我有以下要求。 1. 我希望为 facebook.com 固定证书 2. 因此,当从 WL 应用程序 ping facebook.com 时,它应该从 facebook.com 服务器获取证书并首先使用固定的证书进行验证(即我固定的任何证书对于 facebook.com) 3. 如果经过验证,它应该继续,否则它应该拒绝。 WL中有没有其他方法可以达到上述目的?

以上是关于Worklight 混合应用程序中的自定义证书验证的主要内容,如果未能解决你的问题,请参考以下文章

Worklight 6.0 Android 混合应用程序不会进入登录页面

WCF 服务中的自定义客户端证书和用户名验证

IBM Worklight 6.0 - 启用控制台登录身份验证后混合端口号?

IBM Mobilefirst V8 - 使用 Ionic v3.20.0 的混合应用程序的自定义直接更新没有发生

Worklight 单步验证和 SQL 适配器

IBM Worklight - 调试 Worklight 身份验证器和/或登录模块