Use gpg2 to sign the checksum file.

This commit is contained in:
Tom Rothamel
2016-12-23 09:47:15 -05:00
parent 778cb29761
commit 2aaabb3909
+12 -3
View File
@@ -3,6 +3,7 @@
import argparse
import hashlib
import os
import subprocess
def hash_all(f, hash_name, hash_func, directory):
@@ -26,7 +27,7 @@ def hash_all(f, hash_name, hash_func, directory):
h = hash_func(data)
f.write("{} {}\n".format(h.hexdigest(), fn))
print(h.hexdigest(), fn)
# print(h.hexdigest(), fn)
def main():
@@ -36,12 +37,20 @@ def main():
hashes = [ ("md5", hashlib.md5), ("sha1", hashlib.sha1), ("sha256", hashlib.sha256) ]
with open(os.path.join(args.directory, "checksums.txt"), "w") as f:
checksum_fn = os.path.join(args.directory, "checksums.txt")
f.write("# Warning: These can be used to verify file integrity, but are not signed.\n")
with open(checksum_fn, "w") as f:
for name, func in hashes:
hash_all(f, name, func, args.directory)
f.write("\n\n")
if os.path.exists(checksum_fn + ".asc"):
os.unlink(checksum_fn + ".asc")
subprocess.check_call([ "gpg2", "--clearsign", checksum_fn ])
os.rename(checksum_fn + ".asc", checksum_fn)
if __name__ == "__main__":
main()