美好的一天!为我的API提供CA链:我应该包含链中的所有证书吗?
我正在开发可通过HTTPS访问的类似REST的API。我的证书由CA颁发并具有中间证书(我的证书为3级:AddTrust - > Comodo - > EssentialSSL - >我的证书)。
我想提供证书链与我的.NET和PHP SDK为我的API,如Facebook的用户做: https://github.com/facebook/php-sdk/blob/master/src/fb_ca_chain_bundle.crt
我已经下令我的证书逐一及其创建的类似文本文件适用于命令行卷曲和PHP卷曲库。
但它工作时,我只有一个根证书(AddTrust在我的情况下)。
我是否应该将所有证书与我的SDK或仅一个根证书捆绑在一起?
首先,我真的认为我需要充分的链条,所以这里有一个问题。当我说“只有一个根证书时才起作用”,这意味着当我提供完整的curl链并需要进行SSL检查时,当我仅提供一个顶级根证书时,它的工作方式相同。 – artvolk 2012-03-14 20:51:33
您是否在开发机器之外的其他机器上测试了这个?如果中间证书安装到本地证书存储中,则根本不需要链。您需要找到没有安装“EssentialSSL”证书的计算机,以验证您的证书链是否正确加载。 – 2012-03-14 21:02:39
Windows上的命令行curl和php中的curl库默认情况下没有*任何证书*(甚至CA证书,如浏览器)。 – artvolk 2012-03-14 21:05:25