<PackageReference Include="BouncyCastle.Cryptography" Version="2.7.0-beta.98" />

BerSequence

public class BerSequence : DLSequence
using Org.BouncyCastle.Utilities.Collections; using System; using System.Collections.Generic; namespace Org.BouncyCastle.Asn1 { public class BerSequence : DLSequence { public new static readonly BerSequence Empty = new BerSequence(); public new static BerSequence Concatenate(params Asn1Sequence[] sequences) { if (sequences != null) { switch (sequences.LongLength) { case 0: return Empty; case 1: return FromSequence(sequences[0]); default: return WithElements(Asn1Sequence.ConcatenateElements(sequences)); } } return Empty; } public new static BerSequence FromCollection(IReadOnlyCollection<Asn1Encodable> elements) { if (elements.Count >= 1) return new BerSequence(elements); return Empty; } public new static BerSequence FromElement(Asn1Encodable element) { return new BerSequence(element); } public new static BerSequence FromElements(Asn1Encodable element1, Asn1Encodable element2) { return new BerSequence(element1, element2); } public new static BerSequence FromElements(Asn1Encodable[] elements) { if (elements == null) throw new ArgumentNullException("elements"); if (elements.Length >= 1) return new BerSequence(elements); return Empty; } public new static BerSequence FromElementsOptional(Asn1Encodable[] elements) { if (elements == null) return null; if (elements.Length >= 1) return new BerSequence(elements); return Empty; } public new static BerSequence FromSequence(Asn1Sequence sequence) { BerSequence berSequence = sequence as BerSequence; if (berSequence != null) return berSequence; return WithElements(sequence.m_elements); } public new static BerSequence FromVector(Asn1EncodableVector elementVector) { if (elementVector.Count >= 1) return new BerSequence(elementVector); return Empty; } public new static BerSequence Map(Asn1Sequence sequence, Func<Asn1Encodable, Asn1Encodable> func) { if (sequence.Count >= 1) return new BerSequence(sequence.MapElements(func), false); return Empty; } public new static BerSequence Map<T>(T[] ts, Func<T, Asn1Encodable> func) { if (ts.Length >= 1) return new BerSequence(CollectionUtilities.Map(ts, func), false); return Empty; } public new static BerSequence Map<T>(IReadOnlyCollection<T> c, Func<T, Asn1Encodable> func) { if (c.Count >= 1) return new BerSequence(CollectionUtilities.Map(c, func), false); return Empty; } internal new static BerSequence WithElements(Asn1Encodable[] elements) { if (elements.Length >= 1) return new BerSequence(elements, false); return Empty; } public BerSequence() { } public BerSequence(Asn1Encodable element) : base(element) { } public BerSequence(Asn1Encodable element1, Asn1Encodable element2) : base(element1, element2) { } public BerSequence(params Asn1Encodable[] elements) : base(elements) { } public BerSequence(Asn1EncodableVector elementVector) : base(elementVector) { } public BerSequence(IReadOnlyCollection<Asn1Encodable> elements) : base(elements) { } public BerSequence(Asn1Sequence sequence) : base(sequence) { } public BerSequence(Asn1Set asn1Set) : base(asn1Set) { } internal BerSequence(Asn1Encodable[] elements, bool clone) : base(elements, clone) { } internal override IAsn1Encoding GetEncoding(int encoding) { if (1 != encoding) return base.GetEncoding(encoding); return new ConstructedILEncoding(0, 16, Asn1OutputStream.GetContentsEncodings(encoding, m_elements)); } internal override IAsn1Encoding GetEncodingImplicit(int encoding, int tagClass, int tagNo) { if (1 != encoding) return base.GetEncodingImplicit(encoding, tagClass, tagNo); return new ConstructedILEncoding(tagClass, tagNo, Asn1OutputStream.GetContentsEncodings(encoding, m_elements)); } internal override DerBitString ToAsn1BitString() { return new BerBitString(GetConstructedBitStrings()); } internal override DerExternal ToAsn1External() { return new DLExternal(this); } internal override Asn1OctetString ToAsn1OctetString() { return new BerOctetString(GetConstructedOctetStrings()); } internal override Asn1Set ToAsn1Set() { return new BerSet(false, m_elements); } } }