Tomcat 6でhttpsをアクティブにしたいのですが、SSL証明書をインポートすると、以下のエラーが発生しました。
keytool error: Java.lang.Exception: Input not an X.509 certificate
このエラーを解決するにはどうすればよいですか?
.crtファイルをJavaキーストアにインポートしようとしたときに、同様の問題が発生しました。
以下の手順で修正できます。
Pkcs12形式のキーストアを生成します。
以下の2つのコマンドで、必要に応じてパスワードを入力します。
openssl pkcs12 -export -name <domain_name> -in <certificate_name>.crt -inkey <certificate_name>.key -out keystore.p12
Pkcs12キーストアをJavaキーストア
keytool -importkeystore -destkeystore Tomcat.jks -srckeystore keystore.p12 -srcstoretype pkcs12 -alias <domain_name>
キーストアで証明書を確認します。
keytool -list -v -keystore Tomcat.jks
私は同じ問題に直面しました、そして実際の問題は行末文字でした、証明書ファイルは行末文字を含むべきではありません。デコードされた文字列は1行である必要があります。
例えば。 cerファイルに以下のような文字が含まれている場合 ----- BEGIN CERTIFICATE ----- SSFDsdfsSDfsGSDFasdfSFADsdSDFSsdf FGHJFGHfghRTURTYUTRYyrtRTYTRYRTYR ASDFRTYRT $%&EEFGERedfgre $%#dfg ^# ----- END CERTIFICATE -----
に変更します
----- BEGIN CERTIFICATE -----
SSFDsdfsSDfsGSDFasdfSFADsdSDFSsdfFGHJFGHfghRTURTYUTRYyrtRTYTRYRTYRASDFRTYRTrtyrtyRTryrTRYrtyrTYRYrtwerWERWer#$%&EEFGERedfgre $%#dfg ^#
-----証明書の終了-----
余分な行や列はありません。それが役に立てば幸い。