SSL:secure socket layer 安全套接字层,基于https下的一个协议加密
https:http+SSL/TCP的简称
SSL3.0版本时,IETF互联网工程任务组对其进行标准化,并添加了少数机制,
并更名为TLS1.0 transport layer security
SSL1>SSL2>SSL3[常用]
TSL1>TSL1.1>TSL1.2
【中间人攻击】
"短链接"和“长连接”,header:[Connection,close]====header[Keep-Aliver]
servlet各版本:servlet2.5-servlet3-servlet4
keystore:保存key密钥和certificate证书
keytool: java 平台可以生成JKS,其它的PKCS11和PKCS12可由 via openssl and microsoft's key-manager manipulate
名与姓必须是访问的域名或者IP
密码pwd:changeit
sha256withRSA
一、单向
1\生成服务器证书库及密钥,keytool -genkey -v -alias mykeystore【别名】 -keyalg RSA -keystore server.keystore【文件名】 -validity 36500 保存在当前用户目录下
2\查看证书库keytool -list -v -keystore server.keystore
3\ 导出公钥证书 用于浏览器安装keytool -export -alias mykeystore -keystore server.keystore -rfc -file client.cer
cer格式文件可以导入浏览器中。为让客户端认证服务器证书,故让服务器证书导出一个单独的cer文件提供给客户端
此文件为公钥证书,可以双击安装
二、双向认证https://www.jianshu.com/p/90284ee0dc7e
生成服务器证书:
keytool -genkey -v -alias tomcat -keyalg RSA -keystore G:\tomcat.keystore -validity 36500
添加客户端证书,也就是为浏览器生成证书,以便服务器能够认证它。
keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore mykey.p12
1、因不能直接将pkcs12格式证书导入,必须先把客户端正式导出一个单独的cef文件
keytool -export -alias mykey -keystore G:\mykey.p12 -storetype PKCS12 -storepass 123456 -rfc -file G:\mykey.cer
2、再将此文件导入服务器的证书库,添加一个信任证书命令如下
keytool -import -v -file G:\mykey.cer -keystore G:\tomcat.keystore
3、验证服务器证书库,看到2个证书
keytool -list -keystore G:\tomcat.keystore
客户端认证服务器,也就为单向认证
keytool -keystore G:\tomcat.keystore -export -alias tomcat -file G:\tomcat.cer