我们有一台服务器使用自签名证书托管HTTPS界面(我已经等了两周才能获得GoDaddy的认可证书,我希望我迟早能得到它我需要得到它使用HTTPS接口进行开发。
我在本地计算机上有一份证书副本作为客户端,并且已经验证证书使用curl并将证书添加到我的Mac,因此我可以运行nscurl --ats-diagnostics https://。诊断工作正常,所有测试均已通过。
我的iPhone应用程序正在使用HTTP接口,我正在尝试将其升级为使用HTTPS。 urlRequest失败,出现NSURLSession / NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9813)。我已经使用SecItemAdd添加证书(尽管它是从.cert转换为.der类型的文件)。我很确定它正在工作,因为下次是SecItemAdd我得到一个errSecDuplicateItem错误。虽然-9813似乎表明没有根证书。
我已阅读了许多关于-9813的帖子,并使用自签名证书以及发布使用App Transport Security运送应用程序试图确定应在plist中设置哪些标志。许多帖子显示不同的帖子。到目前为止我正在使用:
//NSAppTransportSecurity <dict>
// NSAllowsArbitraryLoads <Boolean> Yes
// NSException Domains <dict>
// <my domain name> <dict>
// NSRequiresCertificateTransparency <Boolean> No
// NSExceptionAllowsInsecureHTTPLoads <Boolean> No
// NSExceptionMinimumTLSVersion <String> TLSv1.0
// NSIncludesSubdomains <Boolean> Yes
// NSExceptionRequiresForwardSecrecy <Boolean> Yes
任何帮助或建议将不胜感激。 感谢