Skip to content

Commit b9e6f6e

Browse files
committed
Initial password.
0 parents  commit b9e6f6e

File tree

5 files changed

+205
-0
lines changed

5 files changed

+205
-0
lines changed

keys/andrew.asc

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
3+
mQINBFLDWoABEADnhxC+Blxo23aK/jtSllB3s9kRziOvFBNnaDsaGJM759Gbcfu6
4+
pECjfvXIhOteZcgFFap0or0xO8wJ4m3zFebB+Hz3sErllG3quoamSn10t0XKkvMc
5+
xCx29vI5/8epWZt70+1XMMGjyjn+YJmbAak7llbfaoOzK63m2WQ5NFs3YKxjNhMv
6+
H2zmCbasYVUFj/yOSAanuntBORqAAuMT5cvvocCHnBjw8KUYMrzgzjf3DlnuoYh0
7+
yHn/nAHDMawpgJq7UeYdFlRvQ2h2WxioViUfyUedVs1B7IOoVxGmFb+Gv2F2r7mF
8+
MOdrx1IlbijU/HcgvJbaMp/roauW9VSwEzfAR7ZfdK6lUvIeiiKBqc7eVEOqgzcr
9+
m8W+ism7vUlJnO53AlEKdn/6A0o9f90xDm3bQnQvf7Eu7bfLCuPo3CgOt+X+8hLc
10+
omqou2Lvn/XYKianPK5D4trzqzhTXkwt4ly23HoC/l6MhV0zEkRe6uEc8fj0Amgw
11+
coOFYAlQYG8Tal4CpojkPLcK+R0dPs/NtoB7VtZVut+6SwJ/8hQ93r6WONLoWlED
12+
BOvCorzWbh1ppmP/0iNOEQbWyOE90UxVrPKapgM22FLliJqGaOO0WqVSR/eG+QD9
13+
5zWX/oa4tfHUKV8sfMPQkcCYkkI9UWf3kT5fbmC+EaXlizPzWnaX07aPZwARAQAB
14+
tCJBbmRyZXcgTmVpdHNjaCA8YW5kcmV3QG5laXRzY2guY2E+iQI5BBMBAgAjAhsP
15+
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AFAlaJW0MACgkQXmJmH7FVcz9SJA/+
16+
J49/M+6RuEihbigQDbEFbUlAt2T1Uvz3E7aTjP0tExO2Xte86GOvzDzJ6YTscd96
17+
CLRnY/P75gzhOXF0SQf0Xfvo1RKp49QOo9D8Tx27W52sISP/j6uibjnGA7R+cvLd
18+
Pij8hj0dKqrgmyLURdGLpPaL81MnpTDGEVYiKoTZBwu9F5t9xdayh5M6qsFBxxre
19+
bfc0a/SHkZPWE78MSnjyy1jP8fyuQY7RL9fAekLNZhAanNplfVgYFxYDOK9jEixq
20+
mKBWyszS5BRwt1gvcC/G9u1i8Mr1EgJSKTx8zAUXChfQASE4XHFD+wLIUf3L2Ffx
21+
/1qPE3JFeK31Dt4KSjdoqZOYqN6dp7v0JEtlPDOJkod1QONoBuW8QFz9OJLJc9mw
22+
e5BN7rV6O3OmuhE8+47IL0y37DE6LQjIEe9B8QoWIZDIs2JUoYV/nxfRBXoFFRlp
23+
yuZUxnB4BBw/uPLy4f5rm6k3onQAfK8amJ8EBb+3h+kvHS1kEDeTxngkr93uTABW
24+
tg0oGBwCV+Srn3moc2J254ND7YpO/uUkWyCLUSGVD61HJ0NLVQnotvbz35EAlbS/
25+
E0VTe9OxmoEmww92ZY2IeqS7W39Z3jnK8p/HOhIKQKtxNTgCikP0qKbo/c9RyeI/
26+
damfGke+LQcyz6MueHHLNDP5njL6fyuMaqiZEjg5NF0=
27+
=zxZq
28+
-----END PGP PUBLIC KEY BLOCK-----

