如何从IOS中的系统密钥链中读取证书,以便在SAP fiori客户端中进行相互身份验证

时间:2017-05-16 14:47:42

标签: ios sap-fiori

我们正在实施一个为IOS设备开发自定义fiori客户端(SAP)的场景。应用程序最初调用F5反向代理服务器以进行相互身份验证。这里,应用程序(本机)必须从设备的系统密钥链中读取用户证书,并将其提供给F5服务器进行身份验证。

用户证书将作为Microsoft Intune在设备中注册的一部分进行安装。所以,我们在这里使用的MDM是Microsoft Intune。根据SAP提供的解决方案,p12文件必须包含在X代码项目的resources文件夹中,同时构建fiori客户端,由于客户端的安全策略而无法实现。因此,必须在用户启动应用程序时动态读取,并将其呈现给代理服务器以进行进一步的身份验证。

任何人都可以通过IOS编码或任何其他方式为我们提供可行的解决方案,以达到当前的要求。

提前致谢.....

3 个答案:

答案 0 :(得分:1)

以下是一些可用于将客户端证书配置到ios fiori app的选项

  1. SAP Afaria证书提供商。设备需要使用SAP afaria作为MDM
  2. SAP Mobile Secure证书提供商。该设备需要使用SAP云平台移动安全作为MDM
  3. 获取第三方SSO应用程序,可以将客户端证书导入其钥匙串,然后与fiori应用程序共享SSO应用程序的钥匙串
  4. 将客户端证书p12文件包含到应用程序包中或在运行时将p12文件下载到应用程序容器,然后使用Kapsel文件证书提供程序将证书添加到app keychain
  5. 将客户端证书文件作为电子邮件附件发送,并允许用户将证书导入fiori客户端
  6. 使用第三方MDM解决方案提供商的SDK实施自定义证书提供程序,以将客户端证书导入应用程序密钥链。 Using a Third-Party Certificate Provider

答案 1 :(得分:0)

在此博客Appendix F: Using OAuth with Kapsel中,有一节 这演示了一个应用程序将证书加载到其钥匙串中,然后是第二个应用程序共享第一个应用程序的钥匙串,以便它可以访问证书。

还有一个编写本机代码的概念,它实现了一个接口,登录插件在需要证书时会用它来调用。 这在Using the X.509 Certificate Provider Interface to Integrate with Third-Party Certificate Providers进一步描述 和 SAP Mobile SDK

答案 2 :(得分:0)

使用base64字符串,并使用InTune或URL参数将其导入。 MDM参数未加密,因此建议您使用链接。您可以通过加密将其添加为字符串,从而增加其他安全性。导入时只需考虑加密前后的base64证书即可。