Forum

You are not logged in.

#1 13-05-2017 20:21:12

Tournikoti
Membre
Registered: 20-03-2013
Posts: 193

Les certificats SSL !

Bonjour à toute l'équipe d'Alwaysdata.

Je cherche à comprendre comment fonctionne les certificats que l'on crée avec OpenSSL.
Entre autre, celui du lien qui existe entre le navigateur qui va consulter mon site et l'hébergement du site.
J'ai compris que je dois posséder des certificats, l'un qui est un certificat d'autorité (CA) et l'autre un certificat serveur qui va porter le nom de mon site avec les adresses IPv4 et IPv6 qui sont associés.

Comment va se propager le certificat d'autorité (CA) entre le site et le navigateur qui est utilisé par l'ordinateur distant ?
C'est un point que je n'ai pas du tout compris.

Pouvez-vous m'éclaire par vos explications sur ce fonctionnement ?

Merci.
@+

Last edited by Tournikoti (23-05-2017 03:36:40)

Offline

#2 23-05-2017 03:41:38

Tournikoti
Membre
Registered: 20-03-2013
Posts: 193

Re: Les certificats SSL !

Bonjour à toute l'équipe d'Alwaysdata.

Je relance le sujet, après 10 jours d'attentes sans réponse de votre part.

Si le certificat (CA) est installé sur un ordinateur, alors l'utilisateur peut accéder à mon site en toute sécurité.
Je voudrais savoir si l'utilisateur doit installer manuellement le certificat (CA) ou bien cela se fait automatiquement ?

@+

Offline

#3 23-05-2017 08:57:36

@Cyril
Staff
From: Paris
Registered: 06-02-2007
Posts: 5,579
Website

Re: Les certificats SSL !

Bonjour,

Rapidement : les navigateurs embarquent un certain nombre de CA bien connus. Si vous avez créé votre propre CA, alors il faudra effectivement l'ajouter manuellement à votre navigateur, sinon vos certificats ne seront pas reconnus.

Offline

#4 28-05-2017 02:23:04

Tournikoti
Membre
Registered: 20-03-2013
Posts: 193

Re: Les certificats SSL !

Salut @Cyril.

@Cyril wrote:

les navigateurs embarquent un certain nombre de CA bien connus.

Oui, c'est ce que j'ai remarqué en jetant un coup d’œil dans l'application "certmgr.msc" de Windows.
Dans le magasin "Autorités de certification racines de confiance", j'en ai comptabilisé 55, dont mon certificat (CA) "Artemus & Cie" qui est celui que j'ai créé et que j'utilise en local sur mon ordinateur.

Si je prends comme exemple, le certificat que vous avez créé pour mon site hébergé chez vous, je constate ceci :
--> DST Root Ca X3
----> Let's Encrypt Authority X3
------> www.jcz.fr

En effet "DST Root Ca X3" est bien présent dans le magasin "Autorités de certification racines de confiance".
"Let's Encrypt Authority X3" se trouve quant à lui dans le magasin "Autorités de certification intermédiaires".
Le certificat "www.jcz.fr" est un certificat serveur qui se trouve chez vous, c'est-à-dire chez Alwaysdata, que je peux consulter, mais qui ne se trouve pas chez moi.

Donc pour bien comprendre le fonctionnement, je dois obligatoirement posséder les certificats suivants :
--> DST Root Ca X3
----> Let's Encrypt Authority X3
dans les magasins de mon ordinateurs pour que le certificat "www.jcz.fr" puisse être reconnu.

@Cyril wrote:

Si vous avez créé votre propre CA, alors il faudra effectivement l'ajouter manuellement à votre navigateur, sinon vos certificats ne seront pas reconnus.

Je ne parlais pas de moi, mais des internautes qui désirent se connecter à mon site.

Doivent-ils installer ce certificat (CA) de nom "Artemus & Cie" dans leur ordinateur ?

