void m_decode(Byte[] rawData) { CrossCertDistributionPoints = new X509AlternativeNameCollection(); Asn1Reader asn = new Asn1Reader(rawData); if (asn.Tag != 48) { throw new ArgumentException("The data is invalid"); } asn.MoveNext(); if (asn.Tag == (Byte)Asn1Type.INTEGER) { DeltaSyncTimeInSeconds = (Int32)Asn1Utils.DecodeInteger(asn.GetTagRawData()); asn.MoveNext(); } asn.MoveNext(); do { var altNames = new X509AlternativeNameCollection(); altNames.Decode(asn.GetTagRawData()); CrossCertDistributionPoints.AddRange(altNames); } while (asn.MoveNextCurrentLevel()); CrossCertDistributionPoints.Close(); }
void m_initialize(X509AlternativeNameCollection permittedSubtree, X509AlternativeNameCollection excludedSubtree) { Oid = _oid; Critical = true; var rawData = new List <Byte>(); if (permittedSubtree != null) { _permittedSubtree.AddRange(encodeAltNames(permittedSubtree, rawData, 0xa0)); } if (excludedSubtree != null) { _excludedSubtree.AddRange(encodeAltNames(excludedSubtree, rawData, 0xa1)); } RawData = Asn1Utils.Encode(rawData.ToArray(), 48); }