Aller au contenu


Photo

Certificat SSL


  • Please log in to reply
31 réponses à ce sujet

#21 zoc

zoc

    Broyeur de fèves

  • Artisan chocolatier
  • PipPipPipPipPipPip
  • 1 524 messages
  • LocationAntibes, France

Posté 21 septembre 2014 - 07:07

Il faut demander le certificat pour site.com si on veut que ça marche aussi pour www.site.com.

Ca, franchement, je suis loin d'en être certain... Avec un certificat "non wildcard", il faut un certificat avec le nom "www.site.com", parce que "site.com" marchera que pour "https://site.com"...

Edit: Non c'est bon, je viens de voir que quand tu achètes "site.com" il te met "www.site.com" en noms alternatifs.

#22 muqaddar

muqaddar

    Mouleur de chocolats

  • Maître Chocolatier
  • 10 921 messages

Posté 21 septembre 2014 - 19:40

Edit: Non c'est bon, je viens de voir que quand tu achètes "site.com" il te met "www.site.com" en noms alternatifs.

 

Exactement.

 

Mais ça n'est pas le problème de toute façon.

Je vais contacter Gandi.


Mes applications iOS: VinoCell

#23 yoann

yoann

    Brasseur de pâte à cacao

  • Membre
  • PipPipPipPipPipPipPip
  • 2 142 messages
  • LocationMarseille

Posté 22 septembre 2014 - 09:14

C'est qu'il te manque les certificats intermédiaire.

 

Théoriquement les clients sont capable d'aller chercher par eux même les certificats intermédiaire mais ça ne marche pas toujours. De fait sur les serveur on est capable de fournir à la fois le certificat final ainsi que la chaine d'intermédiaire permettant de remonter jusqu'à une racine connue.


Développeur & Consultant Mac
Apple Certified Trainer

#24 muqaddar

muqaddar

    Mouleur de chocolats

  • Maître Chocolatier
  • 10 921 messages

Posté 22 septembre 2014 - 09:33

C'est qu'il te manque les certificats intermédiaire.

 

Théoriquement les clients sont capable d'aller chercher par eux même les certificats intermédiaire mais ça ne marche pas toujours. De fait sur les serveur on est capable de fournir à la fois le certificat final ainsi que la chaine d'intermédiaire permettant de remonter jusqu'à une racine connue.

 

Et tu sais comment on fait ça ?


Mes applications iOS: VinoCell

#25 AliGator

AliGator

    Mouleur de chocolats

  • Contrôleur d'arômes
  • 13 621 messages
  • LocationRennes (France)

Posté 22 septembre 2014 - 09:35

Ah tiens yoann toi qui a l'air de connaître le sujet, je me suis toujours demandé : comment sont récupérés les certificats intermédiaires ?

