本地测试环境有单点登陆项目,由于tomcat证书过两天就到期了,按正常方式,去阿里云申请免费的证书,然后修改tomcat的server.xml配置文件

<Connector SSLEnabled="true" acceptCount="100" clientAuth="false"
disableUploadTimeout="true" enableLookups="false" maxThreads="100"
port="8443" keystoreFile="/home/tomcat_hczd_auth_8580/4334292_devtest.ihczd.com.pfx"
keystoreType="PKCS12" keystorePass="3J1ljNuL" protocol="org.apache.coyote.http11.Http11Protocol"
scheme="https" secure="true" sslProtocol="TLS" connectionTimeout="20000"  URIEncoding="UTF-8"/>

更改后重启单点项目,再浏览器访问其他项目,访问的时候就一直提示错误的重定向。

由于之前有遇到过,就知道需要更改jdk环境的cacerts证书,于是按以下操作更改cacerts证书: 将阿里云下载的xxx.pem文件转化成xxx.crt文件(后面证实是错误的)

openssl x509 -outform der -in certificate.pem -out certificate.crt 删除旧的cacerts文件(可以先备份)

rm -rf /usr/local/openjdk7/jre/lib/security/cacerts

导入新的cacerts文件

keytool -import -keystore cacerts -storepass changeit -keypass changeit -file /home/hczdyw/devtest.ihczd.com.crt (错误,这里不能导入crt文件)

导入完jdk证书文件后也还是一样重定向,日志里面一直提示证书问题 研究了2天,期间不断的查百度,查谷歌,问各种群,结果都无功而返。 不知所措的时候再去看我之前做的笔记,发现,有一个证书格式不一样的记录

openssl pkcs12 -nodes -nokeys -in devtest.ihczd.com.pfx -out devtest.ihczd.com.cer

于是想,是不是因为转化的格式有问题,再次删除cacerts文件后再次导入.cer文件

keytool -import -keystore cacerts -storepass changeit -keypass changeit -file /home/hczdyw/devtest.ihczd.com.cer

然后再次重启单点项目,再次重启其他项目,过了一会儿,令我高兴的界面终于出来了。在此做个记录。