diff --git a/requests_http_message_signatures/__init__.py b/requests_http_message_signatures/__init__.py
index b1f681fee0a73788a55e08f1198f0665d5dc51d4..8e1f5b913d363674b8adad68f70091825f24d730 100644
--- a/requests_http_message_signatures/__init__.py
+++ b/requests_http_message_signatures/__init__.py
@@ -112,7 +112,7 @@ class HTTPSignatureAuth(requests.auth.AuthBase):
 
     @classmethod
     def get_string_to_sign(
-        self, request, headers, created_timestamp, expires_timestamp
+        cls, request, headers, created_timestamp, expires_timestamp
     ):
         sts = []
         for header in headers:
@@ -180,7 +180,7 @@ class HTTPSignatureAuth(requests.auth.AuthBase):
         return request
 
     @classmethod
-    def get_sig_struct(self, request, scheme="Authorization"):
+    def get_sig_struct(cls, request, scheme="Authorization"):
         sig_struct = request.headers[scheme]
         if scheme == "Authorization":
             sig_struct = sig_struct.split(" ", 1)[1]
@@ -190,7 +190,7 @@ class HTTPSignatureAuth(requests.auth.AuthBase):
         }
 
     @classmethod
-    def verify(self, request, key_resolver, scheme="Authorization"):
+    def verify(cls, request, key_resolver, scheme="Authorization"):
         if scheme == "Authorization":
             assert "Authorization" in request.headers, "No Authorization header found"
             msg = (
@@ -204,13 +204,13 @@ class HTTPSignatureAuth(requests.auth.AuthBase):
                 'Unknown signature scheme "{}"'.format(scheme)
             )
 
-        sig_struct = self.get_sig_struct(request, scheme=scheme)
+        sig_struct = cls.get_sig_struct(request, scheme=scheme)
         for field in "keyId", "algorithm", "signature":
             assert (
                 field in sig_struct
             ), 'Required signature parameter "{}" not found'.format(field)
         assert (
-            sig_struct["algorithm"] in self.known_algorithms
+            sig_struct["algorithm"] in cls.known_algorithms
         ), "Unknown signature algorithm"
         created_timestamp = (
             int(sig_struct["created"]) if "created" in sig_struct else None
@@ -220,7 +220,7 @@ class HTTPSignatureAuth(requests.auth.AuthBase):
             expires_timestamp = int(expires_timestamp)
         headers = sig_struct.get("headers", "date").split(" ")
         sig = base64.b64decode(sig_struct["signature"])
-        sts = self.get_string_to_sign(
+        sts = cls.get_string_to_sign(
             request, headers, created_timestamp, expires_timestamp=expires_timestamp
         )
         key = key_resolver(
@@ -241,5 +241,6 @@ class HTTPSignatureHeaderAuth(HTTPSignatureAuth):
         request.headers["Signature"] = self.create_signature_string(request)
         return request
 
-    def verify(self, request, key_resolver):
+    @classmethod
+    def verify(cls, request, key_resolver):
         return super().verify(request, key_resolver, scheme="Signature")