通过将常用的 kCFStreamSSLValidatesCertificateChain、kCFStreamSSLAllowsAnyRoot 等添加到 kCFStreamPropertySSLSettings 字典中 - 我可以使服务器和客户端身份验证工作。
但是,我看不到如何获得更细粒度的信息;IE
- 检测从未见过的服务器/CA 证书 - 并将接受升级到用户。
- 根据狭窄的信任列表验证我连接到的服务器的证书(例如,在以前的连接期间了解的证书)。
即我正在寻找的是 1) 类似于 MacOSX 上的 SSLSetTrustedRoots() 和 2) 类似于 kCFStreamErrorDomainSSL 中的错误/域回调(例如 errSSLPeerCertUnknown) - 在 ipad/iphone 4.2.1 上似乎没有定义/可访问。
还是我错过了什么?还是我需要对回调做一些明确的事情?示例赞赏(AdvancedURLConnections 示例不太适用 - 我有一个原始(IRC)套接字)。
谢谢,
德。