hc
2024-08-16 62c46c9150c4afde7e5b25436263fddf79d66f0b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/env python
#
# Copyright 2017, Rockchip Electronics Co., Ltd
# hisping lin, <hisping.lin@rock-chips.com>
#
# SPDX-License-Identifier:    GPL-2.0+
#
 
def get_args():
   import argparse
 
   parser = argparse.ArgumentParser()
   parser.add_argument('--prefix', required=True, \
       help='Prefix for the TA array in c file')
 
   parser.add_argument('--out', required=True, \
       help='Name of c file for the TA')
 
   parser.add_argument('--TA', required=True, help='Name of TA')
 
   return parser.parse_args()
 
def main():
   import array
#    from Crypto.PublicKey import RSA
#    from Crypto.Util.number import long_to_bytes
 
   args = get_args();
 
   f = open(args.TA, 'r')
   TAdata = f.read()
   f.close
 
   f = open(args.out, 'w')
 
   f.write("#include <stdint.h>\n");
   f.write("#include <stddef.h>\n\n");
 
#    f.write("const uint32_t " + args.prefix + "_exponent = " +
#        str(key.publickey().e) + ";\n\n")
 
   f.write("const uint8_t " + args.prefix + "_data[] = {\n")
   i = 0;
   for x in array.array("B", TAdata):
       f.write("0x" + '{0:02x}'.format(x) + ",")
       i = i + 1;
       if i % 8 == 0:
           f.write("\n");
       else:
           f.write(" ");
   f.write("};\n");
 
   f.write("const uint32_t " + args.prefix + "_size = " + str(i) + ";\n" )
 
   f.close()
 
if __name__ == "__main__":
   main()