运行环境:
操作系统: windows server 2012 R2
JAVA: jdk1.7.0_17
Tomcat: Tomcat 7
笔者使用的是一台 windows 测试机,上面单独运行的 Tomcat 并且已完成域名解析。
1,下载Let's Encrypt Windows认证客户端
http://files.cnblogs.com/files/teamblog/letsencrypt-win-simple.V1.9.1.zip
2,解压缩,打开letsencrypt.exe
3,设置提醒邮箱
4,按Y同意条款
5,选择认证方式:M
6,输入域名
输入域名后回车,然后输入域名指向的磁盘路径
eg:C:/Program Files/Apache-Tomcat 7.0/webapps/ let's encrypt 会在本目录生成一个文件确认域名的归属
注: 域名中包含中文需 xn转义 否则会提示
7 正常情况下认证就完成了
非正常情况:笔者目前只遇到了这一个
解决方法:在tomcat 的conf/web.xml添加
<mime-mapping>
<extension>*</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
8 最底部会提示建立windows任务计划,用于续签认证,输入"Y",回车,如下图:
9 建立计划任 输入管理员账号 和密码,如下图:
申请认证成功后,文件生成路径默认为C:\Users\Administrator\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org\目录下,如下图:
10 生成tomcat 需要的 jks 证书
笔者用的是在线生成 当然也可以自己用工具生成
https://www.myssl.cn/tools/merge-jks-cert.html
密钥文件(KEY文件):xn--xxxxxxxxx.com-key.pem
证书文件(CRT/CER文件):xn--xxxxxxxxx..com-crt.pem
11 配置tomcat
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="conf/ssl.jks" keystorePass="passw0rd"
/>
重启tomcat