2016-11-08 15:59:08 +00:00
|
|
|
from common import *
|
|
|
|
|
|
|
|
from trezor.crypto import der
|
|
|
|
|
2017-12-16 01:11:26 +00:00
|
|
|
|
2016-11-08 15:59:08 +00:00
|
|
|
class TestCryptoDer(unittest.TestCase):
|
|
|
|
|
2016-11-08 19:25:55 +00:00
|
|
|
vectors_seq = [
|
|
|
|
(('9a0b7be0d4ed3146ee262b42202841834698bb3ee39c24e7437df208b8b70771',
|
|
|
|
'2b79ab1e7736219387dffe8d615bbdba87e11477104b867ef47afed1a5ede781'),
|
2017-12-16 01:11:26 +00:00
|
|
|
'30450221009a0b7be0d4ed3146ee262b42202841834698bb3ee39c24e7437df208b8b7077102202b79ab1e7736219387dffe8d615bbdba87e11477104b867ef47afed1a5ede781'),
|
2016-11-08 19:25:55 +00:00
|
|
|
|
|
|
|
(('6666666666666666666666666666666666666666666666666666666666666666',
|
|
|
|
'7777777777777777777777777777777777777777777777777777777777777777'),
|
|
|
|
'30440220666666666666666666666666666666666666666666666666666666666666666602207777777777777777777777777777777777777777777777777777777777777777'),
|
|
|
|
|
|
|
|
(('6666666666666666666666666666666666666666666666666666666666666666',
|
|
|
|
'eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'),
|
|
|
|
'304502206666666666666666666666666666666666666666666666666666666666666666022100eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'),
|
|
|
|
|
|
|
|
(('eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
|
|
|
|
'7777777777777777777777777777777777777777777777777777777777777777'),
|
|
|
|
'3045022100eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee02207777777777777777777777777777777777777777777777777777777777777777'),
|
|
|
|
|
|
|
|
(('eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
|
|
|
|
'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'),
|
|
|
|
'3046022100eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee022100ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'),
|
|
|
|
|
|
|
|
(('0000000000000000000000000000000000000000000000000000000000000066',
|
|
|
|
'0000000000000000000000000000000000000000000000000000000000000077'),
|
2017-12-16 01:11:26 +00:00
|
|
|
'3006020166020177'),
|
2016-11-08 19:25:55 +00:00
|
|
|
|
|
|
|
(('0000000000000000000000000000000000000000000000000000000000000066',
|
|
|
|
'00000000000000000000000000000000000000000000000000000000000000ee'),
|
2017-12-16 01:11:26 +00:00
|
|
|
'3007020166020200ee'),
|
2016-11-08 19:25:55 +00:00
|
|
|
|
|
|
|
(('00000000000000000000000000000000000000000000000000000000000000ee',
|
|
|
|
'0000000000000000000000000000000000000000000000000000000000000077'),
|
2017-12-16 01:11:26 +00:00
|
|
|
'3007020200ee020177'),
|
2016-11-08 19:25:55 +00:00
|
|
|
|
|
|
|
(('00000000000000000000000000000000000000000000000000000000000000ee',
|
|
|
|
'00000000000000000000000000000000000000000000000000000000000000ff'),
|
2017-12-16 01:11:26 +00:00
|
|
|
'3008020200ee020200ff'),
|
2016-11-08 15:59:08 +00:00
|
|
|
]
|
|
|
|
|
2016-11-08 19:25:55 +00:00
|
|
|
def test_der_encode_seq(self):
|
2016-11-08 15:59:08 +00:00
|
|
|
|
2016-11-08 19:25:55 +00:00
|
|
|
for s, d in self.vectors_seq:
|
|
|
|
s = (unhexlify(i) for i in s)
|
|
|
|
d = unhexlify(d)
|
|
|
|
d2 = der.encode_seq(s)
|
2016-11-08 15:59:08 +00:00
|
|
|
self.assertEqual(d, d2)
|
|
|
|
|
2017-12-16 01:11:26 +00:00
|
|
|
|
2016-11-08 15:59:08 +00:00
|
|
|
if __name__ == '__main__':
|
|
|
|
unittest.main()
|