1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 17:38:00 +00:00
putty-source/crypto
Simon Tatham cd7f6c4407 Certificate-aware handling of key fingerprints.
OpenSSH, when called on to give the fingerprint of a certified public
key, will in many circumstances generate the hash of the public blob
of the _underlying_ key, rather than the hash of the full certificate.

I think the hash of the certificate is also potentially useful (if
nothing else, it provides a way to tell apart multiple certificates on
the same key). But I can also see that it's useful to be able to
recognise a key as the same one 'really' (since all certificates on
the same key share a private key, so they're unavoidably related).

So I've dealt with this by introducing an extra pair of fingerprint
types, giving the cross product of {MD5, SHA-256} x {base key only,
full certificate}. You can manually select which one you want to see
in some circumstances (notably PuTTYgen), and in others (such as
diagnostics) both fingerprints will be emitted side by side via the
new functions ssh2_double_fingerprint[_blob].

The default, following OpenSSH, is to just fingerprint the base key.
2022-08-05 18:08:59 +01:00
..
aes-common.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
aes-neon.c Formatting: realign run-on parenthesised stuff. 2022-08-03 20:48:46 +01:00
aes-ni.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
aes-select.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
aes-sw.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
aes.h Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
arcfour.c Move crypto into its own subdirectory. 2021-04-21 21:55:26 +01:00
argon2.c Fix a batch of typos in comments and docs. 2022-01-03 06:40:51 +00:00
bcrypt.c Expose openssh_bcrypt() to testcrypt, and test it. 2021-12-24 10:13:28 +00:00
blake2.c Move crypto into its own subdirectory. 2021-04-21 21:55:26 +01:00
blowfish.c Formatting: remove spurious spaces in 'type * var'. 2022-08-03 20:48:46 +01:00
blowfish.h Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00
chacha20-poly1305.c Move crypto into its own subdirectory. 2021-04-21 21:55:26 +01:00
CMakeLists.txt Family of key types for OpenSSH certificates. 2022-04-25 15:09:31 +01:00
crc32.c Move crypto into its own subdirectory. 2021-04-21 21:55:26 +01:00
des.c Formatting: realign run-on parenthesised stuff. 2022-08-03 20:48:46 +01:00
diffie-hellman.c Use C99 named initialisers in all ssh_kex instances. 2022-04-15 17:46:06 +01:00
dsa.c Formatting: realign run-on parenthesised stuff. 2022-08-03 20:48:46 +01:00
ecc-arithmetic.c Move crypto into its own subdirectory. 2021-04-21 21:55:26 +01:00
ecc-ssh.c Formatting: realign run-on parenthesised stuff. 2022-08-03 20:48:46 +01:00
ecc.h testcrypt: adjust some function parameter names. 2021-11-21 22:19:01 +00:00
hash_simple.c Move crypto into its own subdirectory. 2021-04-21 21:55:26 +01:00
hmac.c Generalise strbuf_catf() into put_fmt(). 2021-11-19 11:32:47 +00:00
mac_simple.c Move crypto into its own subdirectory. 2021-04-21 21:55:26 +01:00
mac.c Move crypto into its own subdirectory. 2021-04-21 21:55:26 +01:00
md5.c Move crypto into its own subdirectory. 2021-04-21 21:55:26 +01:00
mpint_i.h Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00
mpint.c Utility function mp_resize. 2022-04-15 17:46:06 +01:00
ntru.c Formatting: realign run-on parenthesised stuff. 2022-08-03 20:48:46 +01:00
ntru.h Implement OpenSSH 9.x's NTRU Prime / Curve25519 kex. 2022-04-15 17:46:06 +01:00
openssh-certs.c Certificate-aware handling of key fingerprints. 2022-08-05 18:08:59 +01:00
prng.c Move crypto into its own subdirectory. 2021-04-21 21:55:26 +01:00
pubkey-pem.c Move crypto into its own subdirectory. 2021-04-21 21:55:26 +01:00
pubkey-ppk.c Move crypto into its own subdirectory. 2021-04-21 21:55:26 +01:00
pubkey-ssh1.c Move crypto into its own subdirectory. 2021-04-21 21:55:26 +01:00
rsa.c Formatting: realign run-on parenthesised stuff. 2022-08-03 20:48:46 +01:00
sha1-common.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
sha1-neon.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
sha1-ni.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
sha1-select.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
sha1-sw.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
sha1.h Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
sha3.c Move crypto into its own subdirectory. 2021-04-21 21:55:26 +01:00
sha256-common.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
sha256-neon.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
sha256-ni.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
sha256-select.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
sha256-sw.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
sha256.h Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
sha512-common.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
sha512-neon.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
sha512-select.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
sha512-sw.c Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
sha512.h Break up crypto modules containing HW acceleration. 2021-04-21 21:55:26 +01:00
xdmauth.c Move crypto into its own subdirectory. 2021-04-21 21:55:26 +01:00