web-dev-qa-db-ja.com

TOMCAT SSLエラー:エイリアス名はキーエントリを識別しません

SSLを使用して(誰かから)提供された証明書を使用してTomcat 6を構成しようとしています。私のSSLの経験は数日間しかありませんが、それでも私は気の毒なことを構成する必要があります。

IEからダウンロードしたDER形式の証明書が提供されました。

次に、キーストアを作成しました。

 keytool -import -alias btIEgen -file MyCompany.der -keystore b2b.keystore 

パスワードに「パスワード」を使用したとします

SSLセクションのTomcatのserver.xmlでこれを構成しました。

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    keystoreFile="webapps/b2b.keystore" keystorePass="password" keyAlias="btIEgen" 
    clientAuth="false" sslProtocol="TLS" />

Tomcatを起動すると、ひどいエラーが発生します。

次に、b2b.keystoreでkeytool -listを実行し、エイリアスがすべて小文字であることに気付いたので、server.xmlを更新して再起動した後、小文字のエイリアスについては同じエラーが表示されます。

その後、おそらくルートCAが必要だと思います。そこで、次のようにb2b.keystoreを再作成しました。

 keytool -import -alias root -file myCA.cer -keystore b2b.keystore 

次に、MyCompany.derに対してkeytoolコマンドを再実行しました

しかし、エイリアスがキーエントリを識別しないという同じエラーが表示されます。

Tomcatの設定で基本的なエラーを起こしているのか、それとも機能しているのか、愚かな不注意なミスを犯しているのか疑問に思っていますか?

どんなガイダンスでも大歓迎です。

26
udeleng

Tomcatに必要なのは、証明書とその秘密キーです。証明書は、すべてのユーザーが見ることができる公開情報ですが、秘密鍵は自分のものである必要があります。これは、他の人があなたの証明書でウェブサイトを実行できないようにするものです。 MyCompany.derをインポートすると、証明書のみがインポートされます。

秘密鍵が最初にある場所を見つける必要があります。 (通常、あなたに証明書を発行した人でさえ、その秘密鍵を知っているべきではありません。)

秘密鍵は、証明書の申請プロセス中にブラウザ内で生成された可能性があります。 .p12/.pfx(PKCS#12)形式でエクスポートできるかどうかを確認してください。秘密鍵がある場合はこれもバンドルする必要があります。その場合、PKCS12ストアタイプを直接使用して、結果ファイルをキーストアとして使用できるはずです:keystoreFile="store.pfx" keystorePass="password" keystoreType="PKCS12"(キーエントリが1つしかないため、キーエイリアスはおそらく必要ありません).

34
Bruno