Comment importer un certificat jks dans java trust store


Comment importer un.fichier jks dans le truststore de la sécurité java? Tout le tutoriel que je vois utilise un".crt" fichier. Cependant, je n'ai que le ".fichier " jks " qui est également le magasin de clés que j'ai généré à l'aide de la commande keytool.

Actuellement, je suis ce tutoriel.

J'ai pu générer un keystore Java et une paire de clés et générer une demande de signature de certificat (CSR) pour un keystore Java existant, qui est basé sur le tutoriel. Mais je ne peux pas importez un certificat CA racine ou intermédiaire dans un magasin de clés Java existant et importez un certificat principal signé dans un magasin de clés Java existant, car il recherche un ".cert" fichier.

Est-ce que je manque quelque chose sur les étapes énumérées dans le tutoriel? Comment puis-je faire confiance à un certificat si le seul fichier que j'ai est le ".jks" fichier? Et qu'est-ce que l'utilisation de l' ".la rse" fichier?

Veuillez noter que j'utilise Windows.

Author: halfer, 2012-07-28

2 answers

Le ".jks" est le truststore, ou du moins il devrait l'être, si vous l'assignez à JSSE. Vous devez ajouter les certificats de votre autorité de certification à ce fichier. Le logiciel recherchera ensuite la chaîne de certificats en parcourant les certificats. La clé privée doit rester dans le fichier (protégé par mot de passe) ".jks".

En d'autres termes, vous devez importer des certificats dans le ".jks" et non exporter des certificats hors de celui-ci. Vous pouvez télécharger le certificat de votre fournisseur séparément s'ils ne sont pas inclus dans la réponse de votre demande de certificat. Vous pouvez également les exporter à partir de votre navigateur préféré. Normalement, ceux-ci sont stockés au format X5.09 DER (qui devrait être compatible avec Java keytool).

Étapes (en général):

  1. Générer une paire de clés et une demande de certificat, stocker dans un magasin de clés nouveau ou existant (.jks)
  2. Envoyez la demande de certificat à signer, obtenez la chaîne commençant par le certificat que vous demandé
  3. Chaîne de certificats d'importation dans le magasin de clés avec clé privée
  4. Générer un nouveau magasin de clés ou utiliser un magasin de clés existant pour la partie qui doit effectuer la vérification (au moins un ou plusieurs clients lors de l'utilisation de SSL), et importer la chaîne de certificats
  5. Faites confiance à un certicificate dans la chaîne de certificats du magasin de clés ci-dessus, probablement le certificat le plus haut (le certificat "racine").
  6. Configurer et tester les parties, par exemple un serveur utilisant le magasin de clés avec le clé et plusieurs clients utilisant ce dernier magasin de clés.
 12
Author: Maarten Bodewes, 2012-07-28 11:13:23
#Use Keytool command to generate a self-signed certificate and install the certificate in Client Machine JDK Security Key store path.

# generate a certificate using JKS format keystore
keytool -genkey -alias selfrest -keyalg RSA -keypass pass123 -storetype JKS -keystore selfsigned.jks -storepass pass123 -validity 360 -keysize 2048

# To check the content of the keystore, we can use keytool again:
keytool -list -v -keystore selfsigned.jks

#Export Self signed certificate into .cer file
keytool -exportcert -alias selfrest -keystore selfsigned.jks -file selfsigned.cer

# (Run As Administrator- to open CMD.exe)
# Install self-signed certificate into Java JDK CA Certificate key store path
# to avoid giving certificate path in the client program.
keytool -import -alias selfrest -keystore "C:\Program Files\Java\jdk1.8.0_181\jre\lib\security\cacerts" -file selfsigned.cer

# List certificates stored in JDK Key store which you have just now imported into JDK Security path.
keytool -list -keystore "%JAVA_HOME%\jre\lib\security\cacerts
 4
Author: Nagesh, 2018-11-08 10:01:18