Skip to content

Commit 208e85c

Browse files
committed
Fix cryptography deprecation warnings. Closes #108
1 parent 73a3d93 commit 208e85c

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

signxml/__init__.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -363,15 +363,13 @@ def sign(self, data, key=None, passphrase=None, cert=None, reference_uri=None, k
363363

364364
hash_alg = self._get_signature_digest_method_by_tag(self.sign_alg)
365365
if self.sign_alg.startswith("dsa-"):
366-
signer = key.signer(signature_algorithm=hash_alg)
366+
signature = key.sign(signed_info_c14n, algorithm=hash_alg)
367367
elif self.sign_alg.startswith("ecdsa-"):
368-
signer = key.signer(signature_algorithm=ec.ECDSA(algorithm=hash_alg))
368+
signature = key.sign(signed_info_c14n, signature_algorithm=ec.ECDSA(algorithm=hash_alg))
369369
elif self.sign_alg.startswith("rsa-"):
370-
signer = key.signer(padding=PKCS1v15(), algorithm=hash_alg)
370+
signature = key.sign(signed_info_c14n, padding=PKCS1v15(), algorithm=hash_alg)
371371
else:
372372
raise NotImplementedError()
373-
signer.update(signed_info_c14n)
374-
signature = signer.finalize()
375373
if self.sign_alg.startswith("dsa-"):
376374
# Note: The output of the DSA signer is a DER-encoded ASN.1 sequence of two DER integers.
377375
from asn1crypto.algos import DSASignature
@@ -534,7 +532,9 @@ def _verify_signature_with_pubkey(self, signed_info_c14n, raw_signature, key_val
534532
y = bytes_to_long(key_data[len(key_data)//2:])
535533
curve_class = self.known_ecdsa_curves[named_curve.get("URI")]
536534
key = ec.EllipticCurvePublicNumbers(x=x, y=y, curve=curve_class()).public_key(backend=default_backend())
537-
verifier = key.verifier(raw_signature, ec.ECDSA(self._get_signature_digest_method(signature_alg)))
535+
key.verify(raw_signature,
536+
data=signed_info_c14n,
537+
signature_algorithm=ec.ECDSA(self._get_signature_digest_method(signature_alg)))
538538
elif "dsa-" in signature_alg:
539539
dsa_key_value = self._find(key_value, "DSAKeyValue")
540540
p = self._get_long(dsa_key_value, "P")
@@ -545,20 +545,21 @@ def _verify_signature_with_pubkey(self, signed_info_c14n, raw_signature, key_val
545545
key = pn.public_key(backend=default_backend())
546546
from asn1crypto.algos import DSASignature
547547
sig_as_der_seq = DSASignature.from_p1363(raw_signature).dump()
548-
verifier = key.verifier(sig_as_der_seq, self._get_signature_digest_method(signature_alg))
548+
key.verify(sig_as_der_seq,
549+
data=signed_info_c14n,
550+
algorithm=self._get_signature_digest_method(signature_alg))
549551
elif "rsa-" in signature_alg:
550552
rsa_key_value = self._find(key_value, "RSAKeyValue")
551553
modulus = self._get_long(rsa_key_value, "Modulus")
552554
exponent = self._get_long(rsa_key_value, "Exponent")
553555
key = rsa.RSAPublicNumbers(e=exponent, n=modulus).public_key(backend=default_backend())
554-
verifier = key.verifier(raw_signature, padding=PKCS1v15(),
555-
algorithm=self._get_signature_digest_method(signature_alg))
556+
key.verify(raw_signature,
557+
data=signed_info_c14n,
558+
padding=PKCS1v15(),
559+
algorithm=self._get_signature_digest_method(signature_alg))
556560
else:
557561
raise NotImplementedError()
558562

559-
verifier.update(signed_info_c14n)
560-
verifier.verify()
561-
562563
def _get_inclusive_ns_prefixes(self, transform_node):
563564
inclusive_namespaces = transform_node.find("./ec:InclusiveNamespaces[@PrefixList]", namespaces=namespaces)
564565
if inclusive_namespaces is None:

0 commit comments

Comments
 (0)