免费HTTPS证书申请 Java配置Let's Encrypt证书

HTTPS证书是个非常贵的玩意,对于屌丝而言,当然必须去寻找免费的,Let's Encrypt
然而这货只有3个月有效期,经常更改比较麻烦,不过官网了提供了一个certbot相当方便。

上certbot官网,我的服务器是Centos 7,用的是Java

我的选择

先安装certbot,命令:

sudo yum install certbot

配置certbot,命令:

certbot certonly --webroot -w /var/www/example -d example.com -d www.example.com -w /var/www/thing -d thing.is -d m.thing.is

当你看如下界面就说明你成功了

免费HTTPS证书申请 Java配置Let's Encrypt证书_第1张图片
成功界面

生成的文件是pem文件,而Java需要jks文件,所以需要转换,详情请看如何配置Java HTTPS CA证书(Jetty,Tomcat)

我是用pem文件先转成pfx,然后再用Java JDK的keytool转成jks文件,命令如下

openssl pkcs12 -export -out name.pfx -inkey privkey.pem -in cert.pem
keytool -importkeystore -srckeystore name.pfx -destkeystore your-name.jks -srcstoretype PKCS12 -deststoretype JKS

在安装certbot时,我有遇到如下问题,由于certbot是Python写的,所以我的服务器需要配置一下Python

免费HTTPS证书申请 Java配置Let's Encrypt证书_第2张图片
遇到的问题
Error: Package: python2-certbot-0.9.3-1.el7.noarch Requires: python-zope-interface
Error: Package: 1:python-zope-component-4.1.0-1.el7.noarch (epel) Requires: python-zope-interface

#解决方案

下载文件python-zope-interface-4.1.1-1.fc22.x86_64.rpm

rpm -ivh python-zope-interface-4.1.1-1.fc22.x86_64.rpm 

若安装时提示:warning: *.rpm: Header V3 RSA/SHA256 Signature, keykey ID c105b9de: NOKEY

解决的方法就是在rpm 语句后面加上 --force --nodeps 即原本为 rpm -ivh *.rpm 现在改成 rpm -ivh *.rpm --force --nodeps就可以了。 nodeps的意思是忽视依赖关系。因为各个软件之间会有多多少少的联系。有了这两个设置选项就忽略了这些依赖关系,强制安装或者卸载。


最后,推荐一个专业检测HTTPS的网站 测一测百度

你可能感兴趣的:(免费HTTPS证书申请 Java配置Let's Encrypt证书)