Par exemple si je demande à une CA de me signer un certificat A, puis que je génère un certificat B que je signe avec A et un certificat C que je signe avec B… Pour pouvoir ensuite signer des trucs (un email, un site, …) avec C :
- Il faut que mon serveur envoie les certificats A, B et C à la fois dans le handshake SSL ? De façon séparées
- Ou bien le client récupère C, regarde s'il connait son signataire B, sinon il le demande, puis regarde s'il connait son signataire A, sinon il le demande, etc ? Et il le demande alors à qui, au même serveur auquel il veut se connecter ? (J'imagine, ça va pas être un espèce de "serveur de certificats" car ça voudrait dire une autre connexion, et comment serait contrôlée le fait qu'il n'y ait pas une MitM entre temps ?)
- Ou bien le serveur fournit un certificat C qui encapsule déjà A et B, et de manière générale un certificat contient tous ses certificats intermédiaires (ou au moins une partie) pour remonter la chaîne ?
La Doc, c'est moi — Devise Shadok : S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !
CocoaPods : Getting StartedLe Blog CocoaPodsCherchez des podsDocs de pods
Mon GitHub: OHHTTPStubs, SwiftGen…
Mon Blog: Crunchy Development

#26 yoann

yoann

    Brasseur de pâte à cacao

  • Membre
  • PipPipPipPipPipPipPip
  • 2 142 messages
  • LocationMarseille

Posté 22 septembre 2014 - 09:51

Et tu sais comment on fait ça ?

 

 

http://wiki.gandi.ne...sl/intermediate

 

+ la doc de OVH sur le sujet.


Développeur & Consultant Mac
Apple Certified Trainer

#27 yoann

yoann

    Brasseur de pâte à cacao

  • Membre
  • PipPipPipPipPipPipPip
  • 2 142 messages
  • LocationMarseille

Posté 22 septembre 2014 - 09:57

Ah tiens yoann toi qui a l'air de connaître le sujet, je me suis toujours demandé : comment sont récupérés les certificats intermédiaires ?

Par exemple si je demande à une CA de me signer un certificat A, puis que je génère un certificat B que je signe avec A et un certificat C que je signe avec B… Pour pouvoir ensuite signer des trucs (un email, un site, …) avec C :
- Il faut que mon serveur envoie les certificats A, B et C à la fois dans le handshake SSL ? De façon séparées
- Ou bien le client récupère C, regarde s'il connait son signataire B, sinon il le demande, puis regarde s'il connait son signataire A, sinon il le demande, etc ? Et il le demande alors à qui, au même serveur auquel il veut se connecter ? (J'imagine, ça va pas être un espèce de "serveur de certificats" car ça voudrait dire une autre connexion, et comment serait contrôlée le fait qu'il n'y ait pas une MitM entre temps ?)
- Ou bien le serveur fournit un certificat C qui encapsule déjà A et B, et de manière générale un certificat contient tous ses certificats intermédiaires (ou au moins une partie) pour remonter la chaîne ?

 

Tu as grosso modo deux options.

 

 

La première, théoriquement belle mais qui ne marche jamais est que tu ne donne que ton certificat, qui dans ses informations contient l'url de récupération du CRT de son signataire, qui lui même contient l'URL du CRT de son signataire, etc.

 

En gros, de référence en référence, le client est censé télécharger l'ensemble des CRT intermédiaire jusqu'à arrivé à un signé par une autorité racine inclus d'origine dans le terminal.

 

 

La seconde, c'est que le serveur lors de l'établissement de la session SSL va envoyer en plus de son certificat l'ensemble de la chaine, de sorte que le client n'ai rien à télécharger. Il va valider l'ensemble de la chaine passé par le certificat et reprendre son process de contrôle à la fin de cette chaine qui abouti normalement sur une autorité racine.


Développeur & Consultant Mac
Apple Certified Trainer

#28 zoc

zoc

    Broyeur de fèves

  • Artisan chocolatier
  • PipPipPipPipPipPip
  • 1 524 messages
  • LocationAntibes, France

Posté 22 septembre 2014 - 10:19

Moi clairement j'ai créé un fichier qui contient l'ensemble de la chaine de certificats et foutu son chemin dans la config d'apache, avec la directive "SSLCertificateChainFile".



#29 yoann

yoann

    Brasseur de pâte à cacao

  • Membre
  • PipPipPipPipPipPipPip
  • 2 142 messages
  • LocationMarseille

Posté 22 septembre 2014 - 11:04

Moi clairement j'ai créé un fichier qui contient l'ensemble de la chaine de certificats et foutu son chemin dans la config d'apache, avec la directive "SSLCertificateChainFile".

 

C'est exactement ça. Par contre où ça se trouve dans l'admin d'OVH, aucune idée ^^


Développeur & Consultant Mac
Apple Certified Trainer

#30 AliGator

AliGator

    Mouleur de chocolats

  • Contrôleur d'arômes
  • 13 621 messages
  • LocationRennes (France)

Posté 22 septembre 2014 - 16:21

Tu as grosso modo deux options.
 
 
La première, théoriquement belle mais qui ne marche jamais est que tu ne donne que ton certificat, qui dans ses informations contient l'url de récupération du CRT de son signataire, qui lui même contient l'URL du CRT de son signataire, etc.
 
En gros, de référence en référence, le client est censé télécharger l'ensemble des CRT intermédiaire jusqu'à arrivé à un signé par une autorité racine inclus d'origine dans le terminal.
 
 
La seconde, c'est que le serveur lors de l'établissement de la session SSL va envoyer en plus de son certificat l'ensemble de la chaine, de sorte que le client n'ai rien à télécharger. Il va valider l'ensemble de la chaine passé par le certificat et reprendre son process de contrôle à la fin de cette chaine qui abouti normalement sur une autorité racine.

OK Merci c'est très clair.

Mais du coup, si on utilise pas un CertificateChainFile (genre PEM qui embarque tous les certificats) — qui est en effet la méthode que j'ai utilisée en y repensant aussi, j'avais oublié cet élément de ma config Apache — mais qu'on fait la méthode 1 et envoie juste un certificat + l'URL de son parent… comment est assuré la sécurité de téléchargement du certificat parent ? S'il y en a besoin d'une en fait, c'est pas dit hein, mais je me dis que s'il faut 3 connexions à 3 serveurs différents pour récupérer C puis B puis A ne faut-il pas que ces connexions soient chacunes sécurisées ?

Bon en fait en posant la question je réalise que certainement que non, car après tout on ne fait qu'échanger des certificats (avec leur clé publique incluse dedans), ça n'a rien de privé, tous ces certificats sont disponibles pour tout le monde après tout. Et même s'il y avait un MitM qu'est ce qu'il pourrait faire ? Renvoyer un faut certificat en retour, ça ne servirait à rien car ce certificat n'étant pas le bon ne pourrait pas valider le certificat fils qu'on veut vérifier, donc j'imagine qu'en fait il n'y a pas de risque de ce côté finalement ?
La Doc, c'est moi — Devise Shadok : S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !
CocoaPods : Getting StartedLe Blog CocoaPodsCherchez des podsDocs de pods
Mon GitHub: OHHTTPStubs, SwiftGen…
Mon Blog: Crunchy Development

#31 muqaddar

muqaddar

    Mouleur de chocolats

  • Maître Chocolatier
  • 10 921 messages

Posté 22 septembre 2014 - 17:39

Je ne suis pas chez OVH.

 

Pour mon premier certificat, j'avais demandé l'activation à mon hébergeur (je dépose le certificat DER à la racine de mon /home), et ils l'activent.

 

Donc, là, je viens aussi de déposer le certificat intermédiaire (DER aussi) et j'ai aussi demandé l'activation (on verra si ça marche).


Mes applications iOS: VinoCell

#32 muqaddar

muqaddar

    Mouleur de chocolats

  • Maître Chocolatier
  • 10 921 messages

Posté 23 septembre 2014 - 20:10

Voilà, ils m'ont installé le certificat intermédiaire, mais je ne vois aucun changement dans Firefox. :)


Mes applications iOS: VinoCell




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)