Přeskočit na obsah
  1. Page d'accueil
  2. Aide
  3. Gestion des certificats
  4. Gestion des certificats SSL avec Java Keystore

Gestion des certificats SSL avec Java Keystore

Ce guide est destiné aux utilisateurs du serveur Apache Tomcat, à ceux qui signent des applications (applets) en Java et, plus généralement, à la gestion des certificats dans le Java keystore.

Remarque : Il n'y a pas de différence lors d'une création de la CSR pour les certificats Code Signing et les certificats de serveur. Le nom de la société doit être saisi dans le champ Common Name.

Créer un keystore et une paire de clés

Cette commande crée un nouveau keystore et une paire de clés que vous utiliserez pour créer la demande de certificat.

keytool -genkey -alias test -keyalg RSA -keystore test.jks -keysize 3072

Saisissez ensuite le mot de passe pour votre keystore et les informations qui le précisent. Les données saisies correspondront à celles dans la CSR :

What is your first and last name?
  [Unknown]:  Test Test
What is the name of your organizational unit?
  [Unknown]:  Unit
What is the name of your organization?
  [Unknown]:  Test corp.
What is the name of your City or Locality?
  [Unknown]:  Some City
What is the name of your State or Province?
  [Unknown]:  Some State
What is the two-letter country code for this unit?
  [Unknown]:  US
Is CN=Test Test, OU=Unit, O=Test corp., L=Some City, ST=Some State, C=US correct?
  [no]:  yes

Générez une CSR

Créez le fichier Certificate Signing Request à l'aide de la commande suivante :

keytool -certreq -alias test -keystore test.jks -file test.csr

Les informations sur le demandeur ont été renseignées lors de la création de la paire de clés dans l'étape précédente, donc KeyTool n'en demande plus.

Le paramètre -file test.csr exporte le code CSR vers le fichier. Vous pouvez l'ignorer et afficher le contenu du fichier CSR à l'écran : copiez/collez la totalité du contenu du fichier, y compris « -----BEGIN CERTIFICATE REQUEST----- » et « -----END CERTIFICATE REQUEST----- » dans le formulaire de demande de certificat de SSLmarket.

Importer un certificat émis dans le keystore

Le certificat est envoyé par mail (vous pouvez également le trouver à tout moment sur votre compte à www.sslmarket.fr/login/) et doit être importé dans le Keystore.

Lors de l'importation, Keystore n'accepte que des certificats approuvés d'autorité de certification émettrice déjà présente dans le keystore. Cela signifie que les certificats doivent être importés dans l'ordre inverse – du certificat racine au certificat de serveur.

Importez le certificat à l'aide de la commande suivante :

keytool -import -trustcacerts -alias test -file test.txt -keystore test.jks

Error: Failed to establish chain from reply

Si votre système affiche l'erreur keytool error: java.lang.Exception: Failed to establish chain from reply : il vous manque le certificat CA/intermédiaire dans le keystore.

Pour le résoudre :

  1. Importez les certificats d'une manière inverse – les certificats CA d'abord :

    keytool -import -trustcacerts -alias root -file intermediate.crt -keystore test.jks
  2. Ou importez le certificat au format PKCS#7 (P7B). Utilisez le fichier linux_cert+ca.pem que vous avez reçu par email de SSLmarket et convertissez-le au format P7B – utilisez la commande suivante :

    openssl crl2pkcs7 -nocrl -certfile linux_cert+ca.pem -out linux_cert+ca.p7b

    et ensuite, importez le fichier dans le keystore :

    keytool -import -trustcacerts -alias test -file linux_cert+ca.p7b -keystore test.jks

    Résultat Certificate reply was installed in keystore : signifie opération réussie. Par contre, le résultat Public keys in reply and keystore don't match signifie qu'il n'y a pas de certificat de serveur dans le fichier .p7b, mais seulement l'intermédiaire.

  3. Éventuellement, utilisez le format PKCS#12 (PFX) contenant tous les éléments nécessaires :

    keytool -importkeystore -srckeystore pkcs12file.p12 -srcstoretype pkcs12 -destkeystore test.jks -deststoretype JKS

    Cette méthode est la plus rapide, mais si vous avez généré la CSR directement dans le keystore, elle est inutile (vous devriez l'exporter).

Outils avec la GUI

Si vous ne souhaitez pas travailler avec le keystore à la ligne de commande et au terminal, vous pouvez utiliser un des outils à l'interface graphique.

Les deux programmes mentionnés peuvent créer ou ouvrir un fichier dans le keystore, générer une CSR et importer un certificat émis (réponse de l'AC). La procédure est la même que pour le terminal ci-dessus ; la seule différence est l'interface graphique.

Portecle

Portecle est un programme gratuit en Java qui permet de gérer le keystore dans une interface graphique. Il est compatible avec diverses plates-formes (Linux, MacOS, Windows).

Portecle – gestion du Java keystore
Portecle – gestion du Java keystore

KeyStore Explorer

KeyStore Explorer fonctionne comme le programme précédent et il est également multi-plateforme.

KeyStore Explorer – gestion du Java keystore
KeyStore Explorer – gestion du Java keystore

La logique des programmes mentionnés est similaire à celle du keystore d'origine ; vous n'économiserez donc pas beaucoup de travail au final.

C'est trop pour vous ?

Si vous êtes bloqué à une étape, n'hésitez pas à contacter notre support client, qui saura vous conseiller et vous aider.

Appelez-nous

ZONER, Inc.

141 Avenue Félix Faure
75015 Paris