« et les deux fichiers, là, ils vont ensemble ?
Pour la clé privée :
openssl rsa -noout -modulus -in server.key | md5sum
Pour le certificat :
openssl x509 -noout -modulus -in server.crt | md5sum
Si le résultat est le même pour les deux commandes, alors votre clé privée et votre certificat sont bien pour le même nom de domaine, avec les mêmes caractéristiques (validité…)
[ NDLR : non, ça veut juste dire que le certificat contient bien la partie publique correspondant à la clé privée, c'tout ]
[...]
.chain ? késako
La directive SSLCertificateChainFile d'Apache2 permet d'indiquer l'emplacement du fichier comportant les certificats chaînés (merci mozilla pour l'explication), c'est à dire votre certificat ET les certificats de votre CA (comme startssl, gandi, comodo).
[ NDLR : SSLCertificateChainFile devient obsolète à partir d'Apache httpd 2.4.8, SSLCertificateFile suffit). ]
Quand vous faites une requêtes (CSR) chez une CA, cette dernière, au moment de vous fournir votre certificat (.crt), vous indique (normalement) où se trouvent ses certificats à prendre dans votre cas.
Nous allons prendre comme exemple ici startssl vu qu'ils permettent d'avoir des certificats gratuits assez facilement. Une fois que j'ai fait ma requête via le formulaire en envoyant ma CSR et qu'ils m'ont fournit ma clé, je peux faire la manipulation suivante :
IMPORTANT : l'ordre dans le fichier doit commencer par le certificat le plus bas (nous), puis remonter progressivement vers le plus haut.
Imaginons que nous avons déjà notre clé privée (exemple.tld.key) et notre certificat (exemple.tld.crt) :
télécharger le certificat intermédiaire de startssl :
wget
https://www.startssl.com/certs/sub.class1.server.ca.pem
puis le certificat root :
wget
https://www.startssl.com/certs/ca.pem
puis on forge le certificat chaîné (ne pas oublier les 2 >>) :
cat exemple.tld.crt >> /etc/ssl/private/exemple.tld.chain
cat sub.class1.server.ca.pem >> /etc/ssl/private/exemple.tld.chain
cat ca.pem >> /etc/ssl/private/exemple.tld.chain
Et le tour est joué* \o/
[...]
s_client
Permet de faire des tests grâce à un client SSL (cf wiki.openssl.org)
openssl s_client -servername www.libwalk.so -connect www.libwalk.so:443
Attention à ne pas oublier -servername et le nom du site que vous voulez tester, sinon la commande prendra le certificat présenté par défaut sur le serveur (et donc pas forcément le bon…).
[...]
Pour plus de précisions, vous pouvez lire "Using OpenSSL’s s_client command with web servers using Server Name Indication (SNI)" pour faire connaissance avec notre ami le SNI (Server Name Indication). »
Via
http://shaarli.cafai.fr/?CZvslQ