能否在我的应用程序中使用安装在iOS设备上的客户端证书?

10

我希望能够安装客户端证书(例如通过电子邮件),然后使用该证书对应用程序发送的请求进行身份验证。我感觉苹果不允许这种访问,但是找不到明确的答案。这是真的吗?还是有一种方法可以从应用程序内部访问设备上安装的客户端证书?

编辑:澄清一下,这是一个原生应用程序,而不是Web应用程序。

2个回答

3

您的应用程序只能使用存储在其自己的钥匙串中的内容(或共享相同签名证书的其他第三方应用程序的钥匙串)。至于实际的加载,我们确实使用了openssl(我们编写了一个obj-c包装器),以解码发送到应用程序的.p12文件。

在设置->通用->描述文件中加载的证书受到某种保护,只有内置应用程序(邮件、Safari)才能添加东西。


1
使用SafariServices的应用程序能否使用存储在Apple访问组中的客户端证书进行身份验证? - Björn

0

要在您的应用程序中使用客户端证书,您必须实现将证书导入到您的应用程序钥匙链中。 (请注意,您需要使用PKCS#12证书格式,但是您需要在应用程序中注册它(搜索导出的UTI和文档类型),并使用不同于“.p12”的扩展名进行注册,因为iOS已经注册了该扩展名。我在我的应用程序中使用了.x-p12) 请参见此处:iOS客户端证书和移动设备管理 以及这里:https://developer.apple.com/library/ios/qa/qa1745/_index.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接