【每日一记10】+第9天 阿里云安装JKS格式证书
  

sailyang 1078

{{ttag.title}}
    通过某公司SSL证书服务支持下载证书安装到Tomcat服务器上。Tomcat支持安装PFX格式和JKS两种格式的证书,您可根据您Tomcat的版本择其中一种格式的证书安装到Tomcat上。

前提条件
   1.Tomcat服务器上已经开启了443端口(HTTPS服务的默认端口)。
   2.已安装OpenSSL工具。
  3.已下载Tomcat服务器所需要的证书文件。有关证书下载的具体操作,请参见下载证书。
说明
    申请证书时如果未选择系统自动创建CSR,证书下载压缩包中将不包含.txt文件。需要您选择其他类型服务器下载.crt证书,并使用openssl命令生成pfx文件。如果拥有其他证书,可使用openssl命令将您自己的证书文件转化为相应格式的文件,安装到Tomcat服务器上。已登录您的Tomcat服务器。
背景信息

    Tomcat 9强制要求证书别名设置为tomcat。您需要使用以下keytool命令将protocol="HTTP/1.1"转换成protocol="org.apache.coyote.http11.Http11NioProtocol"。
keytool -changealias -keystore domain name.jks -alias alias -destalias tomcat
例如:证书文件名称为domain name.pfx,证书密码文件名称为pfx-password.txt。

操作步骤
  解压已下载保存到本地的Tomcat证书文件。解压后您将看到文件夹中有2个文件,您可为两个证书文件重命名。证书文件(domain name.pfx):以.pfx为后缀或文件类型。密码文件(pfx-password.txt):以.txt为后缀或文件类型。
证书文件每次下载证书都会产生新的密码,该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新匹配的密码。将PFX格式的证书转换成JKS格式。
输入以下JAVA JDK命令:
keytool -importkeystore -srckeystore domain name.pfx -destkeystore domain name.jks -srcstoretype PKCS12 -deststoretype JKS
    Windows系统中,需在%JAVA_HOME%/jdk/bin目录下执行该命令。回车后输入PFX证书密码,即密码文件pfx-password.txt中的内容。JKS证书密码等同于PFX证书密码。两个密码不同的时候会导致Tomcat重启失败。在Tomcat安装目录下新建cert目录,将转化后的证书文件和密码文件拷贝到cert目录下 。
修改配置文件server.xml,并保存。
文件路径:Tomcat安装目录/conf/server.xml
去掉以下内容的注释:
<Connector  port="8443"
protocol="HTTP/1.1"
  port="8443" SSLEnabled="true"
  maxThreads="150" scheme="https" secure="true"
  clientAuth="false" sslProtocol="TLS" />
参照以下内容修改<Connector port="443"标签内容:
<Connector port="443"   #port属性根据实际情况修改(https默认端口为443)。如果使用其他端口号,则您需要使用https://yourdomain:port的方式
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="Tomcat安装目录/cert/domain name.jks" #证书名称前需加上证书的绝对路径,请使用您证书的文件名替换domain name。
    keystorePass="证书密码"   #此处请替换为您证书密码文件pfx-password.txt中的内容。
    clientAuth="false"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
可选: 配置web.xml文件,开启HTTP强制跳转HTTPS。
在文件</welcome-file-list>后添加以下内容:
<login-config>  
    <!-- Authorization setting for SSL -->  
    <auth-method>CLIENT-CERT</auth-method>  
    <realm-name>Client Cert Users-only Area</realm-name>  
</login-config>  
<security-constraint>  
    <!-- Authorization setting for SSL -->  
    <web-resource-collection >  
        <web-resource-name >SSL</web-resource-name>  
        <url-pattern>/*</url-pattern>  
    </web-resource-collection>  
    <user-data-constraint>  
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>  
    </user-data-constraint>  
</security-constraint>
重启Tomcat。
执行以下命令关闭Tomcat服务器。
./shutdown.sh
执行以下命令开启Tomcat服务器。
./startup.sh
后续操作
证书安装完成后,可通过登录证书绑定域名的方式验证证书是否安装成功。
https://domain name.com   #domain name替换成证书绑定的域名。
如果网页地址栏出现绿色小锁标志,表示证书安装成功。

验证证书是否安装成功时,如果网站无法通过https正常访问,需确认安装证书的服务器443端口是否已开启或被其他工具拦截。

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

xin2004108 发表于 2020-8-15 19:19
  
感谢分享。
新手727241 发表于 2020-8-15 21:21
  
感谢分享
gqce 发表于 2020-8-16 22:07
  
感谢分享
蟲爺 发表于 2021-2-25 16:06
  
感谢分享
发表新帖
热门标签
全部标签>
西北区每日一问
干货满满
每日一问
技术盲盒
技术笔记
产品连连看
GIF动图学习
新版本体验
标准化排查
技术咨询
信服课堂视频
安装部署配置
功能体验
2023技术争霸赛专题
自助服务平台操作指引
每周精选
解决方案
设备维护
秒懂零信任
技术圆桌
升级
高手请过招
升级&主动服务
答题自测
SDP百科
玩转零信任
信服圈儿
通用技术
技术晨报
社区新周刊
畅聊IT
专家问答
在线直播
MVP
网络基础知识
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
原创分享
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
高频问题集锦

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人