我希望能够安装客户端证书(例如通过电子邮件),然后使用该证书对我的应用发送的请求进行身份验证。我觉得Apple不会允许这种访问,但找不到任何明确的答案。是真的,还是有办法从应用程序中访问设备上安装的客户端证书?
修改:为了澄清,这是一个原生应用,而不是网络应用。
答案 0 :(得分:3)
您的应用只能使用您存储在自己的钥匙串中的内容(或共享相同配置证书的其他第三方应用的钥匙串)。 至于实际加载,我们使用openssl(我们确实在它周围写了一个obj-c包装器)来解码我们发送给应用程序的.p12。
在seting-> general->个人资料中加载的证书受到某种程度的保护,只有内置的应用程序(邮件,safari)可以在那里添加内容。
答案 1 :(得分:0)
要在您的应用中使用客户端证书,您必须在应用中将证书导入应用密钥链。 (请注意,您需要使用PKCS#12证书格式,但您需要在应用程序中注册(搜索导出的UTI和文档类型),使用不同的扩展名,而不是" .p12",这已经注册通过iOS。我在我的应用程序中使用过.x-p12) 见这里:iOS Client Certificates and Mobile Device Management 在这里:https://developer.apple.com/library/ios/qa/qa1745/_index.html