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,除了有效期之外,个人使用问题不大。虽然是英文网站,但按步骤申请对于程序员来说,不是难事。只是国外网站速度较慢需要耐心。


中华雪碧
204 声望7 粉丝