数字证书 2017-06-04 00:00

自签名(self-signed)证书

自签名证书就是用自己的public-key签名生成的证书,root CA就是自签名证书。

生成自签名证书

openssl req -subj "/CN=ROOT CA/" -x509 -sha256 -newkey rsa:2048 -keyout CA.key -out CA.cer -days 3650 -nodes

签名证书

root CA签名证书

1
2
3
4
5
6
7
#!/bin/bash

set -xe
read -p "Enter your ip or domain:" domain
openssl genrsa -out "${domain}.key" 2048 
openssl req -new -out "${domain}.req" -key "${domain}.key" -subj "/CN=${domain}/"
openssl x509 -req -in "${domain}.req" -out "${domain}.cer" -CAkey CA.key -CA CA.cer -days 3650 -set_serial 01 -sha256

CN(COMMON NAME)

如果证书要支持多个host,CN可以用通配符*,比如 *.example.org可以支持example.org下面所有的sub domain。

但是如果要支持多个域名的话,通配符就无能为力了。比如要同时支持 a.comb.com。这种情况可以用SAN来解决。