美好的一天!
我正在开发类似REST的API,可通过HTTPS访问。我的证书由CA颁发,并有中间证书(我的证书有3个级别:AddTrust - > Comodo - > EssentialSSL - >我的证书)。
我想为我的API用户提供我的.NET和PHP SDK的证书链,就像Facebook一样: https://github.com/facebook/php-sdk/blob/master/src/fb_ca_chain_bundle.crt
我通过逐个订购我的证书创建了类似的文本文件,它适用于命令行curl和PHP curl库。
但是当我只有一个根证书(在我的情况下是AddTrust)时它才有用。
我是否应该将所有证书捆绑在我的SDK或只有一个根证书?
答案 0 :(得分:0)
您 需要 捆绑您不希望用户拥有的任何证书。如果您缺少链中的中间证书,则下面的所有证书都将无效。
您的证书由EssentialSSL发布;如果没有EssentialSSL的中间证书,系统无法知道您的证书是否有效,或者它最终会追溯到AddTrust。例如,我已经为AddTrust和Comodo安装了证书,但没有安装EssentialSSL,因此我的系统不会认为您的证书是可信任的。
当你说“当我只有一个根证书时它可以正常工作”时,你究竟是什么意思?根据定义,您总是在链中只有一个根证书;其余的是由更高级别的人发布的中间证书。你能更具体地了解一下你实际遇到的问题吗?