openssl自签名证书教程(单域名证书/泛域名证书/多域名证书)

文章2021-03-26
openssl自签名证书教程(单域名证书/泛域名证书/多域名证书)-下一朵云

openssl自签名证书与私有CA签名证书有区别,本文只讲openssl自签名证书的操作教程,请勿混淆影响理解。

  • 1)openssl自签名单域名证书
  • 2)openssl自签名泛域名、多域名证书

1)openssl自签名单域名证书

openssl自签名证书教程(单域名证书/泛域名证书/多域名证书)-下一朵云

自签名证书一共三个步骤,1.生成非对称密钥 2.创建证书请求文件 3.自签名证书

##新建一个文件夹,cd到此文件夹,后续操作生成的文件,使用的文件均在次文件夹下。
1.生成非对称密钥 
//rsa密钥生成 
openssl genrsa -out rsa.key 2048 
//查看密钥 
openssl rsa -text -in rsa.key 
//导出公钥 
openssl rsa -in rsa.key -pubout -out rsa-public.key 
2.创建证书的签名文件csr 
//创建csr文件 
openssl req -new -key rsa.key -out rsa.csr    
//Common Name :www.example.com  
//CommonName为证书颁发给的域名,一定要填写正确
//其他选项符合输入条件的情况下可随意填写,如果国家CN,省份GD,城市guangzhou等

//查看csr文件 
openssl req -text -in rsa.csr -noout
3.自签名证书 
openssl x509 -req -days 365 -in rsa.csr -signkey rsa.key -out rsa_example.cer
//也可根据使用情况生成crt格式的文件,如rsa_example.crt

2)openssl自签名泛域名、多域名证书

如何生成泛域名证书和多域名证书呢?

a.泛域名证书在csr文件创建的时候,在Common Name选项输入 *.example.com即可

多域名证书又是什么呢?如下图,我的自签名证书是颁发给*.orcy.net的然而orcy.top的域名依然可以使用,这又是如果做到的呢?

openssl自签名证书教程(单域名证书/泛域名证书/多域名证书)-下一朵云

这是因为我在创建csr文件、自签名证书的时候添加了使用者可选名称如下图,此证书颁发后所有的可选名均可使用,如淘宝,ETAO等大型多域名网站均采用此种方式。

openssl自签名证书教程(单域名证书/泛域名证书/多域名证书)-下一朵云

b.自签多域名证书

1.生成非对称密钥,如单域名证书
2.新建md.cnf文件,从opessl.cnf中复制相关字段到md.cnf并修改 
[req] 
prompt = no 
distinguished_name = dn365 
req_extensions = ext 
[dn] 
CN = www.example.com 
emailAddress = example@example.com 
O = example 
L = guangzhou 
ST = GD 
C = CN
[ext]
subjectAltName = DNS:www.1111.com,DNS:www.2222.com,DNS:www.3333.com,IP:192.168.1.1
//使用md.cnf创建csr文件
openssl req -new -config md.cnf -key md.key -out md.csr
3.自签名多域名证书 
//新建md.ext文件,写入以下内容 
subjectAltName = 
DNS:www.1111.com,DNS:www.2222.com,DNS = www.3333.com,IP:192.168.1.1 
//内容和生成csr文件时的md.cnf文件一致 

//使用md.ext文件自签名证书
openssl x509 -req -days 365 -in md.csr -signkey md.key -out md.der -extfile md.ext

#附一张我自签发成功,部署在nginx的实例:

openssl自签名证书教程(单域名证书/泛域名证书/多域名证书)-下一朵云

#后续更新openssl私有CA签名证书操作教程,留一个传送门《openssl私有CA签名证书教程》

openssl自签名证书教程(单域名证书/泛域名证书/多域名证书)-下一朵云