HTTP是明文的,很容易通过抓包等方式,获取到请求信息。导致信息被泄露,串改。HTTPS相对于HTTP,多了安全加密。客户端采用公匙加密,服务端采用私匙解密。采用HTTPS能够很大程度地提升服务安全性,而且升级到HTTPS并不复杂。
HTTPS证书的获取方式有许多:
1.可以jd的keytool工具自己制作
命令如下:
keytool -genkey -keyalg RSA -keysize 2048 -validity 3650 -alias SEC_TEST -keypass w123456 -keystore test.keystore -storepassw123456 -dname "CN=localhost,OU=DEP,O=CN,L=BJ,ST=BJ,C=CN"
其中,-keyalg 指定算法,
-keysize指定密钥大小,
-validity指定有效期,单位为天,
-alias 别名
-keypass 指定私钥使用密码,
-keystore指定密钥库名称,
-storepass 证书库的使用密码,从里面提取公钥时需要密码
-dname :CN拥有者名字,一般为网站名或IP+端口,如,OU组织机构名 O组织名 L城市 ST州或省 C国家代码
以上命令执行后将在当前目录下产生一个keystore文件,里面保存着密钥和证书信息;
导出公钥:
keytool -export -alias SEC_TEST -file test_pub_cer.cer -keystore test.keystore -storepass w123456
在当前目录下会产生一个test_pub_cer.cer的证书,包含了公钥信息及证书相关信息;
自己生成的证书是可以使用,但是不被各大浏览器、系统等公司认可,可以作为个人联系,服务器间通信。
2.通过证书服务商购买,一般从几十到上万不等。
靠谱、免费的证书服务商很少,包括一些以前提供的,现在都不支持了。
这里介绍一个免费(3个月有效期)DV的证书:startssl,除了有效期之外,个人使用问题不大。虽然是英文网站,但按步骤申请对于程序员来说,不是难事。只是国外网站速度较慢需要耐心。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。