Lorsque l'on recoit des certificats SSL on se retrouve avec des machins remplis de trucs chiffrés.
Difficile parfois de vérifier que tout concorde et quel est le pendant de quoi.
On peut cependant vérifier si les 3 morceaux de la chaine de construction des certificats est correcte en utilisant la commande open ssl.
Il suffit de vérifier le "modulus" (clé mathématique de chiffrement) de chaque élément, comme cette clé est longue on créé un hachage md5 plus concis.
Le nom des fichiers n'a pas d'importance mais pour pouvoir scripter on utilise un nom "domain.etiquette.type" où :
  • x509
  • Le certificat réél
  • req
  • Le CSR utilisé pour faire la requete
  • rsa
  • La clé privée générée au moment de la création du CSR
Dans mon cas j'ai :
 %  ls * 
domain.cert.x509  domain.csr.req  domain.priv.rsa
 %  for i in $(ls) ;  
do 
T=$(echo $i | awk -F '.' '{print $NF}') 
echo $T 
openssl $T -noout -modulus -in $i | md5sum 
done 
x509
1af05ed76582f9ee8d15b84d008a315c  -
req
1af05ed76582f9ee8d15b84d008a315c  -
rsa
1af05ed76582f9ee8d15b84d008a315c  -
 %  ls
On vérifie donc bien que les 3 éléments concordent. Pour voir ce que contient le certificat :
 %  openssl x509 -noout -text -in domain.cert.x509  
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            70:a8:04:93:a2:4d:01:fc:f2:4d:4e:9f:4c:43:cf:3e
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)10, CN=VeriSign Class 3 International Server CA - G3
        Validity
            Not Before: Apr  8 00:00:00 2013 GMT
...
Plus d'info sur la manipulation des certificats sur cette page.