如何在Linux上创建自己的通配符证书?

Thi*_*Lam 31 certificate ssl-certificate

有谁知道是否可以在Ubuntu下创建自己的通配符证书?例如,我希望以下域使用一个证书:

https://a.example.com
https://b.example.com
https://c.example.com
Run Code Online (Sandbox Code Playgroud)

Ola*_*ock 65

只需按照OpenSSL创建自己的证书的许多步说明中的一个,但用"Common Name" 替换. www.example.com*.example.com

通常你需要保留更多的钱准备获得证书.

> openssl req -new -x509 -keyout cert.pem -out cert.pem -days 365 -nodes
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:Germany
Locality Name (eg, city) []:nameOfYourCity
Organization Name (eg, company) [Internet Widgits Pty Ltd]:nameOfYourCompany
Organizational Unit Name (eg, section) []:nameOfYourDivision
Common Name (eg, YOUR name) []:*.example.com
Email Address []:webmaster@example.com
Run Code Online (Sandbox Code Playgroud)

(对不起,我最喜欢的howto是德语文本,我没有现成的,目前找不到,因此'很多'链接)

2017年编辑:这个问题的原始答案来自2009年,当时证书的选择不包括像Let's Encrypt这样的全自动和免费选项.现在(如果让我们加密的"域验证"认证级别够你的目的)是微不足道的获得为每个子域个人证书.如果您需要比域验证更高的信任级别,则通配符证书仍然是一个选项.

同样从2017年起,请注意以下评论,@ ha9u63ar:

根据RFC 2818秒.3不再推荐使用CN进行主机名识别(不建议使用)主题备用名称(SAN)似乎是要走的路.

我对此评论的回答:我相信现在任何颁发通配符证书的CA都会有一套适当的指令.对于自签名的快速修复,我不担心.另一方面,由于LetsEncrypt现在已经存在,自从我创建了一个自签名证书以来已经有很长一段时间了.哎呀,这个答案确实显示了它的年龄.

  • 我相信这适用于`https:// xyz.example.com`,但不适用于`https:// example.com`.Google for SAN(subjectAltName)扩展名. (3认同)
  • 根据 RFC 2818 秒。3 不再推荐使用 CN 作为主机名标识(已弃用)主题备用名称 (SAN) 似乎是要走的路。 (2认同)