public void Write(ASN1Set value) { WriteIdentifier(ASN1Class.Universal, true, ASN1UniversalTag.Set); WriteLength(value.ByteLength); var children = new Dictionary <BigInteger, byte[]>(); foreach (var child in value.Elements) { byte[] buffer; using (var ms = new MemoryStream()) { new DERWriter(ms).Write(child); buffer = ms.ToArray(); } var tag = ReadTag(buffer); children.Add(tag, buffer); } foreach (var child in children.OrderBy(x => x.Key)) { _writer.Write(child.Value); } }
public void Write(ASN1Set value) { WriteIdentifier(ASN1Class.Universal, true, ASN1UniversalTag.Set); WriteLength(value.ByteLength); var children = new Dictionary<BigInteger, byte[]>(); foreach (var child in value.Elements) { byte[] buffer; using (var ms = new MemoryStream()) { new DERWriter(ms).Write(child); buffer = ms.ToArray(); } var tag = ReadTag(buffer); children.Add(tag, buffer); } foreach (var child in children.OrderBy(x => x.Key)) { writer.Write(child.Value); } }