keys/kurt.asc

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
3+
mQGiBETNMPoRBACm9ojlexbMbtw9hHOi/U1Zs9DwEc9eUKZLrWMOXf/DcJh+m0xf
4+
rDDHbyK9hBWuhft/jHhxb3ppQZz4hF+VDyvBFokTA/p/c0oJo4UXn0XiW/8qJirT
5+
cgvtdIAwfzi21S/dzFS+OjMG5nP+KoJkoWCKxWTyZ01oSpUjpDjYeSVeVwCg678z
6+
RdJxJoToAhr1VODj1/gDD50D/iQqOyKXgqX2T80NoOYQwjWzRXYgurHml90l4NS+
7+
2Rm6wTb+k0O6BNNGPRLhx13KFbHw09HvXhY+etyXXP3/g5K8TDGtS+Iw1N3VgchJ
8+
3LhQGY1QEhXR5E13VBVNtARLUKZlQmYpCMHuS0RitYMA83jzoyN44bEx6wSC2WIH
9+
R1F4A/4p6VFDtAk6Y3YPiGwhJ8U63mKUXHuSK0uRGqqyI4d6su9buLBPtvrqJmAK
10+
o7hPsQfH9WjD4POhxNPNaF7CQIw+9NQV3Qt3OueQL6NkcTBAlMxC5taNmZHy3TD1
11+
7B4jBp+fFZCWsVZY53viHWXfWXqRcBXRQCYldy8wGLY7e2buzLQoS3VydCBOZXVm
12+
ZWxkIDxrbmV1ZmVsZEBidXJndW5keXdhbGwuY29tPohhBBMRAgAhAhsjAh4BAheA
13+
BQJKBaT6BQsJCAcDBRUKCQgLBRYCAwEAAAoJEDjnWT8wU0HdFI8AoL3ddO6k8pcJ
14+
0xr0D3X8K/PgzONfAKCKbUOhvtC55Jah5H8WcE/Xc10Q+YhGBBARAgAGBQJEzTGY
15+
AAoJELnrvvxWLK7wZCoAoJMjkhAS9IuEFV4U7V2u2CrH5T1rAKCX+G8OrtefZeWM
16+
wdkh+r3JHvZWi4hFBBARAgAGBQJFdeHjAAoJENH49JMozCAQkksAmI7rGVnOizwZ
17+
wEv5JpWW48H+nfoAn3FfkDdMCdPkiW1Pjgjuy5xLhLOWiEYEEBECAAYFAkV14oIA
18+
CgkQ3ApOXWF3Td1EJACcCLRsYAQfyygpMhFNhRUuvcPQXx4AniMGhKLoufylYwWC
19+
Dj//OSka5Mb3uQINBETNMRIQCAC4G0xGXGye8/6Xq7iEAJdjwy2bnIGl+l2yxLhg
20+
TSQ3gV7L7/sezHU89KAzb3ys+r29mROQLZjJNdxxcrVVierr7KtRgd3qP0fLWyj/
21+
VLKlAc5JaXqUTa472jT5oiRLsbL40j9dSq5cFtvQIhoY//+GyVNnwF2LMGz3nXgc
22+
ooktIaj2LySmaAD/ptyueaEZPKFIvwEaQbRSnSw7jyxv5XHortPc+f9xMhPWKK+8
23+
KO1cPwjDUjBO8csSzs+2kGwxfHpMJzlj9ADqE9w6b6VyhaRCT9GXxZIBq/wW7oKZ
24+
8TUXm5qMllcO6UKnLvqFsX8YcHnYPUKZnqaVQADIo8lgTdkDAAMGB/9IVFW6NMrI
25+
MULXtGFe0iWOB9+C2gwjSa5LSV8G8NEC0XliX0QKium4RVt9TWxxr9IOU9IwlZEx
26+
GiOxh4oEaTNraKOLoTcKdGCqM/iZ7Pbt83Gj/NtTYKKP/TGU0kU9abmLZJik1GZC
27+
RmSBEBhJNP7PFfsN9WPDLcHDn8vTNCteMa6MovnDmFK744mynj9oUx8FRU0B5XPi
28+
h+FFYH+jaHR6LIjZynToohvtkBAd6jwAnhfiZhgSvzmqqfIADXOLngIfgfMLyJ6z
29+
FZuq/TOAqkB23zL5RD66iHVKdgmULMA2ojZnsGG/0CWx/7MCy27bDkW/MvX1gDRH
30+
COd6SIoPUqFDiEkEGBECAAkFAkTNMRICGwwACgkQOOdZPzBTQd1krACfZmPFGiu6
31+
INpg64NrYQ+SgC3EPp0Ani7y7VwzcKGqfWZiVVAAAKoMhS4a
32+
=g+yt
33+
-----END PGP PUBLIC KEY BLOCK-----

