【发布时间】:2015-02-17 06:09:13
【问题描述】:
Apple 的安全传输 API 定义了一个函数 SSLSetCertificate,其中 certRefs 参数是一个证书数组。文档状态(强调添加):
您必须在
certRefs[0]中放置一个SecIdentityRef对象,该对象标识叶证书及其对应的私钥。指定根证书是可选的; 如果未指定,则验证此处指定的证书链的根证书必须存在于系统范围的可信锚证书集中。
虽然它说“根证书...必须存在”,但目前尚不清楚如此找到的信任链是否会真正提供给 SSL 对等方(尽管这很困难)考虑存在该要求的任何其他原因)。
如何确保向对等方提供完整的证书链(返回自签名根,或者系统信任锚) ?
特别是,必须所有组成证书都包含在此
certRefs参数中(或者这无关紧要)?
背景
这个问题跟随an earlier post on ServerFault。现在有了 RTFS,很明显 slapd calls
SSLSetCertificate和 only the host's identity certificate 并且在任何阶段都没有尝试为安全传输提供证书链 - 也许没关系(因为安全传输应该解决所有问题),但我有预感这可能是问题的原因。
【问题讨论】:
标签: macos ssl ssl-certificate secure-transport