J'ai un certificat public d'une ca. Je souhaite créer une connexion Java SSL en utilisant ce certificat. J'ai référé Comment puis-je utiliser Différents certificats sur des connexions spécifiques? et Java SSL Connection avec certificat auto-signé sans copier des clés complètes sur le client . De cela, je comprends que j'ai besoin d'importer le certificat dans un magasin de clés. Cependant, je n'ai reçu aucun kilote de la ca. J'ai créé un keyStore et j'ai essayé d'importer le certificat public. Mais alors, j'obtiens l'erreur suivante:
Erreur de keytool: java.lang.Exception: clés publiques en réponse et clés ne correspondez pas p>
Dois-je avoir besoin d'un keyStore de l'autorité de ca ou je fais quelque chose mal? p>
commande utilisé pour créer la commande KeyStore: P>
keytool -import -v -alias tomcat -file signed-cert.pem -keystore keystore.jks
4 Réponses :
Je pense que vous ne suivez pas correctement le processus de signen des certificats. Checkout cette discussion https://forums.oracle.com/thread/1533940 pour les implémenter correctement En suivant les étapes ci-dessous: p>
Créer un magasin de clés
Créez une demande de signature de certificat (RSE).
avait signé CERT généré: HTTP : //www.instantssl.com/ssl-certificate-support/csr_generation/ssl-certificate-index.html p> LI>
Certificat signé importé
(Faites attention aux CRLFS si collé Signé Cert à partir de l'étape 3)
Exporter une clé publique pour l'utilisation du client
sur le système serveur p>
Créer une critère
Importer la clé publique - pour tester le service SSL SOAP via le client
Le problème était de laisser l'alias dans les étapes 1 et 6 par défaut à "Mykey".
Quand j'ai changé l'étape 6 pour être:
Vous pouvez importer à l'aide de l'étape 7 ci-dessus (bien que j'ai ajouté " KeyTool -genkey -ykeyke -keyk RSA -keyStore Test.KeyStore -Validité 360 Code>
(Cela génère un keyStore et une clé (DC) avec un alias de "MyKey") P> LI>
KeyTool -Chertreq -keyalg RSA -File Test.Csr -keyStore Test.KeyStore Code>
(Ceci génère un fichier CSR de texte) p> li>
KeyTool -import -Alorts -Alias Newkey -file
KeyTool -export -export -Alias MyKey -File Test.Publickey -keyStore Test.KeyStore Code> P> Li>
ol>
KeyTool -genkey -keykey -keyk l RSA -keyStore Test.Truststore -Validité 360 Code>
(Cela génère un keyStore et une clé (DC) avec un alias de "MyKey") P> LI>
BeyTool -Import -Import test.Publickey -keyStore Test.Truststore Code> P> Li>
ol>
KeyTool -genkey -Alias -Alias Testalias -Ceyalg RSA -keyStore Test.Truststore -Validité 360 Code> P>
-alias APublickey code>" à l'étape 7).
Cela a fonctionné pour moi. p>
Vous pouvez utiliser KeyStore Explorer outil GUI pour générer des clés / certificat et pour importer / exporter un certificat en KeyStore. p>
J'ai fait face au même problème tout en important le certificat SSL dans le magasin de clés. Dans mon cas, le certificat de la CA racine manquait de la chaîne. J'ai exporté le certificat racine dans un fichier et importé manuellement dans le magasin de clés. P>
Veuillez changer l'alias de Tomcat à n'importe quel autre que vous utilisez le même alias pour Keystore -genkey P>
J'ai fait la même erreur. Ce message d'erreur est ridicule. merci: D
Pouvez-vous s'il vous plaît être un peu plus précis? Quelle commande utilisez-vous pour créer le keyStore et comment importer le certificat?
Commande de la création du magasin de clés: KeyTool -genkey -Alias Tomcat -keyalg RSA -KeyStore KeyStore.jks Commande à importer le cert: Tool -V -Ilport -V -Alport -V -Lort -V -Alias Tomcat -File Signé-Cert.Pem -keyStore KeyStore.jks
@Zeutheus Avez-vous trouvé un moyen de faire ce travail? Je suis confronté à un problème similaire et une solution au problème ci-dessus sera utile.
Je faisais ça le mauvais sens. Tout d'abord, vous créez un keyStore. Ensuite, vous extrayez la clé publique de ce clavier. Envoyez cette clé publique à votre ca. Lorsqu'ils renvoient le certificat signé, vous pouvez l'importer avec succès dans votre clé de clés.