summary refs log tree commit diff
path: root/crypto/src/openpgp
diff options
context:
space:
mode:
authorPeter Dettman <peter.dettman@bouncycastle.org>2021-10-14 01:05:16 +0700
committerPeter Dettman <peter.dettman@bouncycastle.org>2021-10-14 01:05:16 +0700
commit1b15bfc5d4b7e478887f5202c74e563382ffa2d9 (patch)
treef4eedff7c22b12b5a9ad5b1ef474159505aa09f7 /crypto/src/openpgp
parentImprove ASN.1 set special handling (diff)
downloadBouncyCastle.NET-ed25519-1b15bfc5d4b7e478887f5202c74e563382ffa2d9.tar.xz
Ignore PGP signatures with invalid version
Diffstat (limited to 'crypto/src/openpgp')
-rw-r--r--crypto/src/openpgp/PgpObjectFactory.cs8
1 files changed, 7 insertions, 1 deletions
diff --git a/crypto/src/openpgp/PgpObjectFactory.cs b/crypto/src/openpgp/PgpObjectFactory.cs

index 1f1c32c83..c67c7ccd1 100644 --- a/crypto/src/openpgp/PgpObjectFactory.cs +++ b/crypto/src/openpgp/PgpObjectFactory.cs
@@ -50,6 +50,12 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp { l.Add(new PgpSignature(bcpgIn)); } + catch (UnsupportedPacketVersionException e) + { + // Signatures of unsupported version MUST BE ignored + // see: https://tests.sequoia-pgp.org/#Detached_signatures_with_unknown_packets + continue; + } catch (PgpException e) { throw new IOException("can't create signature object: " + e); @@ -61,7 +67,7 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp { sigs[i] = (PgpSignature)l[i]; } - return new PgpSignatureList(sigs); + return new PgpSignatureList(sigs); } case PacketTag.SecretKey: try