Dernièrement, j'ai installé "Comodo FireWall Internet Security Pro 10" afin d'améliorer la sécurité chez moi.
Et justement, en consultant les magasins, j'ai découvert plusieurs certificats Comodo qui n'était pas présent.

Comment sont-ils arrivés là ?
Autrement dit, est-ce par une quelconque propagation dont j'ignore le circuit mise en place ?
Ou bien, est-ce une installation automatique ou manuelle ?

@+

Offline

#5 28-05-2017 10:58:29

@Cyril
Staff
From: Paris
Registered: 06-02-2007
Posts: 5,579
Website

Re: Les certificats SSL !

Vous n'avez besoin que d'avoir le certificat racine (DST Root Ca X3), pas les certificats intermédiaires (Let's Encrypt Authority X3) qui sont signés par la racine, donc automatiquement reconnus comme valides.

Si vous créez donc votre certificat racine (Artemus & Cie), il faudrait que vos visiteurs l'aient ajouté pour ne pas avoir d'erreur. Ce n'est donc pas une solution viable, et c'est la raison pour laquelle tout le monde passe par des fournisseurs de certificats.

La propagation des certificats racine se fait typiquement en mettant à jour le système d'exploitation ou le navigateur. Selon les cas, il est possible qu'installer un logiciel amène aussi de nouveaux certificats racine.

Offline

#6 02-06-2017 15:36:38

Tournikoti
Membre
Registered: 20-03-2013
Posts: 193

Re: Les certificats SSL !

Salut @Cyril.

Merci pour vos explications.

J'ai toujours cru que posséder un certificat SSL officiel était nécessairement payant !
En regardant de plus près Let's Encrypt, je constate que je peux créer gratuitement un certificat serveur, ce dont je ne savais pas jusqu'à aujourd'hui. Je vais me renseigner et chercher comment créer un certificat Let's Encrypt.

Le certificat de mon site www.jcz.fr a une durée de trois mois environ.
Je suppose que l'on ne peut pas mettre plus en durée de validité pour ce type de certificat gratuit.
Chez Alwaysdata, avez-vous automatiser le renouvellement de ces certificats Let's Encrypt ?

Du coup, je n'ai plus à me préoccuper de la propagation des certificats, encore que je constate que sur mon ordinateur, parfois, il y a des certificats qui apparaissent sans bien comprendre comment.
Je prends comme exemple celui qui se trouve dans le magasin "personnel" et qui porte le nom 55c62c3b7ec5790c qui est délivra par "token signing public key" et dont la validité va du 25/05/2017 au 01/06/2017.
Chaque fois que je le détruis, il réapparait !

Sinon, j'aimerai savoir comment installer ce certificat gratuit de chez Let's Encrypt ?
Je ne parle pas de ce qu'il faut mettre dans Apache, car je sais déjà le faire, mais des deux références, à savoir :
--> le certificat CA qui est le référence du certificat du serveur.
--> le certificat du serveur, celui qui porte le nom du site.

Dois-je comprendre que lors de la création du certificat du serveur, je reçois aussi le certificat CA ?

@+

Offline

#7 02-06-2017 15:42:00

@Cyril
Staff
From: Paris
Registered: 06-02-2007
Posts: 5,579
Website

Re: Les certificats SSL !

Bonjour,

Il n'y a rien à faire ou à configurer pour bénéficier du SSL chez alwaysdata : depuis quelques mois, on s'occupe de tout : récupérer le certificat Let's Encrypt et le renouveler régulièrement.

Si Let's Encrypt fonctionne sur (presque) tous les navigateurs, c'est que le CA est inclus.

Offline

#8 03-06-2017 13:59:38

Tournikoti
Membre
Registered: 20-03-2013
Posts: 193

Re: Les certificats SSL !

Salut @Cyril.

@Cyril wrote:

Il n'y a rien à faire ou à configurer pour bénéficier du SSL chez alwaysdata : depuis quelques mois, on s'occupe de tout : récupérer le certificat Let's Encrypt et le renouveler régulièrement.

Oui, je le sais, mais je ne parlais pas que de l'hébergement des sites chez AlwaysData.

Je voulais savoir comment vous avez procédé afin de faire la même chose sur mon ordinateur.
En gros, je voudrais remplacé mon certificat CA de nom "Artemus & Cie" par celui de Let's Encrypt.
Et du coup, je n'aurai plus à me tracasser sur la propagation des certificats sur le net.

@Cyril wrote:

Si Let's Encrypt fonctionne sur (presque) tous les navigateurs, c'est que le CA est inclus.

Je n'aurai pas posé toutes ces questions si dès le départ, j'avais su que Let's Encrypt était gratuit.

@+

Offline

#9 14-06-2017 15:02:44

Tournikoti
Membre
Registered: 20-03-2013
Posts: 193

Re: Les certificats SSL !

Salut @Cyril.

J'ai cherché sur le net comment obtenir un certificat SSL de chez Let's Encrypt et à ma grande surprise, presque tous les didacticiels concernent LINUX.
Vu que je suis sous Windows 10 Pro, cela ne peut me convenir.
J'ai persévéré et j'ai enfin pu trouvé comment installer sous Windows un certificat SSL.

1) il faut récupérer l'outil qui se trouve à cette adresse :
--> https://github.com/Lone-Coder/letsencry … e/releases

