从头开始从Let的加密生成CRT和KEY ssl文件

Syl*_*ain 10 ssl ssl-certificate lets-encrypt

我想用Let's Encrypt(带手动挑战)生成一个CRT/KEY耦合SSL文件.

我正在尝试这样的事情:

certbot certonly --manual -d mydomain.com
Run Code Online (Sandbox Code Playgroud)

但我只在我的文件中获取这些文件/etc/letsencrypt/live/mydomain.com folder:

  • cert.pem
  • chain.pem
  • fullchain.pem
  • privkey.pem

我错过了什么吗?

Coo*_*J86 18

我是Greenlock的作者,是一个与certbot兼容的Let's Encrypt v2客户端,因此我必须了解所有这些内容的来龙去脉.

希望这有助于:

privkey.pem 是"关键"文件

CRT

cert.key 是你的"crt"文件

CRT/KEY套装

example.com.key 将这样做: fullchain.pem

HAProxy是我所知道的唯一使用的服务器example.com.crt.

但是,您通常不会单独使用cert.pem.它几乎总是与chain.pem结合为fullchain.pem.

cert.pem

bundle.pem 仅包含您的证书,如果浏览器已经拥有签署的证书,它可以自行使用,这可能在测试中起作用(这使得它看起来可能是正确的文件),但实际上很多都会失败生产中的用户具有不受信任证书的安全错误.

chain.pem

cat fullchain.pem privkey.pem > bundle.pem 是由根权限签名的中间签名权限 - 这是所有浏览器保证在其预先构建的缓存中具有的权限.

检查证书

您可以像这样检查证书:

openssl x509 -in certificate.crt -text -noout

这里有一些有用的命令:

https://www.sslshopper.com/article-most-common-openssl-commands.html

  • @GlennMohammad 说实话,我只是表明立场,并热衷于用没有押韵或理由的命名来平衡一个疯狂的世界。然而,我的技术推理是 PEM 是一种定义明确的 RFC 格式,而 .key 和 .crt 是不明确的(可能是 DER 或 PEM)。我会接受 .pem.crt 和 .pem.key 或 .cert.pem 和 .key.pem (或者类似的 der 变体)。 (3认同)
  • @CoolAJ86 哈哈哈,那好吧。你相当激进和技术性的推理对我来说实际上都是有意义的!所以再次感谢。 (2认同)