Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tomcat上的SSL证书-别名未标识密钥_Tomcat_Ssl_Alias - Fatal编程技术网

Tomcat上的SSL证书-别名未标识密钥

Tomcat上的SSL证书-别名未标识密钥,tomcat,ssl,alias,Tomcat,Ssl,Alias,不知是否有人能告诉我我在哪里搞砸了! 我有一个keytool创建的密钥库,一个来自Thawte的主、辅助和ssl证书。我最初使用openssl创建CSR,然后使用记录的过程将私钥转换为PKCS12以导入密钥库 我相信我已经将它们全部导入了密钥库ok(但显然不是!),但是我从Tomcat得到的错误是:“java.io.IOException别名没有标识密钥条目 如果我执行keytool-list-keystore keystore.ks操作,我会得到以下结果: Keystore type: JKS

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

我相信我已经将它们全部导入了密钥库ok(但显然不是!),但是我从Tomcat得到的错误是:“java.io.IOException别名没有标识密钥条目

如果我执行
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上运行良好


希望听到一些建议:)

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


(请注意,您可以直接使用PKCS#12文件,而不是使用
keystoreType=“PKCS12”

我发现它特别有用。。我的情况来自domain.com提供的geotrust证书,其中我只有两个文件:基于文本的证书(x509)和基于文本的私钥。这些说明和转换器类文件非常有效。

Ahh好的,我明白你的意思。这是我第一次使用SSL,密钥库中不能有重复的别名,因此,如果“tomcat”是Thawte提供的SSL证书,我该如何命名它附带的私钥?server.xml指向哪一个?谢谢你的帮助,我一直在为这件事发牢骚。稍有进展-将server.xml设置为使用别名1(私钥),现在至少连接器正确打开了该端口。但是,我收到一个证书错误“证书不受信任,因为没有提供颁发者链”。。。绘图变厚…导入证书时,应根据私钥别名(已在密钥库中)导入证书,如下所述。话虽如此,似乎您已经有了一个使用该证书构建的PKCS#12文件,因此您应该能够直接使用它。似乎您可能没有正确地将PKCS#12文件构建在一起(您是否使用了用于请求的私钥?)。你按照什么指示做的?天哪布鲁诺,我欠你一个肾或者我的第一个孩子什么的!非常感谢。我按照你链接中的说明进行了操作,它正在工作。你太棒了!!!!短而干净的解决方案!谢谢布鲁诺