Une fois que vous avez établi qu'ils ne correspondent pas, vous avez toujours un problème - que faire. Souvent, le certificat peut simplement être assemblé de manière incorrecte. Lorsqu'une autorité de certification signe votre certificat, elle vous envoie un bloc qui ressemble à quelque chose comme
-----BEGIN CERTIFICATE-----
MIIAA-and-a-buncha-nonsense-that-is-your-certificate
-and-a-buncha-nonsense-that-is-your-certificate-and-
a-buncha-nonsense-that-is-your-certificate-and-a-bun
cha-nonsense-that-is-your-certificate-and-a-buncha-n
onsense-that-is-your-certificate-AA+
-----END CERTIFICATE-----
ils vous enverront également un ensemble (souvent deux certificats) représentant leur autorité pour vous accorder un certificat. cela ressemblera à quelque chose comme
-----BEGIN CERTIFICATE-----
MIICC-this-is-the-certificate-that-signed-your-request
-this-is-the-certificate-that-signed-your-request-this
-is-the-certificate-that-signed-your-request-this-is-t
he-certificate-that-signed-your-request-this-is-the-ce
rtificate-that-signed-your-request-A
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICC-this-is-the-certificate-that-signed-for-that-one
-this-is-the-certificate-that-signed-for-that-one-this
-is-the-certificate-that-signed-for-that-one-this-is-t
he-certificate-that-signed-for-that-one-this-is-the-ce
rtificate-that-signed-for-that-one-this-is-the-certifi
cate-that-signed-for-that-one-AA
-----END CERTIFICATE-----
sauf que malheureusement, ils ne seront pas aussi clairement étiquetés.
une pratique courante consiste donc à regrouper tous ces éléments dans un seul fichier - votre certificat, puis les certificats de signature. Mais comme ils ne sont pas faciles à distinguer, il arrive parfois que quelqu'un les place accidentellement dans l'autre ordre - signature des certificats, puis certificat final - sans s'en apercevoir. Dans ce cas, votre certificat ne correspondra pas à votre clé.
Vous pouvez tester pour voir ce que le certificat pense qu'il représente en exécutant
openssl x509 -noout -text -in yourcert.cert
En haut, vous devriez voir "Objet:", puis des éléments qui ressemblent à vos données. Si à la place cela ressemble à votre CA, votre bundle est probablement dans le mauvais ordre; vous pouvez essayer de faire une sauvegarde, puis déplacer le dernier certificat au début, en espérant que ce soit celui qui est votre certificat.
Si cela ne fonctionne pas, vous devrez peut-être simplement réémettre le certificat. Lorsque je crée un CSR, j'aime identifier clairement à quel serveur il est destiné (au lieu de simplement ssl.key ou server.key) et en faire une copie avec la date dans le nom, comme mydomain.20150306.key etc. de cette façon il est peu probable que les paires de clés privées et publiques soient mélangées avec un autre ensemble.