void encode(IEnumerable <Uri> uris) { foreach (Uri uri in uris) { _fullNames.Add(new X509AlternativeName(X509AlternativeNamesEnum.URL, uri.AbsoluteUri)); } Asn1Reader asn = new Asn1Reader(_fullNames.Encode()); _rawData.AddRange(Asn1Utils.Encode(asn.GetPayload(), 160)); }
static X509AlternativeNameCollection decodeNamesFromAsn(Byte[] rawData) { X509AlternativeNameCollection altNames = new X509AlternativeNameCollection(); Asn1Reader asn = new Asn1Reader(rawData); asn.MoveNext(); do { altNames.Add(new X509AlternativeName(asn.GetPayload())); } while (asn.MoveNextCurrentLevel()); altNames.Close(); return(altNames); }
void m_encode(Uri[] uris) { X509AlternativeNameCollection altnames = new X509AlternativeNameCollection(); foreach (Uri uri in uris) { altnames.Add(new X509AlternativeName(X509AlternativeNamesEnum.URL, uri.AbsoluteUri)); } FullName = altnames; Asn1Reader asn = new Asn1Reader(altnames.Encode()); RawData = Asn1Utils.Encode(asn.GetPayload(), 160); }
static X509AlternativeNameCollection encodeAltNames(X509AlternativeNameCollection permittedSubtree, List <Byte> rawData, Byte tag) { X509AlternativeNameCollection altNames = new X509AlternativeNameCollection(); List <Byte> tempRawData = new List <Byte>(); foreach (X509AlternativeName name in permittedSubtree .Where(x => x.Type != X509AlternativeNamesEnum.RegisteredId)) { altNames.Add(name); tempRawData.AddRange(Asn1Utils.Encode(name.RawData, 48)); } rawData.AddRange(Asn1Utils.Encode(tempRawData.ToArray(), tag)); altNames.Close(); return(altNames); }
void m_initialize(IEnumerable <String> urls, Int32?syncDeltaTime, Boolean critical) { Oid = _oid; Critical = critical; DeltaSyncTimeInSeconds = syncDeltaTime; List <Byte> rawData = new List <Byte>(); if (DeltaSyncTimeInSeconds != null) { rawData.AddRange(new Asn1Integer(DeltaSyncTimeInSeconds.Value).RawData); } Uri[] uris = urls.Select(url => new Uri(url)).ToArray(); CrossCertDistributionPoints = new X509AlternativeNameCollection(); foreach (Uri url in uris) { CrossCertDistributionPoints.Add(new X509AlternativeName(X509AlternativeNamesEnum.URL, url)); } CrossCertDistributionPoints.Close(); rawData.AddRange(Asn1Utils.Encode(CrossCertDistributionPoints.Encode(), 48)); RawData = rawData.ToArray(); }