生成私钥文件
openssl genrsa -des3 -out ca.key 2048
创建证书请求
openssl req -new -key ca.key -out ca.csr
生成ca.crt
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
go生成证书的步骤:
-
找到openssl的配置文件:打开copy_extensions=copy
-
打开req_extensions = v3_req
-
找到 v3_req 添加subjectAltName = @alt_names
-
添加新的标签 alt_names,再添加标签字段:DNS.1=*.xxx.com,可以配置多个
-
生成证书私钥:
openssl genkey -algorithm RSA -out server.key
- 通过私钥server.key生成证书请求文件server.csr:
openssl req -new -nodes -key server.key -out server.csr -days 36500 -config ./openssl.cnf -extensions v3_req
7.生成SAN证书
openssl x509 -req -days 365 -in server.csr -out server.pem -CA ca.crt -CAkey ca.key -CAcreateserial -extfile ./openssl.cnf -extensions v3_req
key: 服务器上的私钥文件,用于对发送给客户端数据的加密,对客户端收到数据的解密
csr: 证书签名请求文件,用于提交给证书颁发机构(CA)对证书的签名。
crt: 由证书颁发机构(CA)签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有人的公钥,签署者的签名等信息
pem: 是基于Base64编码的证书格式,扩展名包括PEM、CRT、CER。
SAN: Subject Alternative Name 是SSL标准x509中定义的一个扩展,使用了SAN字段的SSL证书,可以扩展此证书支持的域名,使得一个证书可以支持多个不用域名的解析。
一般win用crt扩展名linux用pem扩展名