将下载的Nginx证书转换为Tomcat证书格式

要将下载的Nginx证书转换为Tomcat证书格式的步骤大致如下。注意,对于此类操作,你需要准备好一些关键的工具,比如OpenSSL(一个志在实现SSL和TLS协议的强大、商用级别且完全免费的工具),以及确保自己具备基本的命令行使用经验。

  • 首先,你需要安装OpenSSL。如果你已经有了,那就足够了。如果没有,对于类Unix的操作系统(比如Linux和Mac OS),你可以直接使用其内置的包管理器进行安装。例如,在Ubuntu的终端中,你可以键入以下命令进行安装:

    sudo apt-get install openssl

  • 然后,打开终端并定位到你存储Nginx证书的位置。Nginx通常使用文件扩展名为.pem或.crt的证书。祝贺你,你拿到了一个实质上就是公钥的小宝贝。如果你的私钥文件(.key或.pem文件)和证书文件(.crt或.pem文件)分开了,那么你可以使用cat命令将它们合并到一个文件中:

    cat server.key server.crt > server.pem

  • 然后,我们需要将PEM文件转换为PKCS12格式,这是Tomcat喜欢的格式。在完成这个过程时,OpenSSL将要求你输入一个导出密码,记住,这个必须牢记,因为接下来会使用到。下面是相应的命令:

    openssl pkcs12 -export -in server.pem -out server.p12

  • 接下来,我们需要创建一个Java的keystore,然后将PKCS12的内容导入进去,命令如下:

    keytool -importkeystore -destkeystore server.jks -srckeystore server.p12 -srcstoretype PKCS12

在完成这个步骤时,keytool会要求你输入一个新的keystore密码,以及之前设置的导出密码。

最后,你现在拥有一个Tomcat可以接受的server.jks文件了,并且需要在Tomcat的配置文件中进行相应的配置,使它使用新的keystore。配置大致如下:

复制代码
<Connector port="8443" protocol="HTTP/1.1"
           SSLEnabled="true"
           scheme="https" secure="true"
           keystoreFile="/path/to/server.jks"
           keystorePass="yourKeystorePassword"
           clientAuth="false" sslProtocol="TLS"/>
相关推荐
Lsetea2 小时前
Nginx HTTPS证书域名不匹配:用SAN与SNI定位 ERR_CERT_COMMON_NAME_INVALID
nginx·https·ssl证书·openssl·tls
Larru-Sun3 小时前
Nginx + Vue Router 基础:SPA History 部署、反向代理与请求分流
运维·vue.js·nginx
迷途呀13 小时前
CI/CD 自动化部署实践:让代码提交后自动上线
linux·运维·nginx·ci/cd·自动化
运维全栈笔记1 天前
Ansible 自动化 Nginx 集群部署实战:动态 Inventory、滚动发布与 Role 工程化
nginx·自动化·ansible
阿标在干嘛2 天前
Nginx一个配置错误,流量损失30%!这是我们的完整排查记录
运维·nginx
IT菜鸟程3 天前
Ubuntu 下 apt 版 Nginx 升级为源码编译版本完整操作指南(1.24.0 → 1.30.4 实战)
linux·nginx·ubuntu
sbjdhjd3 天前
从 7 字符文件名拼接到二维数组取值:PHP 无参函数限制下的受控靶场复盘 | (7字符绕过)
网络·nginx·安全·网络安全·云计算·php·apache
NGINX开源社区3 天前
NGINX Gateway Fabric 2.6:F5 WAF for NGINX 集成 Gateway API
nginx·gateway·fabric
小白羊丨4 天前
HTTP/2 如何缓解 HTTP/1.1 阻塞;长连接对 Nginx 有什么影响?
网络协议·nginx·http
xixiaoyunya4 天前
Docker 容器化部署实战:从零搭建一套完整的 Nginx + Node.js + MySQL + Redis 项目环境
nginx·docker·node.js