break out signing key fingerprint calculation into its own method
This will be needed for checking an incoming repo URL with a fingerprint included to see if that uri/fingerprint already exists in the database.
This commit is contained in:
parent
240f03d372
commit
fd28883429
@ -158,22 +158,8 @@ public class ManageRepo extends ListActivity {
|
||||
server_line.put("inuse", R.drawable.btn_check_off);
|
||||
}
|
||||
if (repo.pubkey != null) {
|
||||
try {
|
||||
MessageDigest digest = MessageDigest.getInstance("SHA-1");
|
||||
digest.update(Hasher.unhex(repo.pubkey));
|
||||
byte[] fingerprint = digest.digest();
|
||||
Formatter formatter = new Formatter(new StringBuilder());
|
||||
formatter.format("%02X", fingerprint[0]);
|
||||
for (int i = 1; i < fingerprint.length; i++) {
|
||||
formatter.format(i % 5 == 0 ? " %02X" : ":%02X",
|
||||
fingerprint[i]);
|
||||
}
|
||||
server_line.put("fingerprint", formatter.toString());
|
||||
formatter.close();
|
||||
} catch (Exception e) {
|
||||
Log.w("FDroid", "Unable to get certificate fingerprint.\n"
|
||||
+ Log.getStackTraceString(e));
|
||||
}
|
||||
String fingerprint = getRepoFingerprint(repo);
|
||||
server_line.put("fingerprint", fingerprint);
|
||||
}
|
||||
result.add(server_line);
|
||||
}
|
||||
@ -244,6 +230,27 @@ public class ManageRepo extends ListActivity {
|
||||
return null;
|
||||
}
|
||||
|
||||
protected String getRepoFingerprint(Repo repo) {
|
||||
String ret = null;
|
||||
try {
|
||||
MessageDigest digest = MessageDigest.getInstance("SHA-1");
|
||||
digest.update(Hasher.unhex(repo.pubkey));
|
||||
byte[] fingerprint = digest.digest();
|
||||
Formatter formatter = new Formatter(new StringBuilder());
|
||||
formatter.format("%02X", fingerprint[0]);
|
||||
for (int i = 1; i < fingerprint.length; i++) {
|
||||
formatter.format(i % 5 == 0 ? " %02X" : ":%02X",
|
||||
fingerprint[i]);
|
||||
}
|
||||
ret = formatter.toString();
|
||||
formatter.close();
|
||||
} catch (Exception e) {
|
||||
Log.w("FDroid", "Unable to get certificate fingerprint.\n"
|
||||
+ Log.getStackTraceString(e));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user