目录约定 /usr/local/nginx/conf/certificate/ ca 目录是签发其他证书的根 server 目录存储服务器证书,实际上服务器证书不由自己签发,应该购买或者使用let encrypt生成 client 目录存储客户端证书,这个在使用双向认证时才使用。而且需要转成pkcs#12格式。
创建各种证书的方法: 简单科普:*.key表示私钥文件,*.pub表示公钥文件,*.csr表示签名请求文件,*.crt表示证书文件。也有些机构或者人不区分.key和.pub,这里私钥文件名都会加_private标记。
创建ca: ? ? // 先创建ca私钥 ? ? openssl genrsa -out ca_private.key 4096 ? ? // 自签名证书 ? ? openssl req -new -key ca_private.key -out ca.crt -x509 -days 3650
创建其他种类的证书: ? ? // 也是需要先创建私钥 ? ? openssl genrsa -out server_private.key 4096
? ? // 生成签名请求 ? ? openssl req -new -key server_private.key -out server.csr
? ? // 用ca证书签名这个请求 ? ? openssl x509 -req -days 365 -CA ca.crt -CAkey ca_private.key -CAcreateserial -in server.csr -out server.crt
? ? // 客户端证书需要转成pkcs#12结构 ? ? openssl pkcs12 -export -in client.crt -inkey client_private.key -out client.p12
查看文件: ? ? // 查看私钥公钥文件 ? ? openssl rsa -text -in server_private.key
? ? // 查看签名请求为难 ? ? openssl req -text -in server.csr
? ? // 查看证书 ? ? openssl x509 -text -in server.crt
?
|