diff --git a/crypto/key.go b/crypto/key.go index 16c50d98..7ab30b43 100644 --- a/crypto/key.go +++ b/crypto/key.go @@ -365,9 +365,14 @@ func (key *Key) GetFingerprint() string { return hex.EncodeToString(key.entity.PrimaryKey.Fingerprint) } +// GetSHA256Fingerprint computes the SHA256 fingerprint of the primary key. +func (key *Key) GetSHA256Fingerprint() (fingerprint string) { + return hex.EncodeToString(getSHA256FingerprintBytes(key.entity.PrimaryKey)) +} + // GetSHA256Fingerprints computes the SHA256 fingerprints of the key and subkeys. func (key *Key) GetSHA256Fingerprints() (fingerprints []string) { - fingerprints = append(fingerprints, hex.EncodeToString(getSHA256FingerprintBytes(key.entity.PrimaryKey))) + fingerprints = append(fingerprints, key.GetSHA256Fingerprint()) for _, sub := range key.entity.Subkeys { fingerprints = append(fingerprints, hex.EncodeToString(getSHA256FingerprintBytes(sub.PublicKey))) } diff --git a/crypto/key_test.go b/crypto/key_test.go index e80c6c0b..e07a506d 100644 --- a/crypto/key_test.go +++ b/crypto/key_test.go @@ -374,6 +374,7 @@ func TestGetSHA256FingerprintsV4(t *testing.T) { assert.Len(t, sha256Fingerprints, 2) assert.Exactly(t, "d9ac0b857da6d2c8be985b251a9e3db31e7a1d2d832d1f07ebe838a9edce9c24", sha256Fingerprints[0]) assert.Exactly(t, "203dfba1f8442c17e59214d9cd11985bfc5cc8721bb4a71740dd5507e58a1a0d", sha256Fingerprints[1]) + assert.Exactly(t, "d9ac0b857da6d2c8be985b251a9e3db31e7a1d2d832d1f07ebe838a9edce9c24", publicKey.GetSHA256Fingerprint()) } func TestGetEntity(t *testing.T) {