1. ホーム
  2. tomcat

[解決済み】TOMCAT SSL Error: エイリアス名がキーエントリーを識別していない

2022-02-14 14:30:05

質問

Tomcat 6をSSLで設定しようとしていますが、証明書は提供されたものを使用しています。私のSSL経験は数日しかありませんが、それでもまだ設定しなければなりません。

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

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

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

パスワードに "password"を使用したとします。

Tomcatのserver.xmlのSSLセクションで設定しました。

<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を起動すると、以下のようなエラーが表示されます。

そこで、server.xmlを更新して再起動したところ、やはり同じエラーが発生しましたが、エイリアスが小文字になっていました。

そこで、おそらくルートCAが必要なのだろうと考えました。そこで、b2b.keystoreを以下のように再作成しました。

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

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

しかし、エイリアスがキー・エントリーを特定できないという同じエラーがまだ出ています。

tomcatの設定に何か根本的な間違いがあるのか、それともうまくいくはずなのに、私がバカなケアレスミスをしているだけなのか、気になるところです。

何かご指導いただければ幸いです。

解決方法は?

Tomcatに必要なのは、証明書とその秘密鍵です。証明書はユーザが誰でも見ることができる公開情報ですが、秘密鍵はあなただけのものであるべきで、他の人があなたの証明書を使ってウェブサイトを運営するのを防ぐものです。インポートすることで MyCompany.der の場合、証明書だけをインポートすることになります。

まず、秘密鍵がどこにあるのかを探す必要があります。(通常、証明書を発行した本人でさえ、その秘密鍵を知らないはずです)。

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