HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 超文本传输协议 (HTTP-Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。 特性:
Https
http
1、创建证书 Https自制证书创建就是用JDK的keytool进行创建,创建命令是:
keytool -genkey -alias "test" -keyalg "RSA" -keystore d:keystore -dname "CN=aaa, OU=aaa, O=aaa, L=BJ, ST=BJ, C=CN" -storepass "123456" -keypass "123456" -validity 1825
指令参数含义:-genkey:生成一对非对称密钥;-alias:给生成的密钥对和证书指定一个别名,因为生成的密钥库中可以存放多个密钥对和证书信息,keystore根据别名来管理以上信息;-keyalg:指定生成那种类型算法的密钥对;-keystore:指定生成的密钥库存放路径;-dname:指定证书拥有者的信息,如果未指定该参数信息,则keytool会要求在命令行中以交互的方式输入以上信息;-storepass:为密钥库设置密码(因为密钥库中保存有私钥信息,需要设置密码对密钥库的操作进行控制);-keypass:为密钥库中的私钥设置密码,以保护私钥信息;-validity:指定证书的有效时间,单位为天; 执行以上指令,成功时提示如下,并会在keystore指定的路径生成keystore文件。 2、导出cer证书
-genkey
-alias
-keyalg
-keystore
-dname
-storepass
-keypass
-validity
keytool -export -alias test-file d:test.crt -keystore d:keystore
指令参数含义:-export:指定操作类型为导出;-alias:从密钥库中导出指定别名的证书信息;-file:指定导出的证书存放的路径;-keystore:指定导出证书的密钥库; 执行以上指令后,会提示输入密钥库口令,此指令即为生成证书时-storepass指定的密码。
-export
-file
1、使用chrome浏览器打开百度官网 2、右键安全,选择证书,点击有效 3、选择详细信息,并点击下边的复制到文件 4、点击下一步 5、选择base64编码,点击下一步 6、重命名证书文件,点击下一步 7、最后点完成,就会得到百度的客户端证书