diff options
Diffstat (limited to 'crypto/src/asn1/cmp/ProtectedPart.cs')
-rw-r--r-- | crypto/src/asn1/cmp/ProtectedPart.cs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/crypto/src/asn1/cmp/ProtectedPart.cs b/crypto/src/asn1/cmp/ProtectedPart.cs index e6b6311df..7c7110517 100644 --- a/crypto/src/asn1/cmp/ProtectedPart.cs +++ b/crypto/src/asn1/cmp/ProtectedPart.cs @@ -1,3 +1,5 @@ +using System; + namespace Org.BouncyCastle.Asn1.Cmp { public class ProtectedPart @@ -22,14 +24,18 @@ namespace Org.BouncyCastle.Asn1.Cmp private ProtectedPart(Asn1Sequence seq) { - m_header = PkiHeader.GetInstance(seq[0]); + int count = seq.Count; + if (count != 2) + throw new ArgumentException("Bad sequence size: " + count, nameof(seq)); + + m_header = PkiHeader.GetInstance(seq[0]); m_body = PkiBody.GetInstance(seq[1]); } public ProtectedPart(PkiHeader header, PkiBody body) { - m_header = header; - m_body = body; + m_header = header ?? throw new ArgumentNullException(nameof(header)); + m_body = body ?? throw new ArgumentNullException(nameof(body)); } public virtual PkiHeader Header => m_header; |