proj-sms-u
Pages enfant
  • Installation des certificats esup-smsu

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.

...

De manière similaire à la configuration server.xml ci-dessus, il faut préciser les paramètres keystoreFile, keystorePass, truststoreFile, truststorePass du <Connector> https dans server.xml

Paramétrage front office

Génération d'un keystore front office auto-signé

Les keystore front office contiennent les certificats qui serviront à authentifier les applications appelantes au sein des back office.
Chaque certificat front office doit respecter la règle suivante :

le CN (Common Name, correspondant à la question nom et prénom lors de la génération par keytool) doit correspondre au nom de l'application qui sera paramétrée dans le back office.

Exécutez la commande suivante :

Bloc de code

keytool -genkey -keyalg RSA -alias smsu -keystore keystore-smsu.jks

Répondez aux questions posées en respectant la règle énoncée ci-dessus.

Si un keystore existe déjà dans l'environnement, il faut lui ajouter keystore-smsu.jks avec la commande keytool -importkeystore (nécessite java 6)

Configuration du truststore

Un truststore contient tous les certificats de confiance d'une machine.
Un truststore existe déjà et contient les CA standards, notamment "AddTrust External CA Root" pour TERENA.

en cas de certificat back office signé par une autorité de certification

Il n'y a rien à faire, le truststore existant est suffisant

en cas de certificat back office auto-signé

Il ne faut surtout pas supprimer les certificats existants du truststore.
Il faut ajouter le certificat du back office au truststore existant.

  • Créez truststore-smsu.jks à partir du truststore existant (esup-portail.keystore ou $JAVA_HOME/jre/lib/security/cacerts)
  • Pour chaque truststore front office, il faut effectuer les manipulations suivantes pour que chaque truststore contienne le certificat du back office.
    • extraire le certificat du keystore back office
      Bloc de code
      
      keytool -export -keystore keystore-smsuapi.jks -alias smsuapi -file smsuapi.crt
      
    • l'ajouter au truststore front office :
      Bloc de code
      
      keytool -import -keystore truststore-smsu.jks -alias smsuapi -file smsuapi.crt
      
      Pour plus d'information sur ces commandes, voir Utilisation de certificats X509 en Java

Déploiement servlet

Afin de faciliter la mise en place lors d'un déploiement servlet du front office, la mise en place des keystore et truststores (qui sont uniques pour un environnement) a été mise en place au sein même de l'application.

...

Bloc de code
SET CATALINA_OPTS="-Djavax.net.ssl.keyStore=%KEY_CERT%" "-Djavax.net.ssl.keyStorePassword=%PWD_KEYSTORE%" "-Djavax.net.ssl.trustStore=%TRUST_CERT%"

Génération d'un keystore front office auto-signé

Les keystore front office contiennent les certificats qui serviront à authentifier les applications appelantes au sein des back office.
Chaque certificat front office doit respecter la règle suivante :

le CN (Common Name, correspondant à la question nom et prénom lors de la génération par keytool) doit correspondre au nom de l'application qui sera paramétrée dans le back office.

Exécutez la commande suivante :

Bloc de code

keytool -genkey -keyalg RSA -alias smsu -keystore keystore-smsu.jks

Répondez aux questions posées en respectant la règle énoncée ci-dessus.

Si un keystore existe déjà dans l'environnement, il faut lui ajouter keystore-smsu.jks avec la commande keytool -importkeystore (nécessite java 6)

Configuration du truststore en cas de certificat back office auto-signé

Un truststore contient tous les certificats de confiance d'une machine. Si la machine cible contient déjà un truststore, la manipulation consiste à ajouter un nouveau certificat au truststore existant. Le truststore front office existe déjà à priori et contient les CA standards, notamment "AddTrust External CA Root" pour TERENA. Il ne faut surtout pas les supprimer.

Les manipulations suivantes sont à effectuer de manière à ce que chaque truststore front office contienne le certificat du back office.

Extraire le certificat du keystore back office et l'ajouter au truststore front office (créé à partir de esup-portail.keystore ou $JAVA_HOME/jre/lib/security/cacerts) :

Bloc de code

keytool -export -keystore keystore-smsuapi.jks -alias smsuapi -file smsuapi.crt
keytool -import -keystore truststore-smsu.jks -alias smsuapi -file smsuapi.crt

...

Debuggage ssl

La sécurisation des connexions est un point sensible de l'environnement.
Il est possible de suivre les événements SSL de l'application en paramétrant le variable d'environnement suivante avant lancement du serveur Tomcat :

...