×

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

sailyang 1183

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

本版版主

12
185
6

发帖

粉丝

关注

121
313
351

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人