如何生成全链.Pem和privkey.pem?



我正在尝试安装这个项目:https://github.com/versatica/mediasoup-demo

需要fullchain.pemprivkey.pem文件。我如何在Ubuntu 20上使用openssl或类似的东西生成这些?

openssl genrsa > privkey.pem
openssl req -new -x509 -key privkey.pem > fullchain.pem

虽然公认的答案似乎有效(部分有效),但它有缺陷。下面提供了自签名证书所需的大部分内容:

openssl req -new -x509 -nodes -subj "/CN=my.root" -newkey rsa:2048 -keyout ca.key -out ca.crt -reqexts v3_req -extensions v3_ca
openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout domain.key -config ext.conf -out domain.csr
openssl x509 -req -in domain.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out domain.crt -days 500 -sha256 -extfile ext.conf -extensions req_ext

样本ext.conf:

[req]
default_bits = 2048
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = some_dn
[some_dn]
C = US
ST = Florida
L = Jacksonville
O = SomeOrg
emailAddress = some@email.com
CN = thedomain.com
[req_ext]
subjectAltName = @alt_names
[alt_names]
DNS.1 = otherdomain.com
IP.1 = 1.2.3.4

指出:

  • 运行cp domain.key privkey.pem&cat domain.crt ca.crt > fullchain.pem获取OP提到的文件。(与接受的答案不同,全链必须包含CA)。
  • 省略-nodes,如果你希望密钥有一个密码短语。
  • ext.conf中,CN是您的域&alt_names包含它的别名(特别是如果你的服务器还没有指向一个域,把你的IP放在这里)。
  • 在客户端安装ca.crt作为根CA,以便您的证书被识别。
  • -reqexts v3_req -extensions v3_ca确保CA证书与android客户端兼容。

相关内容

  • 没有找到相关文章

最新更新