1. 生成自签名的证书
通常要配置 https 的服务器,都需要一个由正式的 CA 机构认证的 X509 证书。当客户端连接 https 服务器时,会通过 CA 的共钥来检查这个证书的正确性。但要获得 CA 的证书是一件很麻烦的事情,而且还要花费一定的费用。因此通常一些小的机构会是使用自签名的证书。也就是自己做 CA,给自己的服务器证书签名。
这个过程有两个主要的步骤,首先是生成自己的 CA 证书,然后再生成各个服务器的证书并为它们签名。 我是用 OpenSSL 来生成自签名证书的。
第一步是制作 CA 的证书:
openssl genrsa -des3 -out my-ca.key 2048 openssl req -new -x509 -days 3650 -key my-ca.key -out my-ca.crt
这会生成 my-ca.key 和 my-ca.crt 文件,前者存放着使用 my-ca.crt 制作签名时必须的密钥,应当妥善保管。而后者是可以公开的。上面的命令为 my-ca.key 设定的有效期为 10 年。
用命令
openssl x509 -in my-ca.crt -text -noout
可以查看 my-ca.crt 文件的内容。
第二步有了 CA 证书之后,就可以为自己的服务器生成证书了:
openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr openssl x509 -req -in server.csr -out server.crt -sha1 -CA my-ca.crt -CAkey my-ca.key -CAcreateserial -days 3650
前两个命令会生成 key、csr 文件,最后一个命令则通过 my-ca.crt 为 server.csr 制作了 x509 的签名证书。
需要注意的是,在执行上述第二个命令时,Common Name 选项应当输入的是服务器的域名,否则在用户通过 https 协议访问时每次都会有额外的提示信息。
用命令
openssl x509 -in server.crt -text -noout
可以查看 server.crt 文件的内容。
2、Nginx配置证书
https://zpblog.cn/other/godaddy-ssl.html 参见第四步
3、配置SSL安全证书避免启动输入Enter PEM pass phrase
https://zpblog.cn/linux/Nginx-SSL.html
评论列表:
创意生活
评论于2015-11-11 17:12:00
学习了。 - 回复该评论
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
相关文章
根据PayPal通知要求,让CentOS下的Nginx支持TLS 1.22018-05-08
记一次SSL证书更新报错处理2015-11-23
开启 vsftpd SSL 安全认证2015-02-07
Godaddy SSL证书购买&Nginx 配置方法2014-11-18
Nginx配置SSL安全证书避免启动输入Enter PEM pass phrase2014-06-21