项目设置: - 最低iOS版本 - 8.0
正如Apple在2016年WWDC上宣布的那样,今年晚些时候(2017年1月),所有应用程序都必须支持以前通过在info.plist中添加密钥而被绕过的应用程序传输安全性。
现在根据使用TLSv1.2在iOS 9和macOS 10.11中引入Application Transport Security的文档
链接: - https://developer.apple.com/library/content/releasenotes/General/WhatsNewIniOS/Articles/iOS9.html
我的应用程序正在使用HTTP。
通过以下链接如何实现: -
1. http://initwithfunk.com/blog/2014/03/12/afnetworking-ssl-pinning-with-self-signed-certificates/
2. http://stackoverflow.com/questions/32258330/afnetworking-problems-with-tls-verification-of-a-self-signed-server-root-ca
3. https://fastchicken.co.nz/2016/03/21/increasing-your-trust-certificate-pinning-on-ios/
在此之后,我有几个问题: -
1. Using TLSv1.2 with iOS 8, What would be the impact?
2. Using SelfSigned Certi or third party certi would be benifited ?
任何帮助都会得到赞赏 感谢
答案 0 :(得分:3)
首先验证SSL证书是开发人员可以提供的基本方法之一,用于在应用程序和服务器之间提供安全连接。
阅读OWASP的好陈述。
1)使用iOS 8的应用程序中的传输层安全性将使您的应用程序与应用程序和服务器之间的安全连接感到迷惑。 这可以通过提供SSL pinning来实现。
2)自签名证书:
在加密和计算机安全方面,自签名证书是一种 由身份相同的实体签署的身份证书 它证明了。
尽可能断定你是自己去签名证书。主要的缺点是Man-in-the-middle attack的可能性,因为自签名证书不能被撤销。
如果目的是提供安全连接,请尽量不要使用某些第三方,我认为您理解为什么。
我的方法是使用SSL pining和OpenSSL