Comment calculer l'empreinte SHA-1 du certificat X.509?

Je suis en train de mettre en œuvre un X. 509 certificate générateur à partir de zéro (je sais à propos de ceux qui existent déjà, mais j'ai besoin d'encore un autre). Ce que je ne peut pas comprendre, c'est comment calculer le SHA-1 (ou tout autre) empreinte du certificat.

La RFC5280 dit que l'entrée de la signature de la fonction est la encodé DER tbsCertificate champ. Malheureusement, le hash que je calcule diffère de celle produite par OpenSSL. Voici une étape par étape exemple.

  1. générer un certificat à l'aide de l'installation de OpenSSL x509 outil (en binaire DER formulaire, pas l'ASCII PEM)
  2. calculer son empreinte SHA-1 à l'aide de openssl x509 -fingerprint
  3. extrait de la SCT champ à l'aide de dd (ou autre chose) et de le stocker dans un fichier séparé; calculer son hachage à l'aide de la sha1sum utilitaire

Maintenant, les hachages je reçois les étapes 2 et 3 sont différents. Quelqu'un peut-il me donner une indication de ce que j'ai fait de mal?

source d'informationauteur Roman Dmitrienko