Add ability to search for keys using WKD protocol

If a search pattern that looks like an email address is found
an additional query using Web Key Directory will be performed.

Implements basic flow described in "Key Discovery" [0] I-D.
Querying SRV records is not supported.

Fixes partially #2270.

[0]: https://tools.ietf.org/html/draft-koch-openpgp-webkey-service-05#section-3.1
This commit is contained in:
Wiktor Kwapisiewicz
2018-05-08 16:08:34 +02:00
parent cfc5cc4c44
commit fa3b32eddc
7 changed files with 235 additions and 5 deletions

View File

@@ -203,7 +203,7 @@ public class ImportKeysActivity extends BaseActivity implements ImportKeysListen
String fbUsername = FacebookKeyserverClient.getUsernameFromUri(dataUri);
Preferences.CloudSearchPrefs cloudSearchPrefs =
new Preferences.CloudSearchPrefs(false, true, true, null);
new Preferences.CloudSearchPrefs(false, true, true, false, null);
// search immediately
startListFragment(null, null, fbUsername, cloudSearchPrefs);
break;
@@ -213,7 +213,7 @@ public class ImportKeysActivity extends BaseActivity implements ImportKeysListen
HkpKeyserverAddress keyserver = HkpKeyserverAddress.createFromUri(
dataUri.getScheme() + "://" + dataUri.getAuthority());
Preferences.CloudSearchPrefs cloudSearchPrefs = new Preferences.CloudSearchPrefs(
true, false, false, keyserver);
true, false, false, false, keyserver);
Timber.d("Using keyserver: " + keyserver);
// process URL to get operation and query