Documentation
Pages enfant
  • Utilisation de certificats X509 en Java

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Migrated to Confluence 5.3
Sommaire

Références

Les magasins de clés (KeyStores) de Java

...

Un utilitaire GUI est fourni avec le jdk pour gérer les keystores : policytool.

Info
itletitleRemarques

$JAVA_HOME/jre/lib/security/cacerts est le magasin de clé global de Java, mais keytool peut manipuler n'importe quel magasin.
Le mot de passe du magasin global est par défaut changeit.

...

Bloc de code
% keytool -delete -keystore <keystore> -alias <alias>

Importation d'une clé privée

Il est parfois nécessaire d'avoir une clé privée dans le keystore, notamment quand tomcat doit répondre en https (exemple : ent avec load balancing nécessitant esup.real.port.https).

keytool ne permet pas l'import d'une clé privée. Par contre, depuis Java 6, keytool/tomcat gèrent le format PKCS12. On peut donc soit donner directement un PKCS12 à tomcat, soit faire :

Bloc de code

% openssl pkcs12 -export -in xxx.univ-yyy.fr.crt -inkey xxx.univ-yyy.fr.key -out xxx.univ-yyy.fr.p12 -name xxx.univ-yyy.fr -CAfile ca.crt -chain
% keytool -importkeystore -srckeystore xxx.univ-yyy.fr.p12 -srcstoretype pkcs12 -srcstorepass changeit -srcalias xxx.univ-yyy.fr -destkeystore CAS.keystore -deststoretype jks -deststorepass changeit

nb : dans le cas d'un self-signed certificate, on peut supprimer les options "-CAfile ca.crt -chain"

Correspondence entre apache mod_ssl et truststore/keystore

  • keyStore : SSLCertificateFile + SSLCertificateKeyFile + SSLCertificateChainFile
  • trustStore : SSLCACertificateFile

Précisions :

  • si SSLCertificateChainFile n'est pas donné, apache utilise SSLCACertificateFile
  • SSLCACertificateFile est utilisé avec SSLVerifyClient
  • le trustStore est utilisé quand java se connecte en https
  • le keyStore est utilisé par tomcat pour écouter en https