Пример #1
0
        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);
        }
Пример #3
0
        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();
        }