blob: 3f3798cfb42543d35d402edc5c408033847173cc (
plain)
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
|
#!/usr/bin/env python
from __future__ import print_function
import os
import sys
import binascii
try:
from configparser import ConfigParser
except ImportError:
from ConfigParser import SafeConfigParser as ConfigParser
def file_byte_generator(filename):
with open(filename, "rb") as f:
block = f.read()
return block
def eprint(*args, **kwargs):
print(*args, file=sys.stderr, **kwargs)
def create_header(array_name, in_filename):
if sys.version_info >= (3,0):
hexified = ["0x" + binascii.hexlify(bytes([inp])).decode('ascii') for inp in file_byte_generator(in_filename)]
else:
hexified = ["0x" + binascii.hexlify(inp).decode('ascii') for inp in file_byte_generator(in_filename)]
print("const uint8_t " + array_name + "[] = {")
print(", ".join(hexified))
print("};")
return 0
if __name__ == '__main__':
if len(sys.argv) < 3:
eprint('ERROR: usage: gen_cert_header.py array_name update_config_file')
sys.exit(1)
if not os.path.exists(sys.argv[2]):
eprint('The config file %s does not exist'%(sys.argv[2]))
sys.exit(1)
config = ConfigParser()
config.read(sys.argv[2])
sys.exit(create_header(sys.argv[1], config.get('Updater', 'certificate-der')))
|