@@ -849,7 +849,11 @@ func keySignatureHash(pk, signed signingKey, hashFunc hash.Hash) (h hash.Hash, e
849
849
// VerifyKeyHashTag returns nil iff sig appears to be a plausible signature over this
850
850
// primary key and subkey, based solely on its HashTag.
851
851
func (pk * PublicKey ) VerifyKeyHashTag (signed * PublicKey , sig * Signature ) error {
852
- h , err := keySignatureHash (pk , signed , sig .Hash )
852
+ preparedHash , err := sig .PrepareVerify ()
853
+ if err != nil {
854
+ return err
855
+ }
856
+ h , err := keySignatureHash (pk , signed , preparedHash )
853
857
if err != nil {
854
858
return err
855
859
}
@@ -902,11 +906,15 @@ func keyRevocationHash(pk signingKey, hashFunc hash.Hash) (err error) {
902
906
// VerifyRevocationHashTag returns nil iff sig appears to be a plausible signature
903
907
// over this public key, based solely on its HashTag.
904
908
func (pk * PublicKey ) VerifyRevocationHashTag (sig * Signature ) (err error ) {
905
- h , err := keyRevocationHash ( pk , sig .Hash )
909
+ preparedHash , err := sig .PrepareVerify ( )
906
910
if err != nil {
907
911
return err
908
912
}
909
- return VerifyHashTag (h , sig )
913
+ err = keyRevocationHash (pk , preparedHash )
914
+ if err != nil {
915
+ return err
916
+ }
917
+ return VerifyHashTag (preparedHash , sig )
910
918
}
911
919
912
920
// VerifyRevocationSignature returns nil iff sig is a valid signature, made by this
@@ -968,11 +976,15 @@ func directKeySignatureHash(pk *PublicKey, h hash.Hash) (err error) {
968
976
// VerifyUserIdHashTag returns nil iff sig appears to be a plausible signature over this
969
977
// public key and UserId, based solely on its HashTag
970
978
func (pk * PublicKey ) VerifyUserIdHashTag (id string , sig * Signature ) (err error ) {
971
- h , err := userIdSignatureHash ( id , pk , sig .Hash )
979
+ preparedHash , err := sig .PrepareVerify ( )
972
980
if err != nil {
973
981
return err
974
982
}
975
- return VerifyHashTag (h , sig )
983
+ err = userIdSignatureHash (id , pk , preparedHash )
984
+ if err != nil {
985
+ return err
986
+ }
987
+ return VerifyHashTag (preparedHash , sig )
976
988
}
977
989
978
990
// VerifyUserIdSignature returns nil iff sig is a valid signature, made by this
0 commit comments