2) il s'agit, au moment où j'écris ce message, de la version letsencrypt-win-simple v1.9.3.
Un peu plus bas dans ma page, j'ai cliqué sur :
--> Downloads
--> Bletsencrypt-win-simple.V1.9.3.zip
Le zip fait 4 Mo !

3) j'ai placé ce zip dans un répertoire dédié à son utilisation et bien sûr je l'ai dézippé.
On y trouve un répertoire 32 bits et un répertoire 64 bits.
Comme je suis en Windows 10 Pro 64 bits, c'est cette version que je vais sélectionner.

Dans le répertoire principale, on y trouve aussi :
--> letsencrypt.exe
--> letsencrypt.exe.config
--> Web_Config.xml

Je laissé en l'état.

4) comment utiliser cet outil ?
Pour ce faire, je me suis créé un script batch windows en y plaçant deux commandes.

4-a) L'un pour faire le test et voir le résultat que cela donne :
--> letsencrypt.exe --manualhost www.domaine.fr  --webroot "C:\chemin vers le répertoire racine de votre site"  --test
Il y a deux paramètres qui sont :

--> le nom de votre site.
Il est regrettable de ne pas pouvoir mettre à la place de "www", un "*" afin d'avoir un unique certificat SSL pour tous les sites, ou sous-domaines que vous possédez.

--> le chemin vers le répertoire racine de votre site.
A quoi cela va servir ?
Let's Encrypt a besoin de savoir si vous êtes propriétaire de votre site, car il va y placer un fichier.

Vous avez remarqué que dans cette ligne de commande, il y a le paramètre "-test".
C'est juste une démo avec de faux certificats qui seront créés afin de voir si le paramétrage et l'accessibilité sont corrects.

4-b) la seconde commande est presque identique :
--> letsencrypt.exe --emailaddress emain@domaine.fr  --usedefaulttaskuser  --manualhost www.domaine.fr  --webroot "C:\chemin vers votre répertoire racine de votre site"

Pour savoir que faire, il y a ces sujets :
--> https://github.com/Lone-Coder/letsencry … imple/wiki
--> https://github.com/Lone-Coder/letsencry … all-Script
--> https://github.com/Lone-Coder/letsencry … How-to-Run
--> https://github.com/Lone-Coder/letsencry … nced-Usage
--> https://github.com/Lone-Coder/letsencry … ple/issues

Remarque importante. Votre script batch Windows, vous devez le lancer en mode administrateur.

5) après avoir créé mon script batch Windows, j'exécute la partie test et vlan, ça plante !
En gros, il me dit que Lets Encrypt n'a pas accès à mon site.
Après quelques recherches, je constate que je dois créer un alias, pour autoriser l'accès.
Comme je suis sous WampServer, je place ce fichier de configuration Alias de nom "acme-challenges.conf" dans le répertoire "C:\Wamp\alias".
Voici son contenu :

