SSL/TLS
- TLS(Transport Layer Security) 是 SSL(Secure Socket Layer) 的后续版本
证书生成以及自签名证书
查看系统已存证书
CSR
CRT
key
OPenSSL自签名
下载
http://slproweb.com/products/Win32OpenSSL.html
证书中的信息
Country Name (2 letter code) [XX]:CN #请求签署人的信息 State or Province Name (full name) []: #请求签署人的省份名字 Locality Name (eg, city) [Default City]:# 请求签署人的城市名字 Organization Name (eg, company) [Default Company Ltd]:#请求签署人的公司名字 Organizational Unit Name (eg, section) []:#请求签署人的部门名字 Common Name (eg, your name or your server’s hostname) []:#这里一般填写请求人的的服务器域名,
安装
服务器端证书
生成私钥(server.key)
找到OpenSSL安装目录下的/bin目录中的OpenSSL.exe
执行命令
openssl genrsa -des3 -out D:\OpenSSL-Win64\mykey\server.key
生成私钥,需要提供一个至少4位,最多1023位的密码,不指定默认生成了2038bit;
由私钥创建待签名证书(server.csr)
需要依次输入国家,地区,城市,组织,组织单位,Common Name和Email。其中Common Name,可以写自己的名字或者域名,如果要支持https,Common Name应该与域名保持一致,否则会引起浏览器警告。
openssl.exe req -new -key D:\OpenSSL-Win64\mykey\server.key -out D:\OpenSSL-Win64\mykey\serverpublic.csr
查看证书内容
openssl.exe req -text -in D:\OpenSSL-Win64\mykey\serverpublic.csr -noout
自建CA
我们用的操作系统(windows, linux, unix ,android, ios等)都预置了很多信任的根证书,比如我的windows中就包含VeriSign的根证书,那么浏览器访问服务器比如支付宝www.alipay.com时,SSL协议握手时服务器就会把它的服务器证书发给用户浏览器,而这本服务器证书又是比如VeriSign颁发的,自然就验证通过了。
生成私钥(myca.key)
openssl.exe genrsa -out D:\OpenSSL-Win64\mykey\myca.key 2048
由CA私钥创建待签名证书(myca.csr)
openssl.exe req -new -key D:\OpenSSL-Win64\mykey\myca.key -out D:\OpenSSL-Win64\mykey\myca.csr
生成根证书(myca.crt)
openssl.exe x509 -req -in D:\OpenSSL-Win64\mykey\myca.csr -extensions v3_ca -signkey D:\OpenSSL-Win64\mykey\myca.key -out myca.crt
- bin目录下
由CA生成server证书(server.crt=server.key+server.csr)
openssl x509 -days 365 -req -in D:\OpenSSL-Win64\mykey\serverpublic.csr -extensions v3_req -CAkey D:\OpenSSL-Win64\mykey\myca.key -CA D:\OpenSSL-Win64\mykey\myca.crt -CAcreateserial -out D:\OpenSSL-Win64\mykey\server.crt
Nginx如何配置HTTPS
让自签名证书也能让系统信任
xca图形化工具
购买线上服务器
线上服务器域名解析
线上服务器SSL免费证书申请及认证过程
SS服务端及客户端安装
|