1 files changed, 6 insertions, 1 deletions
diff --git a/crypto/src/openpgp/PgpPublicKey.cs b/crypto/src/openpgp/PgpPublicKey.cs
index 9b8a956f2..33fabc8aa 100644
--- a/crypto/src/openpgp/PgpPublicKey.cs
+++ b/crypto/src/openpgp/PgpPublicKey.cs
@@ -460,7 +460,12 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp
/// <summary>True, if this could be a master key.</summary>
public bool IsMasterKey
{
- get { return (subSigs == null) && !(this.IsEncryptionKey && publicPk.Algorithm != PublicKeyAlgorithmTag.RsaGeneral); }
+ get
+ {
+ // this might seem a bit excessive, but we're also trying to flag something can't be a master key.
+ return !(publicPk is PublicSubkeyPacket)
+ && !(this.IsEncryptionKey && publicPk.Algorithm != PublicKeyAlgorithmTag.RsaGeneral);
+ }
}
/// <summary>The algorithm code associated with the public key.</summary>
|