# *********************** #
#                         #
#     acme-challenges     #
#                         #
# *********************** #

Alias /.well-known/acme-challenge  "C:/Mon-Site/.well-known/acme-challenge"
#
<Directory "C:/Mon-Site/.well-known/acme-challenge">
	Options -Indexes +FollowSymLinks +MultiViews
	AllowOverride all
#
	<RequireAny>
		Require all granted
	</RequireAny>
</Directory>
#

Et bien sûr, je n'oublie pas de redémarrer les services de WampServer.

6) Et là, oh miracle, tout fonctionne correctement.
C'est très bien, mais où Lets Encrypt à placé mon certificat SSL ?
Chez moi, cela se trouve dans le répertoire suivant :
--> C:\Users\{mon nom d'utilisateur}\AppData\Roaming\letsencrypt-win-simple

Et là, je constate qu'il y a deux répertoires, qui sont :
--> httpsacme-staging.api.letsencrypt.org
qui correspond à la version de test (la commande 4-a) ci-dessus )

--> httpsacme-v01.api.letsencrypt.org
qui correspond à la version réelle (la commande 4-b) ci-dessus.
C'est dans ce répertoire que vous trouverez votre certificats.

7) on jette un coup d'oeil dans ce second répertoire, et là, il y a une multitudes de fichiers ! Chez moi il y a en a 12 !!!
Lesquels devons-nous utilisez ?

7-a) le certificat d'authentification : ca-0A0141420000015385736A0B85ECA708-crt.der
c'est celui qui possède un numéro hexadécimal de 32 caractères.

7-b) le certificat de mon serveur (ou de mon site) : [url=http://www.domaine.fr-crt.pem]www.domaine.fr-crt.pem[/url]

7-c) la clef privée de mon certificat : [url=http://www.domaine.fr-key.pem]www.domaine.fr-key.pem[/url]

7-d) la chaine de confiance : [url=http://www.domaine.fr-chain.pem]www.domaine.fr-chain.pem[/url]
On retrouve dans ce fichier le certificat d'authentification ainsi que le certificat intermédiaire.

8) comment configurer Apache.
Je ne vais pas tout détailler ici, mais mettre juste la partie relative aux certificats.
Si vous désirez savoir comment configurer le protocole SSL dans Apache, je vous conseille de lire mon sujet : https://www.jcz.fr/certificats/

Vous devez créer dans le fichier de configuration httpd.conf d'apache, deux virtualHosts, dont l'un correspond au protocole HTTPS (port 443) et l'autre au protocole HTTP (port 80).
Nous renseignons ce qui va suivre dans le virtualHost HTTPS.

8-a) le certificat d'authentification.
--> SSLCACertificatePath    "${Version_Apache}/conf/Certificat/www.domaine.fr"
--> SSLCACertificateFile    "${Version_Apache}/conf/Certificat/www.domaine.fr/Ca-crt.pem"

Pour expliquer mon organisation, dans le répertoire "apache/apache2.4.25/conf", j'ai créé un répertoire de nom "Certificat" où chaque sous-répertoire porte le nom de mon site.
Dans cet exemple, ici, c'est "www.domaine.fr".
Et bien sûr, j'y place tous les certificats qui concerne mon site.

J'ai rebaptisé le nom "ca-0A0141420000015385736A0B85ECA708-crt.der" en "Ca-crt.pem".

8-b) le certificat de mon serveur :
--> SSLCertificateFile      "${Version_Apache}/conf/Certificat/www.domaine.fr/www.domaine.fr-crt.pem"

8-c) la clef privée de mon certificat :
--> SSLCertificateKeyFile   "${Version_Apache}/conf/Certificat/www.domaine.fr/www.domaine.fr-key.pem"

