diff options
author | Peter Dettman <peter.dettman@bouncycastle.org> | 2023-02-01 21:07:46 +0700 |
---|---|---|
committer | Peter Dettman <peter.dettman@bouncycastle.org> | 2023-02-01 21:07:46 +0700 |
commit | db9b19e3f17a2aee8afcd673ef9327bb8646b87a (patch) | |
tree | a16cf94d902be26f7f00a5218cafa15fe28cf233 /crypto/src/asn1/cmp/PKIMessages.cs | |
parent | Add GetInstanceFromChoice helper (diff) | |
download | BouncyCastle.NET-ed25519-db9b19e3f17a2aee8afcd673ef9327bb8646b87a.tar.xz |
Overhaul Asn1.Cmp
Diffstat (limited to 'crypto/src/asn1/cmp/PKIMessages.cs')
-rw-r--r-- | crypto/src/asn1/cmp/PKIMessages.cs | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/crypto/src/asn1/cmp/PKIMessages.cs b/crypto/src/asn1/cmp/PKIMessages.cs index 8e2e8a1ed..ea7550b9a 100644 --- a/crypto/src/asn1/cmp/PKIMessages.cs +++ b/crypto/src/asn1/cmp/PKIMessages.cs @@ -7,6 +7,20 @@ namespace Org.BouncyCastle.Asn1.Cmp public class PkiMessages : Asn1Encodable { + public static PkiMessages GetInstance(object obj) + { + if (obj == null) + return null; + if (obj is PkiMessages pkiMessages) + return pkiMessages; + return new PkiMessages(Asn1Sequence.GetInstance(obj)); + } + + public static PkiMessages GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit) + { + return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit)); + } + private Asn1Sequence m_content; internal PkiMessages(Asn1Sequence seq) @@ -14,18 +28,12 @@ namespace Org.BouncyCastle.Asn1.Cmp m_content = seq; } - public static PkiMessages GetInstance(object obj) + internal PkiMessages(PkiMessages other) { - if (obj is PkiMessages pkiMessages) - return pkiMessages; - - if (obj is Asn1Sequence asn1Sequence) - return new PkiMessages(asn1Sequence); - - throw new ArgumentException("Invalid object: " + Platform.GetTypeName(obj), nameof(obj)); + m_content = other.m_content; } - public PkiMessages(params PkiMessage[] msgs) + public PkiMessages(params PkiMessage[] msgs) { m_content = new DerSequence(msgs); } |