2012-04-09 12 views
0

を使用して、私は私がにjava.io.IOException:無効なキーストア形式のTomcat 7でSSLモードを有効にするにはTomcatサーバー

以下のようにOpenSSLを使用して.KEYファイルをgenratedいる

私のTomcatのログに次のエラーを取得しています

openssl genrsa -des3 -out localhost 2048 

そして私はSEVERE

Tomcatのserver.xmlで私のキーファイルへのパスを与える:ProtocolHandler [ "HTTP-バイオ8443"]にjava.io.IOExceptionに関連したエンドポイントの初期化に失敗しました:無効なキーストア形式

答えて

2

openssl genrsa -des3 -out localhost 2048は秘密鍵を生成します。 HTTPSを使用してWebサーバーを実行するために必要なものは、秘密鍵と証明書です。証明書を生成する手順が必要です。

あなたは4月のコネクタを使用したりしていないかどうかに応じて、2つのほぼ完全に異なるアプローチを使用してTomcatの中でHTTPSを設定することができます。

あなたがAPR connectorを使用している場合、それはそれは期待する形式なので、それは、鍵/証明書を生成するためにOpenSSLを使用するように理にかなっています。

If you're not using APR OpenSSLで生成された鍵/証明書をキーストアに変換する必要があります(この場合、OpenSSLで自己署名証明書を生成するにはいくつかのチュートリアルがあります) JREでサポートされている形式OpenSSLから、秘密鍵+証明書をPKCS#12ストア(.p12)に変換するのが最も簡単です。これは、キーストアタイプがPKCS12のOracle/OpenJDK経由で直接サポートされています。 (PKCS#12ファイルをJKSストアに変換することはできますが、これは必須ではありません)

鍵/証明書がまだない場合、 keytoolを直接使用することです。これにより、デフォルトのタイプであるJKSキーストアが生成されます。 keytool -genkeyは、鍵/ペアを生成してCSRを生成するだけでなく、必要に応じてCAからの証明書をインポートするまで、自己署名証明書を関連付けます(少なくとも一時的に)。

-2

Javaベースのシステム(tomcatを含む)には、PKCS形式のストアが必要です。したがって、まず店舗を正しく構築してから、Tomcatガイドに従って、Tomcatを使用するように設定する必要があります。あなたの店のフォーマットと設定が正しいとは思われません。

+1

これは正しくありません。まず、それはあなたがAPRを使用しているかどうかによって異なります。第二に、デフォルトのキーストアタイプはまだJKSです。原則として、セキュリティプロバイダの1つでサポートされているすべてのキーストアタイプを使用できるため、プロバイダによって異なります。 Oracle/OpenJDK(Sunプロバイダを使用)では、JKS、PKCS#12、PKCS#11およびNSSを使用できます。 – Bruno

関連する問題