HTTPS实战

HTTPS实战

一、证书生成以及自签名证书

文件解释
CSR证书签名请求文件(文件名的后缀)
CRT证书
key私钥

关系:先生成key,由可以生成CSR,CSR被CA签名后就出现了CRT

OPenSSL 自签名

先安装:Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions (slproweb.com)

流程就是:CA机构用私钥+证书–>签署我的CSR文件生成CRT(只有CA的证书才能给别人签名)

介绍
证书中的信息解释
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) []:这里一般填写请求人的的服务器域名

选择一个版本安装就可以了

在这里插入图片描述

服务器端证书

1.生成私钥

找到OpenSSL安装目录下的/bin目录中的OpenSSL.exe

执行命令

openssl genrsa -des3 -out c:/dev/server.key

生成私钥,需要提供一个至少4位,最多1023位的密码

2.由私钥创建待签名证书
openssl.exe req -new -key c:/dev/server.key -out c:/dev/pub.csr

需要依次输入国家,地区,城市,组织,组织单位,Common Name和Email。其中Common Name,可以写自己的名字或者域名,如果要支持https,Common Name应该与域名保持一致,否则会引起浏览器警告。

3.查看证书中的内容

openssl.exe req -text -in c:/dev/pub.csr -noout

csr还是待签名,签名后生成CRT就有效了。

自建CA

我们用的操作系统(windows, linux, unix ,android, ios等)都预置了很多信任的根证书,比如我的windows中就包含VeriSign的根证书,那么浏览器访问服务器比如支付宝www.alipay.com时,SSL协议握手时服务器就会把它的服务器证书发给用户浏览器,而这本服务器证书又是比如VeriSign颁发的,自然就验证通过了。

1.创建CA私钥

openssl.exe genrsa -out c:/dev/myca.key 2048

2.生成CA待签名证书

openssl.exe req -new -key c:/dev/myca.key -out c:/dev/myca.csr

3.生成CA根证书

openssl.exe x509 -req -in c:/dev/myca.csr -extensions v3_ca -signkey c:/dev/myca.key -out myca.crt

4.对服务器证书签名

openssl x509 -days 365 -req -in c:/dev/pub.csr -extensions v3_req -CAkey c:/dev/myca.key -CA c:/dev/myca.crt -CAcreateserial -out c:/dev/server.crt

Nginx配置

     server {
             listen       443 ssl;
             server_name  aa.abc.com;
				// 证书
             ssl_certificate      /data/cert/server.crt;
             // 自己的私钥
             ssl_certificate_key  /data/cert/server.key;
     }

需要让系统信任

在系统中安装根证书

Windows中运行中执行certmgr.msc,可以看到证书管理器手动添加根证书

二、线上服务器安装配置

VPS:

  • cn2 (中国电信,不需要走很多节点了,物理直连)不带gia会便宜点

  • cn2 gia

百度一所有有很多服务器购买网址

安装nginx的版本(不用原生的了,这些都自带了一些功能模块,方便)

免费签名(CA机构)

https://freessl.cn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值