如何创建私有CA的 SSL 证书?
1:创建 CA 私钥
$ openssl genrsa -des3 -out ca.key 4096
2:生成 CA 的自签名证书,其实 CA 证书就是一个自签名证书
$ openssl req -new -x509 -days 365 -key ca.key -out ca.crt
3:生成需要颁发证书的私钥
$ openssl genrsa -des3 -out server.key 4096
4:生成要颁发证书的证书签名请求
** Ps:证书签名请求当中的 Common Name
必须区别于 CA 的证书里面的 Common Name
$ openssl req -new -key server.key -out server.csr
5:创建一个ext文件,内容如下
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth, clientAuth
subjectAltName=@SubjectAlternativeName
[ SubjectAlternativeName ]
DNS.1=abc.com
DNS.2=*.abc.com
6:用2
创建的 CA 证书给4
生成的签名请求
进行签名
$ openssl x509 -req -days 365 -extfile http.ext -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
7:最终会得到一下几个文件
ca.crt: 这个是ca证书,客户端信任该证书意味着会信任该证书颁发出去的所有证书
ca.key: ca证书的密钥
server.key: 服务器密钥,需要配置的
server.csr: 证书签名请求,通常是交给CA机构,这里我们就自己解决了
server.crt: 服务器证书,需要配置的