1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2024-12-23 11:27:57 +01:00

Properly ignore marker packets when reading keys/sigs

This commit is contained in:
Paul Schaub 2021-07-31 22:25:12 +02:00
parent fb16db5db4
commit e7ed0f76a3
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311
3 changed files with 17 additions and 17 deletions

View file

@ -15,9 +15,17 @@
*/
package org.pgpainless.key.collection;
import org.bouncycastle.bcpg.MarkerPacket;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.annotation.Nonnull;
import org.bouncycastle.openpgp.PGPException;
import org.bouncycastle.openpgp.PGPKeyRing;
import org.bouncycastle.openpgp.PGPMarker;
import org.bouncycastle.openpgp.PGPObjectFactory;
import org.bouncycastle.openpgp.PGPPublicKeyRing;
import org.bouncycastle.openpgp.PGPPublicKeyRingCollection;
@ -26,14 +34,6 @@ import org.bouncycastle.openpgp.PGPSecretKeyRingCollection;
import org.bouncycastle.openpgp.PGPUtil;
import org.pgpainless.implementation.ImplementationFactory;
import javax.annotation.Nonnull;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
* This class describes a logic of handling a collection of different {@link PGPKeyRing}. The logic was inspired by
* {@link PGPSecretKeyRingCollection} and {@link PGPPublicKeyRingCollection}.
@ -65,7 +65,7 @@ public class PGPKeyRingCollection {
List<PGPPublicKeyRing> publicKeyRings = new ArrayList<>();
while ((obj = pgpFact.nextObject()) != null) {
if (obj instanceof MarkerPacket) {
if (obj instanceof PGPMarker) {
// Skip marker packets
continue;
}

View file

@ -26,8 +26,8 @@ import java.util.List;
import javax.annotation.Nonnull;
import org.bouncycastle.bcpg.ArmoredInputStream;
import org.bouncycastle.bcpg.MarkerPacket;
import org.bouncycastle.openpgp.PGPException;
import org.bouncycastle.openpgp.PGPMarker;
import org.bouncycastle.openpgp.PGPObjectFactory;
import org.bouncycastle.openpgp.PGPPublicKeyRing;
import org.bouncycastle.openpgp.PGPPublicKeyRingCollection;
@ -117,7 +117,7 @@ public class KeyRingReader {
if (next == null) {
break;
}
if (next instanceof MarkerPacket) {
if (next instanceof PGPMarker) {
continue;
}
if (next instanceof PGPPublicKeyRing) {
@ -142,7 +142,7 @@ public class KeyRingReader {
if (next == null) {
break;
}
if (next instanceof MarkerPacket) {
if (next instanceof PGPMarker) {
continue;
}
if (next instanceof PGPPublicKeyRing) {
@ -172,7 +172,7 @@ public class KeyRingReader {
if (next == null) {
break;
}
if (next instanceof MarkerPacket) {
if (next instanceof PGPMarker) {
continue;
}
if (next instanceof PGPSecretKeyRing) {
@ -198,7 +198,7 @@ public class KeyRingReader {
if (next == null) {
break;
}
if (next instanceof MarkerPacket) {
if (next instanceof PGPMarker) {
continue;
}
if (next instanceof PGPSecretKeyRing) {

View file

@ -24,12 +24,12 @@ import java.util.Date;
import java.util.List;
import org.bouncycastle.bcpg.sig.IssuerKeyID;
import org.bouncycastle.bcpg.MarkerPacket;
import org.bouncycastle.bcpg.sig.KeyExpirationTime;
import org.bouncycastle.bcpg.sig.RevocationReason;
import org.bouncycastle.bcpg.sig.SignatureExpirationTime;
import org.bouncycastle.openpgp.PGPCompressedData;
import org.bouncycastle.openpgp.PGPException;
import org.bouncycastle.openpgp.PGPMarker;
import org.bouncycastle.openpgp.PGPObjectFactory;
import org.bouncycastle.openpgp.PGPPublicKey;
import org.bouncycastle.openpgp.PGPSecretKey;
@ -202,7 +202,7 @@ public class SignatureUtils {
Object nextObject = objectFactory.nextObject();
while (nextObject != null) {
if (nextObject instanceof MarkerPacket) {
if (nextObject instanceof PGPMarker) {
nextObject = objectFactory.nextObject();
continue;
}