1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2025-09-10 10:49:39 +02:00

Throw WrongConsumingMethodException when processing Cleartext Signed Messages with Inband Signature verification API and vice versa

This commit is contained in:
Paul Schaub 2021-08-29 13:35:27 +02:00
parent 2885ff7a14
commit 97c8ff8312
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311
5 changed files with 88 additions and 3 deletions

View file

@ -22,6 +22,7 @@ import java.io.OutputStream;
import org.bouncycastle.bcpg.ArmoredOutputStream;
import org.bouncycastle.openpgp.PGPSignature;
import org.bouncycastle.openpgp.PGPSignatureList;
import org.pgpainless.exception.WrongConsumingMethodException;
import org.pgpainless.signature.cleartext_signatures.ClearsignedMessageUtil;
import org.pgpainless.util.ArmoredOutputStreamFactory;
import sop.ReadyWithResult;
@ -49,7 +50,12 @@ public class DetachInbandSignatureAndMessageImpl implements DetachInbandSignatur
return new Signatures() {
@Override
public void writeTo(OutputStream signatureOutputStream) throws IOException {
PGPSignatureList signatures = ClearsignedMessageUtil.detachSignaturesFromInbandClearsignedMessage(messageInputStream, messageOutputStream);
PGPSignatureList signatures = null;
try {
signatures = ClearsignedMessageUtil.detachSignaturesFromInbandClearsignedMessage(messageInputStream, messageOutputStream);
} catch (WrongConsumingMethodException e) {
throw new IOException(e);
}
if (armor) {
ArmoredOutputStream armorOut = ArmoredOutputStreamFactory.get(signatureOutputStream);
for (PGPSignature signature : signatures) {