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