web-dev-qa-db-ja.com

Tomcat上のSSL証明書-エイリアス名がキーを識別しない

誰かがこれを台無しにしている場所で私を啓発できるかどうか疑問に思っています! Keytoolで作成したキーストア、Thawteのプライマリ、セカンダリ、SSL証明書があります。私は最初にopensslでCSRを作成し、次に、文書化されたプロセスを使用して、秘密鍵をPKCS12に変換し、キーストアにインポートしました。

私はそれらをすべてキーストアにインポートしたと思いますが(もちろんそうではありません!)、Tomcatから取得するエラーは次のとおりです: 'Java.io.IOExceptionエイリアス名がキーエントリを識別していません

私がするならakeytool -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で正常に動作します。

いくつかの提案を聞くのが大好きですか:)

15
G33kGrl

keytoolを使用してエイリアスをリストする場合、エイリアス名は各エントリのカンマの前にあります。ここには、4つのエントリがあります:secondaryTomcatprimaryおよび1。エイリアス1のみが秘密鍵用です。

(代わりにkeystoreType="PKCS12"を使用してPKCS#12ファイルを直接使用できます。)

17
Bruno

私は このページ が特に有用であることを発見しました。私の状況は、domain.comによって提供されたgeotrust証明書からのもので、テキストベースの証明書(x509)とテキストベースの秘密鍵の2つのファイルしかありませんでした。これらの指示とコンバータークラスファイルは魅力のように機能しました。

0
Reece