File tree Expand file tree Collapse file tree 2 files changed +9
-4
lines changed
Expand file tree Collapse file tree 2 files changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -102,8 +102,12 @@ def long2intarr(long_int):
102102 return _bytes
103103
104104
105- def long_to_base64 (n ):
105+ def long_to_base64 (n , mlen = 0 ):
106106 bys = long2intarr (n )
107+ if mlen :
108+ _len = mlen - len (bys )
109+ if _len :
110+ bys = [0 ] * _len + bys
107111 data = struct .pack ('%sB' % len (bys ), * bys )
108112 if not len (data ):
109113 data = '\x00 '
Original file line number Diff line number Diff line change @@ -628,14 +628,15 @@ def serialize(self, private=False):
628628 raise SerializationNotPossible ()
629629
630630 res = self .common ()
631+ blen = self .curve .bytes
631632 res .update ({
632633 "crv" : self .curve .name (),
633- "x" : long_to_base64 (self .x ),
634- "y" : long_to_base64 (self .y )
634+ "x" : long_to_base64 (self .x , blen ),
635+ "y" : long_to_base64 (self .y , blen )
635636 })
636637
637638 if private and self .d :
638- res ["d" ] = long_to_base64 (self .d )
639+ res ["d" ] = long_to_base64 (self .d , blen )
639640
640641 return res
641642
You can’t perform that action at this time.
0 commit comments