0、openssl环境搭建
(1)linux一般默认安装 openssl version 查看版本信息 加-a查看详细信息
(2)Windows 需要自行安装
下载地址 https://slproweb.com/products/Win32OpenSSL.html
1、从浏览器查看网站证书(www.baidu.com)
2、使用openssl获取tlsssl服务器的证书
openssl s_client -connect www.baidu.com:443
查看所有层级的证书
openssl s_client -connect www.baidu.com:443 -showcerts
以百度为例可以看见3个证书
3、使用openssl查看证书
openssl x509 -in baidu.pem
通过openssl x509 -help参数可以得到x509下面的所有子参数。x509的子参数非常多。
例如:
text 以文本格式输出
noout 不输出证书内容
pubkey 输出公钥
4、利用openssl制作自制签名的证书
(1)非对称密钥对生成
1.1 RSA
生成私钥
openssl genrsa -out rsa.key 2048
由私钥生成公钥
openssl rsa -in rsa.key -pubout -out rsa-public.key
1.2 DSA
openssl dsaparam -genkey 2048 | openssl dsa -out dsa.key
1.3 ECDSA
openssl ecparam -genkey -name secp256r1 | openssl ec -out ec.key
(2)创建证书请求文件:Certificate Signing Requests
2.1创建CSR文件
openssl req -new -key rsa.key -out rsa.csr
2.2查看CSR文件
openssl req -text -in rsa.csr -noout
(3)自签名证书
openssl x509 -req -days 365 -in rsa.csr -signkey rsa.key -out rsa.crt
5、证书的格式
(1)DER/CER 原始格式使用ASN.1编码(直接打开乱码)
(2)PEM 对DER格式的base64的编码(能直接再打开)
6、通过openssl对不同的证书做格式转换
(1)PEM to DER
openssl x509 -inform PEM -in **.pem -outform DER -out **.der
(2)DER to PEM
openssl x509 -inform DER -in **.der -outform PEM -out **.pem
7、Windows安装nginx并启用https
(1)nginx下载
访问nginx官网http://nginx.org/en/download.html
(2)nginx安装并启动
进到nginx的安装目录执行nginx.exe
在浏览器验证
(3)开启HTTPS Server
在conf目录下修改nginx.conf文件
并将证书和私钥文件放入目录中
重启nginx服务
nginx.exe -s reload
送浏览器验证
可以看到自制的证书