chiark / gitweb /
update: report signing key fingerprint in same format as client
authorHans-Christoph Steiner <hans@eds.org>
Sat, 26 Apr 2014 01:07:47 +0000 (21:07 -0400)
committerHans-Christoph Steiner <hans@eds.org>
Sat, 26 Apr 2014 01:07:47 +0000 (21:07 -0400)
fdroidclient now uses SHA256 fingerprints internally, and they are shown in
the repo details view.  This changes the digest algorithm to SHA256 and
changes the format to match what is shown in the repo details view.

fdroidserver/update.py

index 53c999a2f1194cfc1a7e7bb608e918ed7391a26f..d2b02b7b095a3d2805486aea95b38ce5857ece3e 100644 (file)
@@ -632,10 +632,9 @@ def make_index(apps, apks, repodir, archive, categories):
         # Generate a certificate fingerprint the same way keytool does it
         # (but with slightly different formatting)
         def cert_fingerprint(data):
-            digest = hashlib.sha1(data).digest()
+            digest = hashlib.sha256(data).digest()
             ret = []
-            for i in range(4):
-                ret.append(":".join("%02X" % ord(b) for b in digest[i*5:i*5+5]))
+            ret.append(' '.join("%02X" % ord(b) for b in digest))
             return " ".join(ret)
 
         def extract_pubkey():
@@ -789,8 +788,8 @@ def make_index(apps, apks, repodir, archive, categories):
 
     if 'repo_keyalias' in config:
 
-        logging.info("Creating signed index.")
-        logging.info("Key fingerprint: %s" % repo_pubkey_fingerprint)
+        logging.info("Creating signed index with this key:")
+        logging.info("SHA256: %s" % repo_pubkey_fingerprint)
 
         #Create a jar of the index...
         p = FDroidPopen(['jar', 'cf', 'index.jar', 'index.xml'], cwd=repodir)