mirror of
https://github.com/moparisthebest/open-keychain
synced 2024-11-27 11:12:15 -05:00
check for fingerprint of any subkey (arguable?)
This commit is contained in:
parent
a45aaa2277
commit
91d500b20d
@ -275,7 +275,7 @@ public class ImportExportOperation extends BaseOperation {
|
|||||||
|
|
||||||
// If we have an expected fingerprint, make sure it matches
|
// If we have an expected fingerprint, make sure it matches
|
||||||
if (entry.mExpectedFingerprint != null) {
|
if (entry.mExpectedFingerprint != null) {
|
||||||
if(!KeyFormattingUtils.convertFingerprintToHex(key.getFingerprint()).equals(entry.mExpectedFingerprint)) {
|
if (!key.containsSubkey(entry.mExpectedFingerprint)) {
|
||||||
log.add(LogType.MSG_IMPORT_FINGERPRINT_ERROR, 2);
|
log.add(LogType.MSG_IMPORT_FINGERPRINT_ERROR, 2);
|
||||||
badKeys += 1;
|
badKeys += 1;
|
||||||
continue;
|
continue;
|
||||||
@ -314,10 +314,7 @@ public class ImportExportOperation extends BaseOperation {
|
|||||||
|
|
||||||
log.add(result, 2);
|
log.add(result, 2);
|
||||||
|
|
||||||
} catch (IOException e) {
|
} catch (IOException | PgpGeneralException e) {
|
||||||
Log.e(Constants.TAG, "Encountered bad key on import!", e);
|
|
||||||
++badKeys;
|
|
||||||
} catch (PgpGeneralException e) {
|
|
||||||
Log.e(Constants.TAG, "Encountered bad key on import!", e);
|
Log.e(Constants.TAG, "Encountered bad key on import!", e);
|
||||||
++badKeys;
|
++badKeys;
|
||||||
}
|
}
|
||||||
@ -460,6 +457,7 @@ public class ImportExportOperation extends BaseOperation {
|
|||||||
|
|
||||||
int okSecret = 0, okPublic = 0, progress = 0;
|
int okSecret = 0, okPublic = 0, progress = 0;
|
||||||
|
|
||||||
|
Cursor cursor = null;
|
||||||
try {
|
try {
|
||||||
|
|
||||||
String selection = null, ids[] = null;
|
String selection = null, ids[] = null;
|
||||||
@ -480,7 +478,7 @@ public class ImportExportOperation extends BaseOperation {
|
|||||||
+ " IN (" + placeholders + ")";
|
+ " IN (" + placeholders + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
Cursor cursor = mProviderHelper.getContentResolver().query(
|
cursor = mProviderHelper.getContentResolver().query(
|
||||||
KeyRings.buildUnifiedKeyRingsUri(), new String[]{
|
KeyRings.buildUnifiedKeyRingsUri(), new String[]{
|
||||||
KeyRings.MASTER_KEY_ID, KeyRings.PUBKEY_DATA,
|
KeyRings.MASTER_KEY_ID, KeyRings.PUBKEY_DATA,
|
||||||
KeyRings.PRIVKEY_DATA, KeyRings.HAS_ANY_SECRET
|
KeyRings.PRIVKEY_DATA, KeyRings.HAS_ANY_SECRET
|
||||||
@ -569,6 +567,9 @@ public class ImportExportOperation extends BaseOperation {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log.e(Constants.TAG, "error closing stream", e);
|
Log.e(Constants.TAG, "error closing stream", e);
|
||||||
}
|
}
|
||||||
|
if (cursor != null) {
|
||||||
|
cursor.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -215,6 +215,17 @@ public class UncachedKeyRing {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean containsSubkey(String expectedFingerprint) {
|
||||||
|
Iterator<PGPPublicKey> it = mRing.getPublicKeys();
|
||||||
|
while (it.hasNext()) {
|
||||||
|
if (KeyFormattingUtils.convertFingerprintToHex(
|
||||||
|
it.next().getFingerprint()).equals(expectedFingerprint)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public interface IteratorWithIOThrow<E> {
|
public interface IteratorWithIOThrow<E> {
|
||||||
public boolean hasNext() throws IOException;
|
public boolean hasNext() throws IOException;
|
||||||
public E next() throws IOException;
|
public E next() throws IOException;
|
||||||
|
Loading…
Reference in New Issue
Block a user