Je reçois une erreur de suivi lors de la génération des certificats sur mon ordinateur local.
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
Je pense qu’il ya quelques problèmes dans la version jdk. J’ai exécuté la même commande sur mon ordinateur et cela fonctionne bien.
S'il vous plaît partager vos contributions.
De votre description, je suppose que vous êtes sur la machine Windows et que votre maison est abc
So Now: Cause
Quand vous lancez cette commande
keytool -genkey -alias Tomcat -keyalg RSA
parce que vous ne spécifiez pas de magasin de clés explicite, il essaiera de générer (et dans votre cas, vous obtiendrez une exception afin de mettre à jour) le magasin de clés C:\users\abc>.keystore
et bien sûr, vous devrez fournir un ancien mot de passe pour .keystore pendant que je pense que vous fournissez votre version ( un nouveau).
Solution
Supprimez .keystore
de C:\users\abc>
et essayez la commande.
ou essayez la commande suivante qui créera un nouveau xyzkeystore:
keytool -genkey -keystore xyzkeystore -alias Tomcat -keyalg RSA
Note: -genkey
est vieux maintenant, utilisez plutôt -genkeypair
même si les deux fonctionnent de manière égale.
Je l'ai résolu en utilisant le mot de passe par défaut pour le magasin de clés cacerts: 'changeit'
Vider le mot de passe a fonctionné dans mon mac. (coller la ligne ci-dessous dans le terminal)
keytool -list -v -keystore ~/.Android/debug.keystore
quand il invite
Enter keystore password:
il suffit d'appuyer sur le bouton Entrée (Ne rien taper). Cela devrait fonctionner.
Assurez-vous qu'il s'agit du fichier debug.keystore
par défaut et non du fichier de clés de votre projet (le mot de passe peut changer pour cela).
Fonctionne bien aussi pour MacOS Sierra 10.10+.
J'ai entendu dire que cela fonctionne également pour l'environnement linux. Je n'ai pas encore testé cela sous Linux.
Dans Tomcat 8.5, veillez à écrire le nom correct des attributs. Ceci est mon code sur 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>
Vous pouvez visiter https://Tomcat.Apache.org/Tomcat-8.5-doc/config/http.html pour voir tous les attributs
Utiliser changeit pour le mot de passe est également important.
Cette commande a finalement fonctionné pour moi (avec jetée):
keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass changeit -validity 360 -keysize 2048
Vérifiez votre dossier personnel ~/.gradle/gradle.properties
. Parfois, si vous avez gradle.properties
dans le répertoire personnel, il prend des détails dans le répertoire là. Soit vous pouvez changer cela ou supprimer les fichiers. Ensuite, il faudra les détails requis de votre dossier local.
Fonctionne sous Windows
ouvrez l'invite de commande (appuyez sur les touches Windows + R, puis tapez "cmd" sans les guillemets dans la boîte de dialogue qui apparaît, puis appuyez sur la touche Entrée).
puis tapez le code sniff ci-dessous:
puis tapez la commande suivante
Ensuite, il vous demandera maintenant un mot de passe Keystore. Le mot de passe par défaut est Tapez "Android" et entrez ou appuyez simplement sur "DONT TYPE ANY PASSWORD".
[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>
Remarque: - / Au-dessus de l'exportation, écrivez Pasworrd n'importe où, car il est indispensable de créer un fichier JKS (le choix du mot de passe dépend de votre choix)
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".
Dans mon cas, il me fallait un accès root
.
En résumant les conseils de cette page, j'ai terminé avec les éléments suivants:
keytool -genkeypair -keystore ~/.Android/release.keystore -alias <my_alias> -storepass <my_cert_pass> -keyalg RSA
Ensuite, j'ai reçu une série de questions concernant le nom, l'organisation, le lieu et le mot de passe de mon alias.
J'ai résolu ce problème en supprimant le fichier de sortie et en exécutant à nouveau la commande. Il s'avère que cela n'écrase PAS le fichier précédent. J'ai eu ce problème lors du renouvellement d'un certificat de cryptage avec Tomcat
J'ai résolu ce problème en utilisant le mot de passe par défaut "changeit".
erreur keytool: Java.io.IOException: le magasin de clés a été falsifié ou le mot de passe est incorrect
J'ai résolu mon problème en modifiant le chemin d'accès au fichier de clés C:\MyWorks\mykeystore en C:\MyWorks\mykeystore.keystore .
Pour moi, je l'ai résolu en changeant les mots de passe de lettre arabe en lettre anglaise, mais je suis d'abord allé dans le dossier et j'ai supprimé la clé générée, puis cela a fonctionné.