using System; using Org.BouncyCastle.Utilities; namespace Org.BouncyCastle.Asn1.Cmp { public class ProtectedPart : Asn1Encodable { private readonly PkiHeader header; private readonly PkiBody body; private ProtectedPart(Asn1Sequence seq) { header = PkiHeader.GetInstance(seq[0]); body = PkiBody.GetInstance(seq[1]); } public static ProtectedPart GetInstance(object obj) { if (obj is ProtectedPart) return (ProtectedPart)obj; if (obj is Asn1Sequence) return new ProtectedPart((Asn1Sequence)obj); throw new ArgumentException("Invalid object: " + Platform.GetTypeName(obj), "obj"); } public ProtectedPart(PkiHeader header, PkiBody body) { this.header = header; this.body = body; } public virtual PkiHeader Header { get { return header; } } public virtual PkiBody Body { get { return body; } } /** *
* ProtectedPart ::= SEQUENCE { * header PKIHeader, * body PKIBody * } ** @return a basic ASN.1 object representation. */ public override Asn1Object ToAsn1Object() { return new DerSequence(header, body); } } }