ローカルマシンで証明書を生成しているときに次のようなエラーメッセージが表示されます。
C:\Users\abc>keytool -genkey -alias Tomcat -keyalg RSA
Enter keystore password:
keytool error: Java.io.IOException: Keystore was tampered with, or password was incorrect
私は私の同僚のマシン上で同じコマンドを実行し、それが正常に動作している私は、JDKバージョンにいくつかの問題があると思います。
あなたの入力を共有してください。
あなたの説明から、私はあなたがwindowsマシン上にいて、あなたの家はabcであると思います
だから今:原因
このコマンドを実行すると
keytool -genkey -alias Tomcat -keyalg RSA
明示的なキーストアを指定していないため、キーストアC:\users\abc>.keystore
を生成しようとします(そして、場合によっては例外が発生します)。もちろん、.keystoreに古いパスワードを指定する必要があります。新しいもの)。
解決策
.keystore
の場所からC:\users\abc>
を削除してコマンドを試してください。
または、以下のコマンドを試して、新しいxyzkeystoreを作成してください。
keytool -genkey -keystore xyzkeystore -alias Tomcat -keyalg RSA
注:-genkey
は古くなっていますが、どちらも同じように機能しますが、-genkeypair
を使用してください。
Cacertsキーストアのデフォルトパスワードを使用して解決しました:'changeit'
空のパスワードは私のMacで働いた。 (下の行を端末に貼り付けます)
keytool -list -v -keystore ~/.Android/debug.keystore
プロンプトが出されたとき
Enter keystore password:
ただエンターボタンを押してください(何も入力しないでください)。
プロジェクトベースのキーストアファイルではなく、デフォルトのdebug.keystore
ファイル用であることを確認してください(パスワードが変更される可能性があります)。
MacOS Sierra 10.10以降でもうまく動作します。
私は聞いたことがある、それはLinux環境でも同様に働く。私はまだLinuxでそれをテストしていません。
Tomcat 8.5では、正しい属性名を書くように注意してください。これはserver.xmlの私のコードです:
<Connector port="8443" protocol="org.Apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/keystore" certificateKeystorePassword="mypassword" type="RSA"/>
</SSLHostConfig>
</Connector>
https://Tomcat.Apache.org/Tomcat-8.5-doc/config/http.html にアクセスしてすべての属性を確認できます。
パスワードにchangeitを使用することも重要です。
このコマンドはついに私のために働いた(桟橋で):
keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass changeit -validity 360 -keysize 2048
Windows上で動作します
コマンドプロンプトを開きます(Windowsキー+ Rキーを押して、表示されるダイアログボックスに引用符なしで "cmd"と入力し、Enterキーを押します)。
次に、以下のコードスニフを入力します。
次のコマンドを入力してください
それからそれは今Keystoreパスワードを頼むでしょう。デフォルトのパスワードは「Android」タイプで、「DONT TYPE ANY PASSWORD」と入力するか、単に入力します。
ホームフォルダ~/.gradle/gradle.properties
を確認してください。ホームディレクトリにgradle.properties
がある場合は、そこから詳細がわかります。それを変更することも、ファイルを削除することもできます。それからそれはあなたのローカルフォルダから必要な詳細を取ります。
[root@localhost Certificate]# openssl pkcs12 -export -in
/opt/Certificate/115c99f4c5aa98f5.crt -inkey /opt/Certificate/ravi.in.key -certfile
/opt/Certificate/Gd_bundle-g2-g1.crt -out RaviNew.p12
Enter Export Password: <Password>
Verifying - Enter Export Password: <Password>
注: - 上記のパスパスワードは、JKSファイルを作成するために必要なので、どこにでも書き留めておいてください(選択したパスワードによって異なります)。
keytool -importkeystore -srckeystore DigiEduNew.p12 -srcstoretype pkcs12 -destkeystore finaldigiEdu.jks -deststoretype JKS
Importing keystore DigiEduNew.p12 to finaldigiEdu.jks...
Enter destination keystore password: <Any Password >
Re-enter new password: <Any Password >
Enter source keystore password: <.P12 Password >
Entry for alias 1 successfully imported.
Import command completed: 1 entries successfully imported, 0 entries failed or
cancelled
Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12
which is an industry standard format using "keytool -importkeystore -srckeystore
finaldigiEdu.jks -destkeystore finaldigiEdu.jks -deststoretype pkcs12".
私の場合はroot
アクセスが必要でした。
このページからのアドバイスをまとめると、私は次のようにまとめました。
keytool -genkeypair -keystore ~/.Android/release.keystore -alias <my_alias> -storepass <my_cert_pass> -keyalg RSA
それから私は私の別名の名前、組織、場所、そしてパスワードに関する一連の質問を受けました。
出力ファイルを削除してコマンドを再実行することで、この問題を解決しました。以前のファイルは上書きされません。 Tomcatで証明書を暗号化しましょうを更新したときにこの問題が発生しました
デフォルトのパスワード「changeit」を使用して、この問題を解決しました。
keytoolエラー:Java.io.IOException:キーストアが改ざんされたか、パスワードが正しくありませんでした
キーストアのパスC:\ MyWorks\mykeystoreをC:\ MyWorks\mykeystoreに変更すると、問題が解決しました。キーストア.
私にとっては、パスワードをアラビア文字から英語の文字に変更することで解決しましたが、最初にフォルダに移動し、生成されたキーを削除してから動作します。