安装 OpenSSL

1
sudo apt install openssl
1
brew install openssl

检查是否安装成功

1
openssl version

创建证书

1
2
3
4
5
6
7
openssl req -newkey rsa:4096 \
-x509 \
-sha256 \
-days 365 \
-nodes \
-out example.crt \
-keyout example.key
  • -newkey rsa:4096 指定秘钥位数,需要是 1024 的倍数,默认 2048 位。
  • -x509 指定证书类型。
  • -sha256 指定加密类型为 sha256
  • -days 365 指定证书有效天数
  • -nodes 生成的证书打开不需要密码
  • -out example.crt 指定证书所在路径
  • -keyout example.key 指定证书秘钥所在路径

如果需要查看更多选项可以使用 openssl help req 查看,
如果需要查看 OpenSSL 更多功能可以使用 openssl help 查看。

按照提示,把信息填写完整后即可获得证书。

需要注意的是 Common Name (e.g. server FQDN or YOUR name) 这个需要填写你的域名 test.example.com ,我这里是用的 ip。

给 192.168.1.42 签证书

无提示创建证书

如果需要自动化创建,可是使用 -subj 来指定上面的提示问题。

1
2
3
4
5
6
7
8
openssl req -newkey rsa:4096 \
-x509 \
-sha256 \
-days 365 \
-nodes \
-out example.crt \
-keyout example.key \
-subj "/C=CN/ST=Beijing/L=Beijing/O=jack.vip/OU=Jack Department/CN=192.168.1.42"
  • C=-国家/地区名称。 ISO的两个字母缩写。
  • ST= -州或省名。
  • L= -地区名称。您所在的城市的名称。
  • O= -您组织的全名。
  • OU= -组织单位。
  • CN= -完全限定的域名。