Outils personnels

Certificat SSL fourni par une CA : Différence entre versions

De wikiGite

Ligne 1 : Ligne 1 :
 
= Apache =
 
= Apache =
On ne peux avoir qu'un seul virtualhost par adresse IP en SSL avec Apache, car le cryptage du flux HTTP (=HTTP'''S''') supprime la possibilité pour Apache de décoder l'URL, et par voie de conséquence d'en extraire le nom du virtualhost demandé. Il ne se fie donc qu'à l'IP, et renvoie sur le premier site qui correspond au tuple ''IP'':''443''.
+
On ne peux avoir qu'un seul virtualhost par adresse IP en SSL avec Apache, car le cryptage du flux HTTP (=HTTP'''S''') supprime la possibilité pour Apache de décoder l'URL, et par voie de conséquence d'en extraire le nom du virtualhost demandé. Il ne se fie donc qu'à l'IP, et renvoie sur le premier site qui correspond au tuple ''IP'':''443''.<br/>
 +
Cependant,
  
 
Le seul moyen pour avoir plusieurs virtualhosts en SSL sur un même serveur est donc de déclarer plusieurs alias IP sur ce serveur et d'attribuer une IP par virtualhost.
 
Le seul moyen pour avoir plusieurs virtualhosts en SSL sur un même serveur est donc de déclarer plusieurs alias IP sur ce serveur et d'attribuer une IP par virtualhost.
Ligne 8 : Ligne 9 :
  
 
== Certificat mono-domaine ==
 
== Certificat mono-domaine ==
=== CSR ===
+
=== Fichiers ===
''Note : pour BlueOnyx, voir la génération via l'interface web ci-dessous''
+
* CSR
 
 
 
La doc de Gandi indique qu'on peut générer le certificat manuellement par
 
La doc de Gandi indique qu'on peut générer le certificat manuellement par
 
  openssl req -nodes -newkey rsa:2048 -keyout monserveur.key -out serveur.csr
 
  openssl req -nodes -newkey rsa:2048 -keyout monserveur.key -out serveur.csr
  
===CRT ===
+
Dans BlueOnyx, générer une demande de certificat (Certificat Signing Request, "CSR"). Onglet "Site Management", en modification du virtualhost, menu SSL.
 +
BlueOnyx propose automatiquement le téléchargement de la requête en TXT.<br>
 +
De plus, si "Enable SSL" n'a pas été coché à la création du virtualhost, on peut le cocher dans le récapitulatif qui s'affiche dans la page.
 +
 
 +
* CRT
 
Lorsqu'on demande l'activation du certificat, le registrar demande alors une copie du CSR. Il génère un certificat à partir de ces informations, avec sa signature, et renvoie un fichier xxxx.crt.
 
Lorsqu'on demande l'activation du certificat, le registrar demande alors une copie du CSR. Il génère un certificat à partir de ces informations, avec sa signature, et renvoie un fichier xxxx.crt.
  
Copier ce fichier dans le répertoire du virtualhost, dans "certs", sous le nom "certificate".
+
* CA-CERT / PEM
 +
Il faut aussi charger sur le site de l'autorité son certificat CA. Pour Gandi c'est un fichier GandiStandardSSLCA.pem disponible sur le site.
 +
 
 +
=== Installation ===
 +
Chemin des certificats dans la BlueOnyx :
 +
/home/sites/<nom_du_virtualhost>/certs
 +
 
 +
* Méthode manuelle :
 +
Copier le fichier xxx.crt dans le répertoire du virtualhost, dans "certs", sous le nom "certificate".
  
'''Ne surtout pas toucher''' au fichier "key", qui est la clé privée du site, et "request", qui est la clé publique, correspondant au CSR envoyé ci-dessus, et reprise dans le certificat de l'autorité de certification.
+
Copier le fichier monserveur.key généré plus haut dans "certs" sous le nom "key".
  
=== TODO ===
+
Copier le fichier CA (ex. GandiStandardSSLCA.pem) dans "certs" sous le nom "ca-certs"
A tester : seule la méthode manuelle a été utilisée pour déposer le certificat du registrar sur le serveur BlueOnyx. Tester le bouton "Manage Certificate Authority" dans l'interface.
 
  
== Certificat Wildcard ==
+
* Par l'interface graphique :
Sur BlueOnyx : uniquement avec des sous-domaines (sinon la configuration dynamique de BlueOnyx renvoie par ReWrite sur le site SSL par défaut). En sous-domaine avec un certificat wildard, chaque sous-domaine est bien indépendant et utilise le certificat posé dans le répertoire "certs" du virtualhost principal.
+
Si le demande a été générée via le menu SSL du virtualhost, le fichier "key" de clé privé est déjà en place.
  
== BlueOnyx ==
+
Importer le certificat renvoyé par l'autorité par le bouton "import", menu SSL du virtualhost.
Dans BlueOnyx, générer une demande de certificat (Certificat Signing Request, "CSR"). Onglet "Site Management", en modification du virtualhost, menu SSL.
 
  
BlueOnyx propose automatiquement le téléchargement de la requête en TXT.<br>
+
Importer le fichier CA (ex. GandiStandardSSLCA.pem) par le bouton "Manage Certificate Authority" / "Add" dans l'interface, menu SSL du virtualhost.
De plus, si "Enable SSL" n'a pas été coché à la création du virtualhost, on peut le cocher dans le récapitulatif qui s'affiche dans la page.
 
  
Chemin des certificats dans la BlueOnyx :
+
== Certificat Wildcard ==
/home/sites/<nom_du_virtualhost>/certs
+
Sur BlueOnyx : uniquement avec des sous-domaines (sinon la configuration dynamique de BlueOnyx renvoie par ReWrite sur le site SSL par défaut). En sous-domaine avec un certificat wildard, chaque sous-domaine est bien indépendant et utilise le certificat posé dans le répertoire "certs" du virtualhost principal.
 +
Malgrès des warnings au démarrage d'Apache indiquant qu'il y a conflit entre plusieurs sous-domaines déclarés sur le port 443, le serveur réussit à diriger les requêtes vers le bon sous-domaine.

Version du 14 octobre 2011 à 11:30

Apache

On ne peux avoir qu'un seul virtualhost par adresse IP en SSL avec Apache, car le cryptage du flux HTTP (=HTTPS) supprime la possibilité pour Apache de décoder l'URL, et par voie de conséquence d'en extraire le nom du virtualhost demandé. Il ne se fie donc qu'à l'IP, et renvoie sur le premier site qui correspond au tuple IP:443.
Cependant,

Le seul moyen pour avoir plusieurs virtualhosts en SSL sur un même serveur est donc de déclarer plusieurs alias IP sur ce serveur et d'attribuer une IP par virtualhost.

Création de certificat

Procédure réalisée avec Gandi. A tester avec d'autres registrars.

Certificat mono-domaine

Fichiers

  • CSR

La doc de Gandi indique qu'on peut générer le certificat manuellement par

openssl req -nodes -newkey rsa:2048 -keyout monserveur.key -out serveur.csr

Dans BlueOnyx, générer une demande de certificat (Certificat Signing Request, "CSR"). Onglet "Site Management", en modification du virtualhost, menu SSL. BlueOnyx propose automatiquement le téléchargement de la requête en TXT.
De plus, si "Enable SSL" n'a pas été coché à la création du virtualhost, on peut le cocher dans le récapitulatif qui s'affiche dans la page.

  • CRT

Lorsqu'on demande l'activation du certificat, le registrar demande alors une copie du CSR. Il génère un certificat à partir de ces informations, avec sa signature, et renvoie un fichier xxxx.crt.

  • CA-CERT / PEM

Il faut aussi charger sur le site de l'autorité son certificat CA. Pour Gandi c'est un fichier GandiStandardSSLCA.pem disponible sur le site.

Installation

Chemin des certificats dans la BlueOnyx :

/home/sites/<nom_du_virtualhost>/certs
  • Méthode manuelle :

Copier le fichier xxx.crt dans le répertoire du virtualhost, dans "certs", sous le nom "certificate".

Copier le fichier monserveur.key généré plus haut dans "certs" sous le nom "key".

Copier le fichier CA (ex. GandiStandardSSLCA.pem) dans "certs" sous le nom "ca-certs"

  • Par l'interface graphique :

Si le demande a été générée via le menu SSL du virtualhost, le fichier "key" de clé privé est déjà en place.

Importer le certificat renvoyé par l'autorité par le bouton "import", menu SSL du virtualhost.

Importer le fichier CA (ex. GandiStandardSSLCA.pem) par le bouton "Manage Certificate Authority" / "Add" dans l'interface, menu SSL du virtualhost.

Certificat Wildcard

Sur BlueOnyx : uniquement avec des sous-domaines (sinon la configuration dynamique de BlueOnyx renvoie par ReWrite sur le site SSL par défaut). En sous-domaine avec un certificat wildard, chaque sous-domaine est bien indépendant et utilise le certificat posé dans le répertoire "certs" du virtualhost principal. Malgrès des warnings au démarrage d'Apache indiquant qu'il y a conflit entre plusieurs sous-domaines déclarés sur le port 443, le serveur réussit à diriger les requêtes vers le bon sous-domaine.