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; } }
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; } }
/// <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); }
public static string DerToPem(byte[] der) { var decoder = new DefaultDerAsnDecoder(); return(decoder.Decode(der).Value as string); }
public void Decode_ShouldDecodeAllKnownDefaultTypes(Type expectedType, byte[] rawData) { var decoder = new DefaultDerAsnDecoder(); Assert.That(decoder.Decode(rawData), Is.InstanceOf(expectedType)); }