8-d) la chaine de confiance :
--> SSLCertificateChainFile "${Version_Apache}/conf/Certificat/www.domaine.fr/www.domaine.fr-chaine.pem"
Je n'utilise pas ce type de fichier car cela fait double emploi avec le certificat d'authentification CA du § 8-a).

9) après avoir correctement configuré le fichier httpd.conf d'apache, je redémarre les services de wampserver et je fais le test.
Aucun problème, mon site est bien sécurisé lorsque j'accède en tapant "https://www.domaine.fr".
Comme je suis sous google chrome, je peux visualiser le certificat en faisant :
--> je clique sur le bouton à droite (personnaliser et contrôler Google Chrome), celui où il y a les trois points verticales.
--> plus d'outils
--> puis sur "outils de développement".
Dans la partie de droite, s'affiche une fenêtre de nom "Security Overview". Vous cliquez que "view certificate".
Vous pouvez consulter ce certificat et constater que c'est celui que vous avez installé, à savoir celui de Let's Encrypt.

Voilà, je suis arrivé au bout de l'installer d'un certificat Let's Encrypt qui fonctionne parfaitement.
Je n'aborde pas dans ce message les autres questions concernant les certificats Let's Encrypt, comme le renouvellement.

@+

Offline

#10 09-07-2017 11:24:17

jasiumrowka
Membre
From: Berlin
Registered: 07-07-2017
Posts: 1
Website

Re: Les certificats SSL !

Bonjour,

Après de nombreuses tentatives, j’ai abandonné le projet de me connecter à mon serveur NAS Synology en https via le certificat GANDI que j’ai associé au sous-domaine que j’utilise pour y accéder.
– J’ai bien généré sur mon serveur un .CSR et un .KEY.
– J’ai recopié le contenu du .CSR sur le site de GANDI qui m’indique que mon certificat est bien validé.

Mais lorsque je tente de l’installer (option « importer le certificat ») sur mon NAS, j’ai un message qui m’indique que le certificat et sa clé privée ne correspondent pas.
J’ai lu beaucoup de doc sur le sujet, tenté des tutos sur le forum Synology, rien n’y fait.
Il est parfois question d’un .PEM. Je ne sais pas à quoi il correspond et s’il est nécessaire.
Je ne sais pas non plus si mon serveur Apache est correctement configuré car je ne trouve pas de fichier de config dans lequel le port 443 serait en lecture.

Bref, je reprends le sujet ici au hasard de mes rechercges pour le cas où une nouvelle aide pourrait me débloquer.

Offline

#11 09-07-2017 15:41:33

Tournikoti
Membre
Registered: 20-03-2013
Posts: 193

Re: Les certificats SSL !

Salut jasiumrowka.

J'ai fouillé dans les magasins des certificats installés sur mon ordinateur (certmgr.msc), et j'ai trouvé dans "autorité de certification intermédiaires", le certificat "Gandi Standard SSL CA 2".
La chaine des certificats est donc :
--> The UserTrust Network TM
--> UserTrust RSA Certification Autority
--> Gandi Standard SSL CA 2

Pour faire un parallèle avec mon sujet, ci-dessus, il s'agit de :
--> DST Root CA X3
--> Let's Encrypt Authority X3.

Si vous n'avez pas cette chaine de certificats déjà installé sur votre ordinateur, vous ne pourrez pas valider l'installation de votre certificat SSL serveur.
Ensuite, vous ne devez pas installer votre certificat SSL serveur dans les magasins de windows. Cela ne sert à rien.

Par contre, vous devez configurer votre fichier httpd.conf afin de gérer le module SSL.
Et pour ce faire, vous avez besoin des points suivants :
--> le certificat d'authentification de chez Gandi (ca.crt).
--> le certificat SSL serveur de votre site ([url=http://www.domain.fr.crt]www.domain.fr.crt[/url]).
--> la clef privée de votre certificat SSL serveur ([url=http://www.domain.fr.key]www.domain.fr.key[/url]).

Pour la configuration, je vous conseille de lire ma page web "certificats SSL" que vous trouverez ici.

@+

Offline

Board footer

Powered by FluxBB