查看指定网站的证书,命令举例:
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