繁体   English   中英

如何使用Android版IBM Worklight 6.2支持客户端证书相互认证?

[英]How to support Client Certificate Mutual Authentication with IBM Worklight 6.2 for Android?

我是Android的新手,但我一直是移动Web应用程序的Web开发人员。 并且我们需要将此Webapp包装在Worklight Android Hybrid App中。 我们有一个移动Web应用程序,它使用X509证书依赖于客户端证书相互身份验证来确保安全性。

我们已经有一个执行以下任务的iOS混合应用程序:

- Check if Certificate is installed
- Redirect to Certificate Repository
- Download Certificate from the Repo
- Install Cert in App KeyChain
- Redirect to Secured WebApp with Client Cert Authentication

我们已通过覆盖UIViewController并基于Apple的代码创建CustomHTTPProtocol在iOS中实现了此功能: https : //developer.apple.com/library/ios/samplecode/CustomHTTPProtocol/Listings/Read_Me_About_CustomHTTPProtocol_txt.html ,要提供一个较大的片段。

简而言之:我们只想知道如何使用Android和WorkLight中的客户端证书来处理网页。 是来自MainActivity,CordovaWebView还是CordovaWebViewClient? 我们不想像这里的代码那样忽略证书: https : //www.ibm.com/developerworks/community/blogs/mobileblog/entry/apache_cordova_working_with_certificates_on_android?lang=en

我正在挖掘所有相关的解决方案,但找不到任何可以提供答案的解决方案。 我不确定我是否需要直接在Android中处理HttpsURLConnection。

在工作灯中,您通过适配器与后端联系。 因此,从您的应用程序中调用适配器,然后调用后端。 在适配器层处理安全性等。 因此,在这种类型的体系结构中,您可以通过定义密钥库(以及在该密钥库中使用的证书)来配置Worklight服务器。 当适配器尝试联系已为其配置了相互身份验证的后端时,它将使用该适配器。 然后,您可以将后端的CA证书添加到运行Worklight的应用程序服务器的信任存储中,以便Worklight也可以验证后端。 因此,主要来说,您需要执行以下操作:

  • 使用Worklight适配器联系后端
  • 通过在worklight.properties或JNDI条目中指定,使用密钥库配置Worklight服务器
  • 将后端的CA证书添加到运行worklight服务器的App服务器的信任存储中
  • 在适配器的xml文件中提及sslCertificateAlias,密码等
  • 从应用程序调用此适配器以进入后端

此处可以找到有关在适配器中完成的密钥库和SSL配置的信息。

而且这种方法对Android和iOS均适用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM