我应该共享哪些证书文件?

我应该共享哪些证书文件?

我使用 acme.sh(强烈推荐)来生成证书。我这里有几个文件,我不知道哪些应该共享,哪些应该保留。

这些是我拥有的文件:
ca.cer
example.com.cer
example.com.csr
example.com.key
fullchain.cer

例子.com.conf
例子.com.csr.conf

uwsgi 需要这样的命令

uwsgi --master --https 0.0.0.0:8443,foobar.crt,foobar.key

这些文件看起来都很相似,当然它们都是密钥。我的问题是,每个文件的内容是什么?

答案1

我不知道哪些该分享,哪些该保留。

域名(例如example.com)证书和密钥文件通常是服务器需要知道的两个文件(例如 Windows 上的 Nginx 或 Apache)。某些软件可能会使用证书fullchain,或者与域名证书结合使用(例如Linux 上的 Apache)或者代替它(显然uwsgi),但这取决于软件本身。

具体来说uwsgi,基于此Let's Encrypt 论坛帖子,似乎可能需要fullchain证书和密钥来启动具有 SSL 支持的示例服务器(因此任何证书都可以代替您的示例中的)。example.comuwsgifullchainfoobar.crt


请注意官方 acme.sh GitHub 帐户声明“请勿使用~/.acme.sh/文件夹中的证书文件,它们仅供内部使用,文件夹结构将来可能会发生变化。”


每个文件的内容是什么?

  • 域证书文件通常发送给连接到服务器的客户端,而密钥文件则保存在服务器本身上。这些文件用于在客户端和服务器之间建立安全通信。

  • example.com.csr证书签名请求(CSR),发送到证书颁发机构(CA)例如 Let's Encrypt 允许 CA 向您颁发一组最终证书。

  • fullchain文件是一个签名的域证书(如果我没记错的话),它与一个或多个中间证书连接在一起,构成颁发证书颁发机构 (CA) 链。这有关证书链如何工作的 digicert 文章可能会对中级 CA 证书以及它们为何重要感兴趣。

至于其余项目,虽然我不熟悉acme.sh,但我猜是CA.cer上面提到的中级 CA 证书。似乎和example.com.conf是给定域example.com.csr.conf的配置文件acme.sh。但同样,这只是猜测。

但是,您应该能够通过在标准文本编辑器中打开相关文件(即通过比较example.com.cerca.cerfullchain.cer并简单查看相关.conf文件)来验证这些假设。

相关内容