]> jfr.im git - yt-dlp.git/blame - devscripts/gh-pages/sign_versions.py
moved docs and updates generation scripts from gh-pages branch to devscripts
[yt-dlp.git] / devscripts / gh-pages / sign_versions.py
CommitLineData
067f6a35
FV
1#! /usr/bin/env python3
2
3import rsa
4import json
5from binascii import hexlify
6
7# TODO path discovery
8versions_info = json.load(open('update/versions.json'))
9if 'signature' in versions_info:
10 del versions_info['signature']
11
12
13print('Enter the PKCS1 private key, followed by a blank line:')
14privkey = ''
15while True:
16 try:
17 line = input()
18 except EOFError:
19 break
20 if line == '':
21 break
22 privkey += line + '\n'
23privkey = bytes(privkey, 'ascii')
24privkey = rsa.PrivateKey.load_pkcs1(privkey)
25
26signature = hexlify(rsa.pkcs1.sign(json.dumps(versions_info, sort_keys=True).encode('utf-8'), privkey, 'SHA-256')).decode()
27print('signature: ' + signature)
28
29versions_info['signature'] = signature
30json.dump(versions_info, open('update/versions.json', 'w'), indent=4, sort_keys=True)