第三方应用程序可以访问iPhone的钥匙串以便添加X509证书吗?如果是,怎么办?
如果没有,它可以访问钥匙串只是为了从中读取证书吗?
基本上,我需要的是:
1)我的应用程序需要访问https站点,该站点使用未由任何可信CA签名的证书.当尝试通过https连接时,我得到一个例外.
2)如果我能以编程方式将根证书添加到钥匙串中,那就太棒了; 如果用户可以通过Safari访问该站点,接受其证书,然后使用我的应用程序访问该站点就足够了.
到目前为止,我一直在使用以下界面来超越https:
@interface NSURLRequest (DummyInterface)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host;
+ (void)setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString*)host;
@end
Run Code Online (Sandbox Code Playgroud)
但这不是我想要的.
有什么建议?
此 Apple 文档应记录足够的内容,以允许将自签名证书(或自签名证书颁发机构)添加到钥匙串中,并使其受信任。不过我没有测试过。来源
\n\n另请参阅此问题的最佳答案。然而,它似乎并没有真正验证证书的有效性。Cocoanetics 还记录了如何将 NSURLConnection 与自签名证书一起使用,并且类似地似乎也没有验证有效性。
\n\n因此,您几乎肯定要遵循 Apple 的指示。“从 *.P12 文件中提取和评估身份”部分似乎包含有关如何导入证书的完整示例,甚至是受密码保护的证书。
\n\n将其与“AdvancedURLConnections”示例代码和ServerTrustChallengeHandler类结合起来,您应该可以开始了。
这里还有一个由 Vanja Komadinovi\xc4\x87 编写的更完整的示例。
\n| 归档时间: |
|
| 查看次数: |
2433 次 |
| 最近记录: |