15

想知道是否有人可以告诉我我在哪里搞砸了!我有一个 keytool 创建的密钥库,一个来自 Thawte 的主证书、辅助证书和 ssl 证书。我最初使用 openssl 创建了 CSR,然后使用记录的过程将私钥转换为 PKCS12 以导入密钥库。

我相信我已经将它们全部导入到密钥库中(但显然不是!)但是我从 Tomcat 得到的错误是:'java.io.IOException Alias name does not identify a key entry

如果我这样做,keytool -list -keystore keystore.ks这就是我得到的:

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 4 entries

    secondary, Jun 22, 2012, trustedCertEntry,
    Certificate fingerprint (MD5): EB:A3:71:66:38:5E:3E:F4:24:64:ED:97:52:E9:9F:1B
    tomcat, Jun 22, 2012, trustedCertEntry,
    Certificate fingerprint (MD5): EA:D0:43:F8:7F:D5:1C:4A:BA:A7:F4:64:A9:6A:A1:B0
    primary, Jun 22, 2012, trustedCertEntry,
    Certificate fingerprint (MD5): D6:6A:92:1C:83:BF:A2:AE:6F:99:5B:44:E7:C2:AB:2A
    1, Jul 2, 2012, PrivateKeyEntry,
    Certificate fingerprint (MD5): EA:D0:43:F8:7F:D5:1C:4A:BA:A7:F4:64:A9:6A:A1:B0

我很确定我的 Tomcat server.xml 没问题,但这里也适用于 https 连接器:

<Connector port="443"
    protocol="org.apache.coyote.http11.Http11Protocol"
    maxHttpHeaderSize="8192"
    SSLEnabled="true"
    maxThreads="150"
    minSpareThreads="25"
    maxSpareThreads="75"
    enableLookups="false"
    disableUploadTimeout="true"
    acceptCount="100"
    scheme="https"
    secure="true"
    clientAuth="false"
    sslProtocol="TLS"
    URIEncoding="UTF-8"
    keystorePass="xxxxxx"
    keystoreFile="/keys/keystore.ks"
    keyAlias="tomcat"/>

有任何想法吗?这是我第一次这样做,所以也许我搞砸了一些非常明显的东西?

该站点在端口 80 上运行良好。

很想听听一些建议:)

4

2 回答 2

19

当您使用 列出别名时keytool,别名是每个条目的逗号之前的名称。在这里,您有 4 个条目:secondarytomcat和。只有别名用于私钥。primary11

(请注意,您可以直接使用 PKCS#12 文件来keystoreType="PKCS12"代替。)

于 2012-07-03T19:07:24.317 回答
0

我发现此页面特别有用。我的情况来自 domain.com 提供的地理信任证书,其中我只有两个文件:基于文本的证书 (x509) 和基于文本的私钥。这些说明和转换器类文件就像一个魅力。

于 2013-09-05T14:11:12.967 回答