File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -661,6 +661,7 @@ def sigdecode_der_ecdsa_sig_value(sig_der, order):
661661 r , rest = der .remove_integer (rs_strings )
662662 s , optional = der .remove_integer (rest )
663663 empty = optional
664+ r_point = None
664665
665666 # check if a is present
666667 if optional [:1 ] == b"\x02 " :
@@ -672,15 +673,17 @@ def sigdecode_der_ecdsa_sig_value(sig_der, order):
672673 r = der .integer_to_octet_string (r )
673674 # In point compression True is odd b"\x03", False is even b"\x02"
674675 if y :
675- r = b"\x03 " + r
676+ r_point = b"\x03 " + r
676677 else :
677- r = b"\x02 " + r
678+ r_point = b"\x02 " + r
678679 elif optional [:1 ] == b"\x04 " :
679680 y , empty = der .remove_octet_string (optional )
680681 r = der .integer_to_octet_string (r )
681- r = r + y
682+ r_point = r + y
682683 if empty != b"" :
683684 raise der .UnexpectedDER (
684685 "trailing junk after DER numbers: %s" % binascii .hexlify (empty )
685686 )
687+ if r_point is not None :
688+ return r_point , s
686689 return r , s
You can’t perform that action at this time.
0 commit comments