我购买了通配符证书,我正在尝试将其与Tomcat 8
一起使用。
为了启用SSL,我执行了几行命令。 SSL已启用,但我始终收到警告,表明我正在使用自签名证书。当然不应该这样,它应该使用可信证书。
我已收到证书和中间证书(来自1和1),我发现根证书是由GeoTrust Global CA
发出的(我已下载)。
生成密钥
keytool -genkey -alias tomcat -keyalg RSA
添加根证书
keytool -import -alias root -keystore .keystore -trustcacerts -file root.pem
添加中级证书
keytool -import -alias intermed -keystore .keystore -trustcacerts -file intermediate.cer
添加主证书
keytool -import -alias main -keystore .keystore -file main.cer
我修改了server.xml
中的连接器,这是非常简单的部分,提供了密钥库和密码。
当我浏览域名时,我收到一条警告,这是一张自签名证书,我必须添加例外等等......
此证书已在IIS中使用,它的工作正常。
使用一些在线工具ssl-checker
,证明这是一个自签名证书,发行人等于我在第一个命令开头提供的“名字和姓氏”。
可能缺少什么问题?
谢谢!
答案 0 :(得分:2)
我最近在使用证书链导入和使用的Java / Keytool中遇到了问题。
我的猜测是,只有第一个证书被发送到客户端(我假设您使用的是IIS站点上使用的相同浏览器)。可以使用以下openssl命令的输出来检查:
openssl s_client -connect YOURSITE.COM:443-showcerts
如果确认,由于客户端错过了中间证书并使您的证书无法验证。 在这种情况下,你可能应该"强迫" keytool(不知道你的java版本/操作系统)到"吃"手工制作的证书链。
请参阅此excellent post(这是我在我的案例中所做的)。请记住所有证书,包括CA Root。