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