aboutsummaryrefslogtreecommitdiff
path: root/devscripts/gh-pages/sign-versions.py
diff options
context:
space:
mode:
authorFilippo Valsorda <filippo.valsorda@gmail.com>2012-12-31 19:15:30 +0100
committerFilippo Valsorda <filippo.valsorda@gmail.com>2013-01-02 21:52:27 +0100
commitb962b76f439f5614c5ce10c4efc601f290311986 (patch)
treed5afea065915a03bd2a9fe9930c09d0d93a033de /devscripts/gh-pages/sign-versions.py
parent26cf040827a107fa6e8ccf10e1bc6e7860435839 (diff)
downloadyoutube-dl-b962b76f439f5614c5ce10c4efc601f290311986.tar.xz
re-worked release workflow, it is one-step and creates GPG signatures now
Diffstat (limited to 'devscripts/gh-pages/sign-versions.py')
-rwxr-xr-xdevscripts/gh-pages/sign-versions.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/devscripts/gh-pages/sign-versions.py b/devscripts/gh-pages/sign-versions.py
new file mode 100755
index 000000000..dd126df52
--- /dev/null
+++ b/devscripts/gh-pages/sign-versions.py
@@ -0,0 +1,28 @@
+#!/usr/bin/env python3
+
+import rsa
+import json
+from binascii import hexlify
+
+versions_info = json.load(open('update/versions.json'))
+if 'signature' in versions_info:
+ del versions_info['signature']
+
+print('Enter the PKCS1 private key, followed by a blank line:')
+privkey = ''
+while True:
+ try:
+ line = input()
+ except EOFError:
+ break
+ if line == '':
+ break
+ privkey += line + '\n'
+privkey = bytes(privkey, 'ascii')
+privkey = rsa.PrivateKey.load_pkcs1(privkey)
+
+signature = hexlify(rsa.pkcs1.sign(json.dumps(versions_info, sort_keys=True).encode('utf-8'), privkey, 'SHA-256')).decode()
+print('signature: ' + signature)
+
+versions_info['signature'] = signature
+json.dump(versions_info, open('update/versions.json', 'w'), indent=4, sort_keys=True) \ No newline at end of file