参考博客:
https原理:https://www.cnblogs.com/zhangshitong/p/6478721.html
阿里云证书服务配置:详见阿里云
https原理:
安全通信----加密(有且只有A和B有能力看到通信的真正内容)
对称加密算法:加密、解密
www环境下,太多加密算法如何确定?web服务器与每个客户端可以使用不同的对称加密算法
如何确定对成加密算法:协商---->协商过程如何保证安全?
密码学领域中,有一种称为“非对称加密”的加密算法,特点是私钥加密后的密文,只要是公钥,都可以解密,但是公钥加密后的密文,只有私钥可以解密,神奇啊
https同时使用对成加密和非对成加密
非对成加密是对协商过程的保密
每个客户端使用不同的对称加密算法,使用随机数
如何得到公钥:服务器将公钥发送给每个客户端,公钥会被篡改,如何解决?
使用第三方机构的公钥解决,数字证书。
数字证书:服务器提供的公钥被第三方私钥加密,客户端使用第三方的公钥解密
总结:
HTTPS要使客户端与服务器端的通信过程得到安全保证,必须使用的对称加密算法,但是协商对称加密算法的过程,需要使用非对称加密算法来保证安全,然而直接使用非对称加密的过程本身也不安全,会有中间人篡改公钥的可能性,所以客户端与服务器不直接使用公钥,而是使用数字证书签发机构颁发的证书来保证非对称加密过程本身的安全。这样通过这些机制协商出一个对称加密算法,就此双方使用该算法进行加密解密。从而解决了客户端与服务器端之间的通信安全问题。
阿里云证书服务
ssl证书服务:阿里云联合CA证书厂商,在阿里云平台上直接提供服务数字证书,以最小的成本实现将所持有服务从http转换成https
云盾证书服务:提供证书的购买、部署、吊销
申请步骤:
1.申请的基本信息、补全信息:
基本信息
证书类型:FREE证书签名算法:SHA2 (SHA256WithRSA+RSA)证书来源:Symantec证书有效期:
域名信息
证书绑定域名:
exam.leimingtech.com
申请人信息
申请人姓名:*** 申请人电话:18623273182 申请人邮箱:***@leimingtech.com
2.域名授权配置、提交审核
下载专有验证文件fileauth.txt到本地计算机目录中,不要编辑,不要打开,不要重新命名。
服务器根目录:.well-known/pki-validation
访问测试:http://exam.leimingtech.com/.well-known/pki-validation/fileauth.txt
success
2.签发后可支持的操作
推送
吊销
下载
到期新购
3.安装证书
下载证书:
证书文件214876999550728.pem
证书私钥文件214876999550728.key
1>nginx对应的配置:
server {
listen 443;
server_name localhost;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/214876999550728.pem;
ssl_certificate_key cert/214876999550728.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
2>tomcat对应的配置
tomcat支持jks和pfx格式证书,两种证书任选其一
证书私钥文件214876999550728.key
证书文件214876999550728.pem
找到安装Tomcat目录下该文件server.xml,一般默认路径都是在 conf 文件夹中。找到 <Connection port="8443"标签,增加如下属性:
keystoreFile="cert/214876999550728.pfx"
keystoreType="PKCS12"
#此处的证书密码,请参考附件中的密码文件或在第1步中设置的密码
keystorePass="证书密码"
jks证书安装
使用java jdk将PFX格式证书转换为JKS格式证书(windows环境注意在%JAVA_HOME%/jdk/bin目录下执行)
keytool -importkeystore -srckeystore 214876999550728.pfx -destkeystore your-name.jks -srcstoretype PKCS12 -deststoretype JKS
找到安装 Tomcat 目录下该文件Server.xml,一般默认路径都是在 conf 文件夹中。找到 <Connection port="8443"标签,增加如下属性:
keystoreFile="cert/your-name.jks"
keystorePass="证书密码"
4.重启nginx\tomcat
5.https访问站点测试是否成功
遇到的问题的总结:92服务器连接超限
ssh_exchange_identification: read: Connection reset by peer
连接达到上限,参考博客:https://blog.csdn.net/jdk_yxs/article/details/79001060
92服务器配置文件;
#MaxAuthTries 6 最大验证重试次数
#MaxSessions 10 最大远程连接数
conflicting server name "exam.leimingtech.com" on 0.0.0.0:443, ignored