V digitálním certifikátu x509 je sekce „otisk prstu“. Obsahuje md5, sha1 a sha256. Jak jsou tyto hodnoty získány a během připojení SSL jak jsou tyto hodnoty kontrolovány?
Otisk prstu, jak je zobrazen v části Otisky prstů při pohledu na certifikát v prohlížeči Firefox nebo otisk prstu v IE je hash certifikátu celý ve formě DER.
Pokud je váš certifikát ve formátu PEM, převeďte jej na DER pomocí OpenSSL:
openssl x509 -in cert.crt -outform DER -out cert.cer
Poté proveďte hash SHA-1 (např. Pomocí sha1sum1
):
sha1sum cert.cer
To by mělo vést ke stejnému výsledku jako v prohlížeči. Tyto hodnoty nejsou součástí certifikátu, ale jsou vypočteny z certifikátu.
Jednou z aplikací těchto otisků prstů je ověření platnosti certifikátů EV. V tomto případě je otisk prstu SHA-1 kořenového certifikátu EV CA pevně zakódován v prohlížeči (pamatujte, že (a) je to otisk prstu kořenového certifikátu a (b) musí odpovídat přesně kotevní kotvy dodávané s verzí prohlížeče kompilovanou s těmito hodnotami).
Kromě toho se tyto otisky prstů většinou používají k identifikaci certifikátů (k jejich organizaci).
Jedná se o skutečné veřejné klíče, které se používají k ověření jiných certifikátů v řetězci. Soubor použitý pro podepsání certifikátu ve skutečnosti není v certifikátu (pouze výsledný podpis). Viz struktura certifikát :
Certificate ::= SEQUENCE {
tbsCertificate TBSCertificate,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING }
TBSCertificate ::= SEQUENCE {
version [0] EXPLICIT Version DEFAULT v1,
serialNumber CertificateSerialNumber,
signature AlgorithmIdentifier,
issuer Name,
validity Validity,
subject Name,
...
V tomto případě je hodnota podpisu vypočtena z tbsCertifikátu kódovaného DER (tj. Jeho obsahu). Když je algoritmus podpisu SHA1 s RSA (například), výpočet SHA-1 je pak spočítán a podepsán pomocí soukromého klíče RSA emitenta. Tento výtah SHA-1 nemá nic společného s otiskem prstu, který ukazuje openssl x509 -fingerprint
nebo v prohlížeči, protože se jedná pouze o sekci tbsCertificate.
Existuje také několik nesouvisejících rozšíření, která mohou využívat digesce, veřejných klíčů tentokrát: identifikátor klíče předmětu a identifikátor klíče klíče . Jsou volitelné (a v rámci obsahu TBS v certifikátu).