5858
5959
6060class SigstoreKey (Key ):
61- """Sigstore verifier."""
61+ """Sigstore verifier.
62+
63+ NOTE: unstable API - routines and metadata formats may change!
64+ """
6265
6366 @classmethod
6467 def from_dict (cls , keyid : str , key_dict : Dict [str , Any ]) -> "SigstoreKey" :
@@ -84,6 +87,7 @@ def to_dict(self) -> Dict:
8487
8588 def verify_signature (self , signature : Signature , data : bytes ) -> None :
8689 # pylint: disable=import-outside-toplevel,import-error
90+ result = None
8791 try :
8892 from sigstore .verify import VerificationMaterials , Verifier
8993 from sigstore .verify .policy import Identity
@@ -98,25 +102,29 @@ def verify_signature(self, signature: Signature, data: bytes) -> None:
98102 input_ = io .BytesIO (data ), bundle = bundle , offline = True
99103 )
100104 result = verifier .verify (materials , identity )
101- if not result :
102- logger .info (
103- "Key %s failed to verify sig: %s" , self .keyid , result .reason
104- )
105- raise UnverifiedSignatureError (
106- f"Failed to verify signature by { self .keyid } "
107- )
108- except UnverifiedSignatureError :
109- raise
110105
111106 except Exception as e :
112107 logger .info ("Key %s failed to verify sig: %s" , self .keyid , str (e ))
113108 raise VerificationError (
114109 f"Unknown failure to verify signature by { self .keyid } "
115110 ) from e
116111
112+ if not result :
113+ logger .info (
114+ "Key %s failed to verify sig: %s" ,
115+ self .keyid ,
116+ getattr (result , "reason" , "" ),
117+ )
118+ raise UnverifiedSignatureError (
119+ f"Failed to verify signature by { self .keyid } "
120+ )
121+
117122
118123class SigstoreSigner (Signer ):
119- """Sigstore signer."""
124+ """Sigstore signer.
125+
126+ NOTE: unstable API - routines and metadata formats may change!
127+ """
120128
121129 def __init__ (self , token : str , public_key : Key ):
122130 # TODO: Vet public key
0 commit comments