Merge branch 'master' of https://github.com/rg3/youtube-dl
[youtube-dl] / devscripts / gh-pages / sign-versions.py
1 #!/usr/bin/env python3
2
3 import rsa
4 import json
5 from binascii import hexlify
6
7 versions_info = json.load(open('update/versions.json'))
8 if 'signature' in versions_info:
9         del versions_info['signature']
10
11 print('Enter the PKCS1 private key, followed by a blank line:')
12 privkey = ''
13 while True:
14         try:
15                 line = input()
16         except EOFError:
17                 break
18         if line == '':
19                 break
20         privkey += line + '\n'
21 privkey = bytes(privkey, 'ascii')
22 privkey = rsa.PrivateKey.load_pkcs1(privkey)
23
24 signature = hexlify(rsa.pkcs1.sign(json.dumps(versions_info, sort_keys=True).encode('utf-8'), privkey, 'SHA-256')).decode()
25 print('signature: ' + signature)
26
27 versions_info['signature'] = signature
28 json.dump(versions_info, open('update/versions.json', 'w'), indent=4, sort_keys=True)