From d914609d6cf5f40b3ec1901bbd6af13a6e6b037a Mon Sep 17 00:00:00 2001 From: Geoffrey Thomas Date: Tue, 14 Apr 2015 00:20:33 -0400 Subject: Fix comparison between pyasn1 objects introduced in #1843 __eq__ compares values, so e.g. univ.Integer(0) == eoo.endOfOctets. I believe this isn't a logic error for what we're doing now, but keep the code right in case it gets reused. This is the pattern used by pyasn1 internally. --- src/cryptography/hazmat/primitives/asymmetric/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cryptography/hazmat/primitives/asymmetric/utils.py b/src/cryptography/hazmat/primitives/asymmetric/utils.py index f04eb66e..29390e40 100644 --- a/src/cryptography/hazmat/primitives/asymmetric/utils.py +++ b/src/cryptography/hazmat/primitives/asymmetric/utils.py @@ -32,7 +32,7 @@ def decode_rfc6979_signature(signature): # pyasn1 can erroneously return this from top-level DER decoding. # It's intended as a sentinel in recursive BER decoding, so it's # returned even though an asn1Spec is provided. - if data == eoo.endOfOctets: + if eoo.endOfOctets.isSameTypeWith(data) and data == eoo.endOfOctets: raise ValueError("Invalid signature data. Unable to decode ASN.1") r = int(data.getComponentByName('r')) -- cgit v1.2.3