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

sailyang 1591

{{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技术争霸赛专题
运维工具
排障笔记本
安全效果
答题自测
解决方案
VPN 对接
云化安全能力
产品解析
关键解决方案
专家问答
技术圆桌
设备维护
存储
迁移
秒懂零信任
文档捉虫
华北区交付直播
每周精选
西北区每日一问
畅聊IT
在线直播
MVP
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
用户认证
原创分享
sangfor周刊
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
产品预警公告
玩转零信任
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
卧龙计划
华北区拉练
天逸直播
以战代练
技术晨报
技术盲盒
山东区技术晨报
齐鲁TV
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
升级&主动服务
高频问题集锦
POC测试案例
全能先锋系列
专家说
热门活动
产品动态
行业实践

本版版主

461
248
13

发帖

粉丝

关注

本版达人

feeling

本周分享达人

新手29676...

本周提问达人