<PackageReference Include="BouncyCastle.Cryptography" Version="2.3.0" />

DerSet

public class DerSet : Asn1Set
using Org.BouncyCastle.Utilities; using System; namespace Org.BouncyCastle.Asn1 { public class DerSet : Asn1Set { public static readonly DerSet Empty = new DerSet(); public static DerSet FromVector(Asn1EncodableVector elementVector) { if (elementVector.Count >= 1) return new DerSet(elementVector); return Empty; } public DerSet() { } public DerSet(Asn1Encodable element) : base(element) { } public DerSet(params Asn1Encodable[] elements) : base(elements, true) { } internal DerSet(Asn1Encodable[] elements, bool doSort) : base(elements, doSort) { } public DerSet(Asn1EncodableVector elementVector) : base(elementVector, true) { } internal DerSet(Asn1EncodableVector elementVector, bool doSort) : base(elementVector, doSort) { } internal DerSet(bool isSorted, Asn1Encodable[] elements) : base(isSorted, elements) { } internal override IAsn1Encoding GetEncoding(int encoding) { IAsn1Encoding[] sortedDerEncodings = GetSortedDerEncodings(); return new ConstructedDLEncoding(0, 17, sortedDerEncodings); } internal override IAsn1Encoding GetEncodingImplicit(int encoding, int tagClass, int tagNo) { IAsn1Encoding[] sortedDerEncodings = GetSortedDerEncodings(); return new ConstructedDLEncoding(tagClass, tagNo, sortedDerEncodings); } internal sealed override DerEncoding GetEncodingDer() { return new ConstructedDerEncoding(0, 17, GetSortedDerEncodings()); } internal sealed override DerEncoding GetEncodingDerImplicit(int tagClass, int tagNo) { return new ConstructedDerEncoding(tagClass, tagNo, GetSortedDerEncodings()); } private DerEncoding[] GetSortedDerEncodings() { return Objects.EnsureSingletonInitialized(ref m_sortedDerEncodings, m_elements, CreateSortedDerEncodings); } private static DerEncoding[] CreateSortedDerEncodings(Asn1Encodable[] elements) { DerEncoding[] contentsEncodingsDer = Asn1OutputStream.GetContentsEncodingsDer(elements); if (contentsEncodingsDer.Length > 1) Array.Sort(contentsEncodingsDer); return contentsEncodingsDer; } } }