示例#1
0
 private void DecodeExtension()
 {
     using (var decoder = new DefaultDerAsnDecoder()) {
         decoder.RegisterType(ContextSpecificString.Id, (dcdr, identifier, data) => new ContextSpecificString(dcdr, identifier, data));
         var sequence = decoder.Decode(RawData) as DerAsnSequence;
         _AccessDescriptions = new AccessDescriptionList(sequence.Value).Extract();
         _decoded            = true;
     }
 }
示例#2
0
 private void DecodeExtension()
 {
     using (var decoder = new DefaultDerAsnDecoder()) {
         decoder.RegisterType(ContextSpecificSequence.Id, (dcdr, identifier, data) => new ContextSpecificSequence(dcdr, identifier, data));
         decoder.RegisterType(ContextSpecificString.Id, (dcdr, identifier, data) => new ContextSpecificString(dcdr, identifier, data));
         var sequence = decoder.Decode(RawData) as DerAsnSequence;
         _DistributionPoints = new CRLDistributionPoints(sequence.Value).Extract();
         _decoded            = true;
     }
 }
示例#3
0
        /// <summary>
        /// Create a CRL from raw DER ASN.1 data
        /// </summary>
        /// <returns></returns>
        public static CertificateRevocationListSequence Load(byte[] rawData)
        {
            if (rawData == null)
            {
                throw new ArgumentNullException(nameof(rawData));
            }

            CertificateRevocationListSequence sequence;

            using (var decoder = new DefaultDerAsnDecoder()) {
                decoder.RegisterType(ContextSpecificSequence.Id, (dcdr, identifier, data) => new ContextSpecificSequence(dcdr, identifier, data));
                decoder.RegisterType(OctetStringSequence.Id, (dcdr, identifier, data) => new OctetStringSequence(dcdr, identifier, data));
                decoder.RegisterType(DerAsnEnumerated.Id, (dcdr, identifier, data) => new DerAsnEnumerated(dcdr, identifier, data));
                sequence = new CertificateRevocationListSequence(((DerAsnSequence)decoder.Decode(rawData)).Value);
            }
            return(sequence);
        }
示例#4
0
        public static string DerToPem(byte[] der)
        {
            var decoder = new DefaultDerAsnDecoder();

            return(decoder.Decode(der).Value as string);
        }
示例#5
0
        public void Decode_ShouldDecodeAllKnownDefaultTypes(Type expectedType, byte[] rawData)
        {
            var decoder = new DefaultDerAsnDecoder();

            Assert.That(decoder.Decode(rawData), Is.InstanceOf(expectedType));
        }