ubuntu 如何生成fullchain.pem和privkey.pem?

wdebmtf2  于 2022-11-22  发布在  其他
关注(0)|答案(2)|浏览(342)

我正在尝试安装此项目:https://github.com/versatica/mediasoup-demo
它需要fullchain.pemprivkey.pem文件。我如何在Ubuntu 20上用openssl或类似的东西生成这些文件?

nue99wik

nue99wik1#

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

sulc1iza2#

虽然这个公认的答案看起来是有效的(部分),但它也有缺陷。下面给出了自签名证书所需的大部分内容:

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客户端兼容。

相关问题