自已签发ssl证书

查看指定网站的证书,命令举例:

openssl s_client -connect www.baidu.com:443

自建证书,可用于本地测试开发环境搭建:

openssl genrsa -out ssl.key 1024
openssl req -new -key ssl.key -out ssl.csr
openssl x509 -req -days 1000 -in ssl.csr -signkey ssl.key -out ssl.crt

生成v3版本,带alt_names的证书(chrome等更安全的浏览器对证书版本和信息有特殊要求),最后一步生成证书时,使用如下命令:

openssl x509 -req -days 1000 -in ssl.csr -signkey ssl.key -out ssl.crt -extfile  v3.ext

v3.ext文件内存为:

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = www.example.com

在第二步生成ssl.csr时,需要填写签证的域名,在v3.ext的DNS.x里,也需要填写签证的域名。

Nginx配置,使用证书:

ssl on;
ssl_certificate /tmp/ssl.crt;
ssl_certificate_key /tmp/ssl.key;

然后在Mac下的key chain下安装ssl.crt证书,并设置完全信任,就搞定了。

查看证书所包容的内容:

openssl x509 -text -in ssl.crt -noout

 

发表于 2016-12-12 20:07   修改于 2017-06-10 14:17   评论:0   阅读:333  



回到顶部

首页 | 关于我 | 关于本站 | 站内留言 | rss
python logo   django logo   tornado logo