Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

integration_certificat_dans_lavoisier [2016/12/16 10:15] (Version actuelle)
Ligne 1: Ligne 1:
 +Modifié par Aïdel, le 08 Jan 2007\\
 +\\
 +
 +====== Integration certificat dans Lavoisier ======
 +
 +\\
 +\\
 +
 +=====  Infos générales ​ =====
 +
 +**Développeur Principal** : Osman Aidel [oaidel@cc.in2p3.fr]\\
 +**Composants impliqués** : Lavoisier [Toutes données accessible en https]\\
 +**Derniers changements** : 29/​11/​2006\\
 +**Qui notifier en cas de problème** : sylvain Reynaud [sylvain.reynaud@cc.in2p3.fr]\\
 +**Qui avertir en cas de problème** : oaidel@cc.in2p3.fr
 +=====  Principe de fonctionnement - architecture ​ =====
 +
 +Le service lavoisier permet de standardiser l'​accès à de nombreuses sources de données sous un format XML.Son objectif est de rendre transparent l'​accès à certaines données qui sont en réalité des données distribuées.Par conséquent,​ Lavoisier doit être capable d'​accéder à n'​importe quelles resources même si celles-ci sont accessible via des protocoles sécurisés comme https.\\
 +Actuellement,​ Lavoisier supporte seulement le protocole https donc si d'​autres protocoles doivent être instancié, veuillez directement vous adresser à Sylvain Reynaud. ​
 +====  Principe HTTPS  ====
 +
 +L'​accès en https à tout site dont le certificat X509 n'est pas validé par une Authoritée de Certification (CA) connue du service Lavoisier génère un ensemble de mises en garde et de validations qui sont interprété par une erreur pour celui-ci. De ce fait, pour éviter ce type de problème durant l'​accès à des données sous https, **il est indispensable que les CAs soit importées dans lavoisier en même temps que le certificat** . 
 +====  Principe d'​intégration de HTTPS dans lavoisier ​ ====
 +
 +L'​implémentation du protocole HTTPS dans lavoisier est faite en java.\\
 +Des commandes java ( keytool ) permettent de stocker toutes les informations relatives au certificat dans un fichier appelé "​.keystore"​.\\
 +Ce fichier est un container qui contiendra le certificat ainsi que toutes les CAS que l'on souhaitera y ajouté.\\
 +\\
 +C'est grâce à ce fichier que lavoisier pourra accéder aux pages https et aussi faire totalement confiance aux sites consultés.
 +=====  Manipulations Techniques ​ =====
 +
 +
 +====  Pré-requis ​ ====
 +
 +Pour mettre en place https sur lavoisier, vous devez disposer d'un certificat machine/​service valide et de toutes les CAs qui seront nécessaires.\\
 +Loggez vous sur la machine sur laquelle tourne le service lavoisier.\\
 +Placez vous dans $GLOBUS_LOCATION\\
 +Placez toutes les CAs et le certificat dans un même répertoire sous $GLOBUS_LOCATION ( par exemple certificate) ​
 +====  Installation du certificat sur le service lavoisier ​ ====
 +
 +
 +===  Création du .keystore ​ ===
 +
 +La création du keystore se fait automatiquement dès que l'on execute la commande keytool.\\
 +Vous n'avez pas besoin de le créer, il vous suffit juste d'​executer les commandes détaillées dans le chapitre suivant. ​
 +===  Intégration du certificat sur le service lavoisier ​ ===
 +
 +Par convention, nous intègrererons les CAs dans un premier temps avec la commande keytool.\\
 +\\
 +La Command suivante intégre dans le keystore la CA CNRS :
 +<​code>​
 +[lavoisier@ccgridli04 lavoisier]$ keytool -import -file certificate/​CNRS.cer
 +</​code>​
 +Ensuite un mot de passe est demandé : par convention nous rentrerons "​lavoisier"​
 +<​code>​
 +Enter keystore password: ​ lavoisier
 +</​code>​
 +La CA est alors enregistrée dans le keystore
 +<​code>​
 +Owner: CN=CNRS, O=CNRS, C=FR
 +Issuer: CN=CNRS, O=CNRS, C=FR
 +Serial number: 0
 +Valid from: Fri Apr 27 07:44:36 CEST 2001 until: Thu Apr 22 07:44:36 CEST 2021
 +Certificate fingerprints:​
 +         ​MD5: ​ 92:​1E:​3C:​80:​4A:​95:​65:​6C:​9E:​A2:​F2:​1E:​12:​BF:​EF:​6D
 +         SHA1: 22:​61:​81:​6A:​9D:​F6:​86:​6E:​76:​CE:​8A:​AC:​6E:​6F:​52:​3D:​8B:​09:​32:​D1
 +</​code>​
 +Une alerte nous demande si lavoisier doit faire confiance à cette CA :
 +<​code>​
 +Trust this certificate?​ [no]:  yes
 +Certificate was added to keystore
 +</​code>​
 +Après l'​enregistrement de la première CA , le fichier .keystore a du être crée dans le home de l'​utilisateur.\\
 +Contrôlez , si ce n'est pas le cas consultez le message d'​erreur.
 +<​code>​
 +ll ~/.keystore
 +</​code>​
 +Une fois que la CA a été enregistré,​ procédez à l'​ajout des CAs suivantes :
 +GRID-FR.cer
 +cerngrid.cer
 +ATTENTION, pour distinguer les CAs entre elles dans le keystore il est necessaire d'​utiliser l'​options -alias.\\
 +\\
 +Exemple :
 +<​code>​
 +[lavoisier@ccgridli04 lavoisier]$ keytool -import -alias 1 -file  certificate/​GRID-FR.cer
 +</​code>​
 +<​code>​
 +Enter keystore password: ​ lavoisier
 +Certificate was added to keystore
 +</​code>​
 +<​code>​
 +[lavoisier@ccgridli04 lavoisier]$ keytool -import -alias 2 -file  certificate/​cerngrid.cer
 +</​code>​
 +<​code>​
 +Enter keystore password: ​ lavoisier
 +Certificate was added to keystore
 +</​code>​
 +et ainsi de suite ...\\
 +\\
 +Une fois que toutes les CAs ont été importé dans le keystore, il faudra ensuite importer le certificat machine/​service qui sera utilisé par lavoisier.\\
 +Pour celà, vous devez ajouter la ligne suivant dans le script bin/​in2p3fr-importcert :
 +<​code>​
 +updateOptions "​keystore.passwd"​ "​lavoisier"​
 +</​code>​
 +Ensuite, executer ceci :
 +<​code>​
 +bin/​in2p3-importcert certificate/​lavoisier.p12 lavoisier
 +</​code>​
 +avec lavoisier.p12 correspondant au certificat machine/​service\\
 +et lavoisier comme pwd\\
 +\\
 +Si vous ne disposez pas d'un certificat au format p12 utilisez la commande openssl pour le convertir :
 +<​code>​
 +Exemple PEM to P12
 +openssl pkcs12 -export -out lavoisier.p12 -inkey hostkey.pem -in hostcert.pem
 +Enter Export Password: lavoisier
 +
 +Exemple CRT to P12
 +openssl pkcs12 -export -out lavoisier.p12 -inkey lavoisier.key -in lavoisier.crt
 +Enter Export Password: lavoisier
 +
 +</​code>​
 +Maintenant, le keystore contient toutes les données liées à la certification.\\
 +Il vous reste plus qu'à activer le HTTPS au démarrage :\\
 +Ajouter dans le script bin/​globus-start-container :
 +<​code>​
 +updateOptions "​keystore.passwd"​ "​lavoisier"​
 +</​code>​
 +Avec "​lavoisier"​ étant le pwd du certificate ​
 +====  Mise à jour du certificat sur le service lavoisier ​ ====
 +
 +Pour mettre à jour le certifcat, vous devez suivre la procédure suivante
 +<​code>​
 +bin/​in2p3-importcert certificate/​lavoisier.p12 lavoisier
 +</​code>​
 +avec lavoisier.p12 correspondant au nouveau certificat machine/​service.\\
 +Si vous ne disposez pas d'un certificat au format p12 utilisez la commande openssl pour le convertir :
 +<​code>​
 +Exemple PEM to P12
 +openssl pkcs12 -export -out lavoisier.p12 -inkey hostkey.pem -in hostcert.pem
 +Enter Export Password: lavoisier
 +
 +Exemple CRT to P12
 +openssl pkcs12 -export -out lavoisier.p12 -inkey lavoisier.key -in lavoisier.crt
 +Enter Export Password: lavoisier
 +</​code>​
 +Maintenant, le keystore contient le nouveau certificat\\
 +Assurez, vous que le pwd du certificat est le même que celui indiqué dans le fichier bin/​globus-start-container :
 +<​code>​
 +updateOptions "​keystore.passwd"​ "​lavoisier"​
 +</​code>​
 +
 +====  Mise à jour des CAs dans le keystore ​ ====
 +
 +Il suffit de lancer la commande suivante pour ajouter une CA :\\
 +\\
 +Exemple :
 +<​code>​
 +[lavoisier@ccgridli04 lavoisier]$ keytool -import -alias 1 -file  certificate/​GRID-FR.cer
 +</​code>​
 +<​code>​
 +Enter keystore password: ​ lavoisier
 +Certificate was added to keystore
 +</​code>​
 +Attention: si l'​alias a déjà été utilisé, une erreur sera générée et vous devrez dans ce cas là en définir un nouveau
 +=====  Problèmes connus - Tests et How to fix  =====
 +
 +A définir.
 +
  
  • integration_certificat_dans_lavoisier.txt
  • Dernière modification: 2016/12/16 10:15
  • (modification externe)