]>
Commit | Line | Data |
---|---|---|
51719893 | 1 | #!/usr/bin/env python3 |
067f6a35 FV |
2 | |
3 | import rsa | |
4 | import json | |
5 | from binascii import hexlify | |
6 | ||
1841f65e PH |
7 | try: |
8 | input = raw_input | |
9 | except NameError: | |
10 | pass | |
11 | ||
067f6a35 FV |
12 | versions_info = json.load(open('update/versions.json')) |
13 | if 'signature' in versions_info: | |
14 | del versions_info['signature'] | |
15 | ||
067f6a35 | 16 | print('Enter the PKCS1 private key, followed by a blank line:') |
1841f65e | 17 | privkey = b'' |
067f6a35 FV |
18 | while True: |
19 | try: | |
20 | line = input() | |
21 | except EOFError: | |
22 | break | |
23 | if line == '': | |
24 | break | |
1841f65e | 25 | privkey += line.encode('ascii') + b'\n' |
067f6a35 FV |
26 | privkey = rsa.PrivateKey.load_pkcs1(privkey) |
27 | ||
28 | signature = hexlify(rsa.pkcs1.sign(json.dumps(versions_info, sort_keys=True).encode('utf-8'), privkey, 'SHA-256')).decode() | |
29 | print('signature: ' + signature) | |
30 | ||
31 | versions_info['signature'] = signature | |
32 | json.dump(versions_info, open('update/versions.json', 'w'), indent=4, sort_keys=True) |