如何使用续订的SSL证书更新Tomcat密钥库?

use*_*000 6 ssl tomcat keytool

大约一年前,我从GoDaddy获得了一个SSL证书,并按照他们的指示将其安装在Tomcat服务器上.没有问题.

证书即将到期,所以我续签了.GoDaddy给了我三个.cer文件.我无法弄清楚如何处理它们.

如果我生成一个全新的密钥库并尝试像我第一次那样将文件导入到它中,它就不起作用了.我假设这是因为新的密钥库没有我原来的私钥.

如果我尝试将新证书导入旧文件,则不允许这样做.

如果我使用旧的密钥库并删除部分或全部旧证书并将其替换为新证书,则keytool允许这样做,但是当我在我的服务器上安装密钥库时,密钥库不起作用.

我不知道接下来该做什么.

epp*_*uig 5

我使用一个图形工具,可以非常轻松地管理密钥库。它被称为 portecle,可以在这里找到。当您收到来自 GoDaddy 的新证书时,只需打开 portecle 中的密钥库,选择您的旧(即将到期)证书,右键单击它并导入新的“CA 回复”(即您更新的证书)。然后保存密钥库并重新启动tomcat。

  • 谢谢。Portecle 工具非常易于使用并且很有帮助:) (2认同)

小智 5

我使用Let的加密证书(免费,签名).我创建了一个自动脚本来更新密钥库,您可以将其用作灵感或移动到LE并按原样使用它.更多信息:http://blog.ivantichy.cz/blogpost/view/74

#!/bin/bash
#author Ivan Tichy
#Please modify these values according to your environment
certdir=/etc/letsencrypt/live/jira.ivantichy.cz/ #just replace the domain name after /live/
keytooldir=/opt/atlassian/jira/jre/bin/ #java keytool located in jre/bin
mydomain=jira.ivantichy.cz #put your domain name here
myemail=xxxxxxx@gmail.com #your email
networkdevice=eth0 #your network device  (run ifconfig to get the name)
keystoredir=/home/jira/.keystore #located in home dir of user that you Tomcat is running under - just replace jira with your user you use for Tomcat, see ps -ef to get user name if you do not know

#the script itself:
cd /var/git/letsencrypt
git pull origin master
iptables -I INPUT -p tcp -m tcp --dport 9999 -j ACCEPT
iptables -t nat -I PREROUTING -i $networkdevice -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 9999

./letsencrypt-auto certonly --standalone --test-cert -d $mydomain --standalone-supported-challenges http-01 --http-01-port 9999 --renew-by-default --email $myemail --agree-tos
#./letsencrypt-auto certonly --standalone -d $mydomain --standalone-supported-challenges http-01 --http-01-port 9999 --renew-by-default --email $myemail --agree-tos

iptables -t nat -D PREROUTING -i $networkdevice -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 9999
iptables -D INPUT -p tcp -m tcp --dport 9999 -j ACCEPT

$keytooldir/keytool -delete -alias root -storepass changeit -keystore $keystoredir
$keytooldir/keytool -delete -alias tomcat -storepass changeit -keystore $keystoredir

openssl pkcs12 -export -in $certdir/fullchain.pem -inkey $certdir/privkey.pem -out $certdir/cert_and_key.p12 -name tomcat -CAfile $certdir/chain.pem -caname root -password pass:aaa

$keytooldir/keytool -importkeystore -srcstorepass aaa -deststorepass changeit -destkeypass changeit -srckeystore $certdir/cert_and_key.p12 -srcstoretype PKCS12 -alias tomcat -keystore $keystoredir
$keytooldir/keytool -import -trustcacerts -alias root -deststorepass changeit -file $certdir/chain.pem -noprompt -keystore $keystoredir


# restart your Tomcat server – mine is running JIRA
service jira stop
service jira start
Run Code Online (Sandbox Code Playgroud)