10
votes

Erreur lors de l'importation d'un certificat public vers un magasin de clés

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 commentaires

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.


4 Réponses :


7
votes

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:

  1. Créer un magasin de clés KeyTool -genkey -ykeyke -keyk RSA -keyStore Test.KeyStore -Validité 360 (Cela génère un keyStore et une clé (DC) avec un alias de "MyKey")

  2. Créez une demande de signature de certificat (RSE). KeyTool -Chertreq -keyalg RSA -File Test.Csr -keyStore Test.KeyStore (Ceci génère un fichier CSR de texte)

  3. avait signé CERT généré: HTTP : //www.instantssl.com/ssl-certificate-support/csr_generation/ssl-certificate-index.html

  4. Certificat signé importé (Faites attention aux CRLFS si collé Signé Cert à partir de l'étape 3) KeyTool -import -Alorts -Alias ​​Newkey -file -keystore Test.KeyStore (? important que cela a un alias différent de l'étape 1 (qui par défaut à "MyKey")?

  5. Exporter une clé publique pour l'utilisation du client KeyTool -export -export -Alias ​​MyKey -File Test.Publickey -keyStore Test.KeyStore

    sur le système serveur

    1. Créer une critère KeyTool -genkey -keykey -keyk l RSA -keyStore Test.Truststore -Validité 360 (Cela génère un keyStore et une clé (DC) avec un alias de "MyKey")

    2. Importer la clé publique - pour tester le service SSL SOAP via le client BeyTool -Import -Import test.Publickey -keyStore Test.Truststore

      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: KeyTool -genkey -Alias ​​-Alias ​​Testalias -Ceyalg RSA -keyStore Test.Truststore -Validité 360

      Vous pouvez importer à l'aide de l'étape 7 ci-dessus (bien que j'ai ajouté " -alias APublickey " à l'étape 7). Cela a fonctionné pour moi.


0 commentaires

4
votes

Vous pouvez utiliser KeyStore Explorer outil GUI pour générer des clés / certificat et pour importer / exporter un certificat en KeyStore.


0 commentaires

0
votes

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.


0 commentaires

1
votes

Veuillez changer l'alias de Tomcat à n'importe quel autre que vous utilisez le même alias pour Keystore -genkey


1 commentaires

J'ai fait la même erreur. Ce message d'erreur est ridicule. merci: D