keys/mike.asc

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
Version: GnuPG v1
3+
4+
mQENBE86z3cBCADpSDuSTovhjXCzg/D4uw3ve9BIB+klOXxAXtpSwtMdfuTQrJ2a
5+
M5QkhkKKuWpmTravNM6Bg7U0qwjvjbrYKSfarDiRvCD8x7rfSnqn9EEOwtcQpVSm
6+
PqUaAF32FohHGyK1+M3ka8TdpLwqBr2v02usWWt8IKMSiMy0d3VO6Mj2HS/9ppuY
7+
MDpthD5lttToE2gksmCA4TOLG63IfXx2C/NuVrQo+vI4FGH/UI0R+zN8ibVq+j6g
8+
j9j9awSeUEiv2nQmUBZWSFncu/FXOFxDFLXdTDbFveYYEAQTYvDNp6k8sW6YmOKR
9+
CckhIV2NCDOUHgEiKuERAd0wuna9f3ylL8F1ABEBAAG0GW1lZWphaCA8bWVlamFo
10+
QG1lZWphaC5jYT6JATgEEwECACIFAk86z3cCGwMGCwkIBwMCBhUIAgkKCwQWAgMB
11+
Ah4BAheAAAoJEMJgKAMSgGmneVwIAIM6/UQGGDCwtdnCVB3YmrtHxpsCDmgRNenB
12+
95e9GNNONr0FvwgfHz2vVD3JczYy2cnFxHASBoMcreCNHqkC5sg4XTtqwLju3HaA
13+
4bagR0e/CvyBgREar2m00uCNGcmY9vWyZOBBYXnV4aIf1sC4XQEuehjg/pbmaBdY
14+
qjVy8hUxqW6hZ36In2UcGFdWS3aT6QmAXhoxM5Yt955X2ZT5EPV6yRqjdENyhOsO
15+
tPro6fEWFGYFr4ev3oBBEZZQFJWtJfKBPWZK/xLka4fd5IppctmymXq7/BRcTcpQ
16+
aKhSHlOLjjQA+fzmjizXK9hLKQ3bWml5zSlMxBvggrQYOR9yxHa5AQ0ETzrPdwEI
17+
AMqGB9+VB1yOK6xATYRd2crvKA2EASo2OMELsWgXnhWuZpsQj/w3IIDiK6n3M+z1
18+
AvxfU6YXZJta7obD3KZQrqAetZBHBoBT7Qgo7i5M4/v5AVXGMlwgirlwPZ0N8KcF
19+
Zn0QbyELF0acNYZ8xlUt1EQEHIKKxHThtGy8t7oJS7CMb83vNPo/E9NZ7AP1odQU
20+
D3+riADA7bPGGUksGRzKODRaOta93IhwEDNgcTRBU73/0RKS3mQTfY8fDXDUfNLt
21+
EtK8C1PtQqGcuC8zm0Kt7YK1+TPtSSbbseh36GmRTWkJ7/GYYoI4ZHjSAeJcsdkx
22+
OPs1dzEQkc+/q07WhimcRXkAEQEAAYkBHwQYAQIACQUCTzrPdwIbDAAKCRDCYCgD
23+
EoBpp+hcCACRh57atr3wUS7og3tL6NEsaa210CRUOGbU5vj1T6RJesmizG28JtfI
24+
Y8oGpACAkQexOQIxBiIg9xP8tSiaJWlhrt1VVVk23O6FjBkLYraTl3h/yU+/hNFw
25+
n1zKrpRyXIiTfnO0PNe5jLeEaOuKy1E14fL8xN9c8dpJB1KxC95S1Ol+SDTEpfmY
26+
4NaRZdR8PViKxc3rJKE5sRBR6R320oEOo8DzQrkjnBRHXI6YgzvIQpLpJaMPk382
27+
6ImcCfLksID+RE73sMBEExaslGQGzUKTZEXEyk5/7ZAnWYZwB0CUU7QoU9NXBAtB
28+
b105fkqk+9k6p7ymANmPqwLFgwjzjArf
29+
=+73u
30+
-----END PGP PUBLIC KEY BLOCK-----

