想知道是否有人可以告诉我哪里搞砸了! 我有一个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上工作正常。
很乐意听到一些建议:)
答案 0 :(得分:17)
当您使用keytool
列出别名时,别名是每个条目的逗号之前的名称。在这里,您有4个条目:secondary
,tomcat
,primary
和1
。只有别名1
用于私钥。
(请注意,您可以直接使用keystoreType="PKCS12"
来使用PKCS#12文件。)
答案 1 :(得分:0)
我发现this page特别有用..我的情况来自domain.com提供的geotrust证书,其中我只有两个文件:基于文本的证书(x509)和基于文本的私钥。这些说明和转换器类文件就像一个魅力。