【发布时间】:2017-06-25 22:42:39
【问题描述】:
有人可以在这里解释验证证书与使用自签名证书描述的区别吗:
和这里描述的 SSL 固定:
https://infinum.co/the-capsized-eight/how-to-make-your-ios-apps-more-secure-with-ssl-pinning
-
SecPolicyCreateSSL是什么意思? -
SecTrustEvaluate具体在做什么? - 第一个链接中的过程是否包括 SSL pinning?
- 如果不是,是否同时实现两者是个好主意?
谢谢
【问题讨论】:
-
SecPolicyCreateSSL 是一个用于评估 SSL 证书链的策略对象。 SecTrustEvaluate 是一个评估指定 SSL 证书和策略的信任的函数。
-
好的,谢谢您的回答,但这可以从函数名称中推导出来。例如 SecPolicyCreateSSL() 和 SecPolicyCreateBasicX509() 有什么区别?
-
第一个链接中的代码存在巨大的安全问题(调用 SecPolicyCreateSSL(true, NULL) 来禁用主机名验证,我的回答中描述了第 2 步)。
-
我知道。但这是验证自签名证书的唯一方法,对吧?
-
是的,但我仍然会为正确的名称自行签署证书,因此我不必禁用关键的安全功能(这在此处可能无关紧要,但人们复制和粘贴代码)。
标签: ios ssl https self-signed pinning