cret.md
2.01 KB
证书制作
ca证书生成流程(在升级版本的GO中已经不支持读取)
使用-subj参数,指定服务器的相关信息,与之前的不同,此时不需要引导输入。
openssl req \
-x509 \
-nodes \
-newkey rsa:2048 \
-keyout ca.key \
-out ca.crt \
-days 3650 \
-subj "/C=CN/ST=ZheJiang/L=ZheJiang/O=Global/CN=pro2d Security/OU=IT Department/CN=pro2d"
SAN证书生成(使用开启扩展SAN的证书)
生成私钥
$ openssl genpkey -algorithm RSA -out server.key
根据私钥server.key生成证书请求文件server.csr:
openssl req -new -nodes -key server.key -out server.csr -days 3650 \
-subj "/C=CN/OU=IT/O=Global/CN=pro2d/L=ZheJiang" \
-config openssl.cnf -extensions v3_req
验证证书CSR的扩展属性
$ openssl req -noout -text -in server.csr
生成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
- server.csr是前面步骤生成的证书请求文件。
- ca.crt & ca.key 是CA证书文件和key,用来对server.csr进行签名认证。
查看SAN信息在证书内容
$ openssl x509 -noout -text -in server.pem
现在证书已经生成完毕, server.pem 和 server.key正式我们需要的证书和密钥
一键生成
$ openssl req \
-x509 \
-nodes \
-newkey rsa:2048 \
-keyout keys/ca.key \
-out keys/ca.crt \
-days 3650 \
-subj "/C=CN/ST=ZheJiang/L=ZheJiang/O=Global/CN=pro2d Security/OU=IT Department/CN=pro2d"
$ openssl genpkey -algorithm RSA -out keys/server.key
$ openssl req -new -nodes -key keys/server.key -out keys/server.csr -days 3650 -subj "/C=CN/OU=IT/O=Global/CN=pro2d/L=ZheJiang" -config keys/openssl.cnf -extensions v3_req
$ openssl x509 -req -days 365 -in keys/server.csr -out keys/server.pem -CA keys/ca.crt -CAkey keys/ca.key -CAcreateserial -extfile keys/openssl.cnf -extensions v3_req