pgpdecryptverify: only use keys for verification which are allowed to sign (OKC-01-013)
This commit is contained in:
@@ -132,8 +132,12 @@ class PgpSignatureChecker {
|
|||||||
CanonicalizedPublicKeyRing signingRing = mProviderHelper.getCanonicalizedPublicKeyRing(
|
CanonicalizedPublicKeyRing signingRing = mProviderHelper.getCanonicalizedPublicKeyRing(
|
||||||
KeyRings.buildUnifiedKeyRingsFindBySubkeyUri(sigKeyId)
|
KeyRings.buildUnifiedKeyRingsFindBySubkeyUri(sigKeyId)
|
||||||
);
|
);
|
||||||
|
CanonicalizedPublicKey keyCandidate = signingRing.getPublicKey(sigKeyId);
|
||||||
|
if ( ! signingKey.canSign()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
signatureIndex = i;
|
signatureIndex = i;
|
||||||
signingKey = signingRing.getPublicKey(sigKeyId);
|
signingKey = keyCandidate;
|
||||||
onePassSignature = sigList.get(i);
|
onePassSignature = sigList.get(i);
|
||||||
return;
|
return;
|
||||||
} catch (ProviderHelper.NotFoundException e) {
|
} catch (ProviderHelper.NotFoundException e) {
|
||||||
@@ -151,8 +155,12 @@ class PgpSignatureChecker {
|
|||||||
CanonicalizedPublicKeyRing signingRing = mProviderHelper.getCanonicalizedPublicKeyRing(
|
CanonicalizedPublicKeyRing signingRing = mProviderHelper.getCanonicalizedPublicKeyRing(
|
||||||
KeyRings.buildUnifiedKeyRingsFindBySubkeyUri(sigKeyId)
|
KeyRings.buildUnifiedKeyRingsFindBySubkeyUri(sigKeyId)
|
||||||
);
|
);
|
||||||
|
CanonicalizedPublicKey keyCandidate = signingRing.getPublicKey(sigKeyId);
|
||||||
|
if ( ! signingKey.canSign()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
signatureIndex = i;
|
signatureIndex = i;
|
||||||
signingKey = signingRing.getPublicKey(sigKeyId);
|
signingKey = keyCandidate;
|
||||||
signature = sigList.get(i);
|
signature = sigList.get(i);
|
||||||
return;
|
return;
|
||||||
} catch (ProviderHelper.NotFoundException e) {
|
} catch (ProviderHelper.NotFoundException e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user