Comment une chaîne de certificats SSL bundle travail?

J'ai créé une chaîne de la hiérarchie de ce genre.

root-ca ==> signing-ca ==> subordinate-ca ==> server

Il est mentionné à créer de la chaîne d'bundle, le plus bas devraient passer en premier.

$ cat server.crt subordinate-ca.crt signing-ca.crt > server.pem

Mais la vérification échoue.

$ openssl verify -CAfile root-ca.crt server.pem
error 20 at 0 depth lookup:unable to get local issuer certificate

Cependant, si je change l'ordre qu'il semble fonctionner.

$ cat signing-ca.crt subordinate-ca.crt server.crt > server.pem
$ openssl verify -CAfile root-ca.crt server.pem
server.pem: OK

Alors ce serait l'erreur ici?

La chaîne après "chat" comme dirait ci-dessous.

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

Plus d'info: Selon "http://www.herongyang.com/crypto/openssl_verify_2.html", j'ai effectuer le test suivant qui fonctionne.

$ cat signing-ca.crt subordinate-ca.crt > inter.crt
$ openssl verify -CAfile root-ca.crt -untrusted inter.crt server.crt
server.crt: OK

Est-ce à dire que tous les liens sont bons?

OK, j'ai finalement découvrir que ce ne peut pas être fait par ligne de commande OpenSSL (ou au moins facilement). http://openssl.6102.n7.nabble.com/check-certificate-chain-in-a-pem-file-td43871.html

  • Difficile à dire, mais votre chaîne, en effet, semble cassé en quelque sorte. Aussi loin que je peux dire, le openssl vérifier dans le premier cas, permettra de vérifier la chaîne et de l'échec, tandis que le second seulement vérifier la chaîne à partir de la signature-ca.crt à la racine (ne pas avoir besoin d'autres certs, donc il suffit de les ignorer)
  • OK, l'a obtenu. Comment déboguer ce niveau par niveau? Si je fais "openssl verify-CAfile subalternes-ca.crt serveur.crt", en cas d'échec ou de réussite?
  • Aussi loin que je peux dire, il devrait réussir si le serveur cert est une conséquence directe de "l'enfant" de la subordonnée-ca cert.
  • Ce n'est pas vrai, la vérification de la partie de la chaîne sans y compris la racine de l'échec. Vérifier les liens que j'ai ajouter à ma question. Mais merci quand même, vos commentaires sont utiles.
  • Aussi, assurez-vous dos2unix d'abord les fichiers à nettoyer avec LF terminaisons avant de concaténation, cela m'a pris et se manifeste comme "140017985005208:erreur:0906D066:PEM routines:PEM_read_bio:mauvaise fin de ligne:pem_lib.c:809:" le style d'erreur.
InformationsquelleAutor user180574 | 2013-12-05