secrets/edit

+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
#!/usr/bin/env python3.5
2+
3+
import itertools
4+
import os
5+
import pathlib
6+
import re
7+
import subprocess
8+
import sys
9+
import tempfile
10+
11+
from argparse import ArgumentParser
12+
from pathlib import Path
13+
14+
def get_data_if_file_exists(filename):
15+
if filename.is_file():
16+
return subprocess.check_output(['gpg', '-d', str(filename)])
17+
else:
18+
return b""
19+
20+
def edit(data):
21+
editor = os.getenv('EDITOR', 'vim')
22+
23+
with tempfile.TemporaryDirectory() as tmpdir:
24+
tmpdir = Path(tmpdir)
25+
26+
secret_file = tmpdir / 'secret'
27+
secret_file.write_bytes(data)
28+
29+
subprocess.check_call([editor, str(secret_file.absolute())])
30+
31+
return secret_file.read_bytes()
32+
33+
def get_key(keyfile):
34+
fingerprint_text = subprocess.check_output(
35+
['gpg', '--with-fingerprint', str(keyfile)]).decode('US-ASCII')
36+
re_fp = re.compile("Key fingerprint = ([A-F0-9 ]*)")
37+
return re_fp.search(fingerprint_text).group(1).replace(' ', '')
38+
39+
def main(args):
40+
os.umask(0o0077)
41+
42+
parser = ArgumentParser(
43+
description="""
44+
Edit each ENCRYPTED_FILE using $EDITOR, encrypting with all the GPG
45+
keys in ../keys.
46+
""")
47+
parser.add_argument('--re-encrypt', dest='re_encrypt',
48+
action='store_true',
49+
help="""Force re-encryption, good for when the key
50+
list changes""")
51+
parser.add_argument('ENCRYPTED_FILE', nargs='+')
52+
options = parser.parse_args(args)
53+
if len(args) < 1:
54+
parser.print_help()
55+
return 1
56+
57+
for filename in options.ENCRYPTED_FILE:
58+
filename =Path(filename)
59+
60+
data = get_data_if_file_exists(filename)
61+
62+
updated_data = edit(data)
63+
64+
if data == updated_data and not options.re_encrypt:
65+
# No change, no need to re-encrypt
66+
continue
67+
68+
encrypt_command = ['gpg', '-e', '-a', '--always-trust']
69+
encrypt_command.extend(itertools.chain.from_iterable(
70+
('-r', get_key(keyfile)) for keyfile in
71+
(Path(__file__).absolute().parent.parent / 'keys')
72+
.glob('*.asc')))
73+
encrypted = subprocess.check_output(
74+
encrypt_command, input=updated_data).decode('US-ASCII')
75+
76+
filename.write_text(encrypted)
77+
78+
if __name__ == '__main__':
79+
sys.exit(main(sys.argv[1:]))

secrets/twitter.gpg

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
-----BEGIN PGP MESSAGE-----
2+
3+
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
33+
9w==
34+
=qFIx
35+
-----END PGP MESSAGE-----

0 commit comments

Comments
 (0)