youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

sign-versions.py (909B)


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