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

送浏览器验证

可以看到自制的证书