pgpdecryptverify: only use keys for verification which are allowed to sign (OKC-01-013)

This commit is contained in:
Vincent Breitmoser
2015-10-08 20:01:04 +02:00
parent 084d6f1d3d
commit ba9b8f3a60

View File

@@ -132,8 +132,12 @@ class PgpSignatureChecker {
CanonicalizedPublicKeyRing signingRing = mProviderHelper.getCanonicalizedPublicKeyRing(
KeyRings.buildUnifiedKeyRingsFindBySubkeyUri(sigKeyId)
);
CanonicalizedPublicKey keyCandidate = signingRing.getPublicKey(sigKeyId);
if ( ! signingKey.canSign()) {
continue;
}
signatureIndex = i;
signingKey = signingRing.getPublicKey(sigKeyId);
signingKey = keyCandidate;
onePassSignature = sigList.get(i);
return;
} catch (ProviderHelper.NotFoundException e) {
@@ -151,8 +155,12 @@ class PgpSignatureChecker {
CanonicalizedPublicKeyRing signingRing = mProviderHelper.getCanonicalizedPublicKeyRing(
KeyRings.buildUnifiedKeyRingsFindBySubkeyUri(sigKeyId)
);
CanonicalizedPublicKey keyCandidate = signingRing.getPublicKey(sigKeyId);
if ( ! signingKey.canSign()) {
continue;
}
signatureIndex = i;
signingKey = signingRing.getPublicKey(sigKeyId);
signingKey = keyCandidate;
signature = sigList.get(i);
return;
} catch (ProviderHelper.NotFoundException e) {