Tomcat 5.5を実行しているサーバーを更新するための.crtファイルがあります。実行した場合:
keytool - import -alias Tomcat -keystore Tomcat.ks - trustcacerts -file website.net.crt
次のエラーが発生します。
keytool error: gnu.javax.crypto.keyring.MalformedKeyringException: incorrect magic
ところで、キーストアファイルのデフォルトのパスワードはchangeitで、なぜそれを受け入れないのかわかりません
Ssl.com証明書にも同じ問題がありましたが、サポート担当者は非常に役に立ち、基本的にサーバー上に複数のバージョンのJavaがあり、明示的に呼び出す必要があることを伝えました競合を回避するために使用しているバージョンのkeytoolアプリ。たとえば、サーバーでは次のようになります。
の代わりに
keytool - import -alias Tomcat -keystore Tomcat.ks - trustcacerts -file website.net.crt
使用します
/usr/local/jdk/keytool - import -alias Tomcat -keystore Tomcat.ks - trustcacerts -file website.net.crt
キーストアがめちゃくちゃになっていると言っていると思います。キーストアで何か悪いことを確認できますか?
キーストアには、独自の証明書情報以上のものを含める必要があります。また、証明書を認証局(CA)にチェーンバックする必要があります。私の場合、キーストアには4つのエントリがあり、そのうち1つだけが自分に固有のものです。 GoDaddy証明書に対してこれを実行しました。入力したコマンドは次のとおりです。
>keytool -import -alias root -keystore Tomcat.sat.keystore -tr ustcacerts -file valicert_class2_root.crt
Enter keystore password: PASSWORD
Certificate already exists in system-wide CA keystore under alias <valicertclass2ca> Do you still want to add it to your own keystore? [no]: yes
Certificate was added to keystore
>keytool -import -alias cross -keystore Tomcat.sat.keystore -trustcacerts -file Gd_cross_intermediate.crt
Enter keystore password: PASSWORD
Certificate was added to keystore
>keytool -import -alias intermed -keystore Tomcat.sat.keystore -trustcacerts -file Gd_intermediate.crt
Enter keystore password: PASSWORD
Certificate was added to keystore
>keytool -import -alias Tomcat -keystore Tomcat.sat.keystore -trustcacerts -file loxpress.com.crt
Enter keystore password: PASSWORD
Certificate reply was installed in keystore
間違ったkeytoolを実行していると思います。 JDKに付属しているonは、そのクラスを使用しません。 GNU CLASSPATHがインストールされていますか?インストールされている場合は、それを削除してください。これはJavaではなく、単に不十分で非常に部分的な模倣です。次に、元のキーストアを使用してすべてを繰り返します。作成されたものはすべて間違ったキーツールによって捨てられるべきです。
最初にキーストアを順番に取得することをお勧めします。 Keytoolは使いにくい場合があります。
http://portecle.sourceforge.net/ をチェックして、それが役立つかどうかを確認してください。