【问题标题】:Thawte SSL free Certificate not detected - jetty server未检测到 Thawte SSL 免费证书 - 码头服务器
【发布时间】:2015-01-10 20:48:00
【问题描述】:


我生成了密钥库:
keytool -genkeypair -alias jetty -keyalg RSA -validity 30 -keystore keystore.jks
我生成了一个 CSR:
keytool -certreq -alias jetty -file certreq.csr -keystore keystore.jks
然后我使用此 CSR 获取免费 SSL 证书,然后他们发送 3 个证书,我将其添加到我的密钥库中:

keytool -import -trustcacerts -alias root -file root.cer -keystore myKeystore

keytool -import -trustcacerts -alias 中间文件 middle.cer -keystore myKeystore

keytool -import -trustcacerts -alias试用 -file trial.cer -keystore myKeystore

我使用 jetty 9,所以这里是 jetty-ssl.xml 中的配置:

   <Configure id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
  <Set name="KeyStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.keystore" default="etc/keystore"/></Set>
  <Set name="KeyStorePassword"><Property name="jetty.keystore.password" default="ironhide"/></Set>
  <Set name="KeyManagerPassword"><Property name="jetty.keymanager.password" default="ironhide"/></Set>
  <Set name="TrustStorePassword"><Property name="jetty.truststore.password" default="ironhide"/></Set>

但是当我重新启动服务器时,它仍然显示为在浏览器上使用https自签名并带有红色X标记

这是密钥库:

密钥库类型:JKS 密钥库提供者:SUN

您的密钥库包含 4 个条目

root,2014 年 11 月 16 日,trustedCertEntry, 证书指纹 (SHA1):51:51:B8:63:8A:4C:1F:15:54:56:ED:37:C9:10:35:CA: D3:01:B9:36
中级,2014 年 11 月 16 日,trustedCertEntry, 证书指纹 (SHA1):BE:D1:D1:4E:25:A7:94:36:83:9E:4B:A7:CD:84:48:96: B7:0A:7F:B0
试用,2014 年 11 月 16 日,trustedCertEntry, 证书指纹(SHA1):DF:A1:52:F0:60:31:4C:DB:0C:61:3D:CA:C4:A6:85:FE: D4:4C:CD:04
getlinked,2014 年 11 月 14 日,PrivateKeyEntry, 证书指纹 (SHA1):2C:82:F7:E8:09:C2:7D:7C:71:9E:86:C0:EC:85:22:AE: 20:7D:43:14

【问题讨论】:

    标签: java ssl jetty-9


    【解决方案1】:

    好的,伙计们,我解决了问题,所以问题是“MYDOMAIN”证书应该与密钥库中的私钥具有相同的别名,
    keytool -genkeypair -alias jetty -keyalg RSA -validity 30 -keystore keystore.jks
    keytool -import -trustcacerts -alias jetty -file trial.cer -keystore myKeystore

    这对我有用,我用购买的证书试了一下,一切都很好。

    谢谢你们的帮助。

    【讨论】:

      【解决方案2】:

      假设您的别名,当您生成私钥 + CSR 是“getlinked”时,签名证书文件是 trial.cer(PEM 编码),而来自 CA 的中间证书是 middle.cer(PEM 编码)。

      如果您的证书只是证书,您可能需要通过将中间证书连接到证书来“链接”证书。

      Unix:

      cat trial.cer intermediate.cer > chained.cer
      

      窗户:

      copy /b trial.cer+intermediate.cer chained.cer
      

      然后,根据别名生成CSR

      keytool -import -alias getlinked -file chained.cer -keystore myKeystore
      

      为 Alias 属性添加一个集合。

      <Set name="CertAlias">getlinked</Set>
      

      【讨论】:

      • 它不起作用,我添加后jetty不重启,如果你能准确指定什么别名,我也认为jetty config没有问题,谢谢
      • 将其更改为 CertAlias ... 将其与 tomcat 混淆
      • 仍然无法正常工作,即使我按顺序添加了所有证书,就像它忽略它们,只显示自签名证书..
      • 我需要将密钥与证书合并吗?
      • 您有一个单独的trustedCert 条目,名为trial,而不是您最初所说的mydomain,因此它不在私钥条目中,它的名称为getlinked,而不是您最初所说的jetty说。您需要 -importcert 将服务器 (mydomain.crt) 的证书添加到此处的私钥别名 getlinked
      猜你喜欢
      • 1970-01-01
      • 2020-01-24
      • 1970-01-01
      • 1970-01-01
      • 2019-05-10
      • 2014-04-10
      • 2010-12-30
      • 2012-11-14
      • 2015-06-24
      相关资源
      最近更新 更多