哪些 SSL 证书可以在没有中间证书的情况下工作?

哪些 SSL 证书可以在没有中间证书的情况下工作?

我们需要部署一个内置有自己的 SSL 证书的服务器应用程序。这将被推送到未知数量的服务器上,这些服务器会时断时续。

我们可以使用任何 CA 生成此证书,但最终我们只会得到 509 证书 pfx 文件(由 godaddy 或任何 CA 颁发)。我们可以拿到中间证书,但这个 Web 服务器很简单,只允许我们指定 pfx 文件。

我们将无法分发或安装中间证书。

该应用程序是一个在Win2008及更高版本上运行的C#应用程序。

有什么方法可以解决这个问题?

-- 是否存在足够可靠的证书,使得浏览器无需中间证书就可以信任它?

- 或者 ?

答案1

您可以将信任链中的其他证书添加到使用 openssl 的 PKCS #12 文件

例如,要包含信任链,您可以使用以下命令:

openssl pkcs12 -export -in input.pfx -out bundle.pfx -CAfile allcacerts.crt -chain

这将尝试将整个证书信任链包含在您的输出 pfx 中。您可能需要包含-passin <input password>-passout <output password>以满足密码要求。您可以强制包含任何特定证书,以-certfile cacert.crt包含该文件中的所有证书。

您可以使用相同的实用程序检查 pfx 文件以查看其内容并打印大量诊断信息。

openssl pkcs12 -in bundle.pfx -info

相关内容