using System; using System.Collections; using System.IO; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.X509 { // Token: 0x02001907 RID: 6407 [Token(Token = "0x2001907")] public class X509CrlParser { // Token: 0x06009702 RID: 38658 RVA: 0x001F1BF4 File Offset: 0x001EFDF4 [Token(Token = "0x6009702")] [Address(RVA = "0x637D50", Offset = "0x636B50", VA = "0x180637D50")] public X509CrlParser() { this.lazyAsn1 = false; } // Token: 0x06009703 RID: 38659 RVA: 0x001F1C10 File Offset: 0x001EFE10 [Token(Token = "0x6009703")] [Address(RVA = "0x162F3C0", Offset = "0x162E1C0", VA = "0x18162F3C0")] public X509CrlParser(bool lazyAsn1) { this.lazyAsn1 = lazyAsn1; } // Token: 0x06009704 RID: 38660 RVA: 0x001F1C2C File Offset: 0x001EFE2C [Token(Token = "0x6009704")] [Address(RVA = "0x162F2B0", Offset = "0x162E0B0", VA = "0x18162F2B0")] private X509Crl ReadPemCrl(Stream inStream) { Asn1Sequence asn1Sequence = X509CrlParser.PemCrlParser.ReadPemObject(inStream); if (asn1Sequence == 0) { } CertificateList instance = CertificateList.GetInstance(asn1Sequence); throw new NullReferenceException(); } // Token: 0x06009705 RID: 38661 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009705")] [Address(RVA = "0x162F090", Offset = "0x162DE90", VA = "0x18162F090")] private X509Crl ReadDerCrl(Asn1InputStream dIn) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06009706 RID: 38662 RVA: 0x001F1C58 File Offset: 0x001EFE58 [Token(Token = "0x6009706")] [Address(RVA = "0x162E9F0", Offset = "0x162D7F0", VA = "0x18162E9F0")] private X509Crl GetCrl() { Asn1Encodable asn1Encodable; if (this.sCrlData != 0 && this.sCrlDataObjectCount < asn1Encodable) { int num = this.sCrlDataObjectCount; Asn1Set asn1Set = this.sCrlData; int num2 = num + 1; this.sCrlDataObjectCount = num2; IEnumerator enumerator = asn1Set.GetEnumerator(); } throw new NullReferenceException(); } // Token: 0x06009707 RID: 38663 RVA: 0x001F1CA0 File Offset: 0x001EFEA0 [Token(Token = "0x6009707")] [Address(RVA = "0x162E990", Offset = "0x162D790", VA = "0x18162E990", Slot = "4")] protected virtual X509Crl CreateX509Crl(CertificateList c) { return new X509Crl(c); } // Token: 0x06009708 RID: 38664 RVA: 0x001F1CB4 File Offset: 0x001EFEB4 [Token(Token = "0x6009708")] [Address(RVA = "0x162ED70", Offset = "0x162DB70", VA = "0x18162ED70")] public X509Crl ReadCrl(byte[] input) { int num; MemoryStream memoryStream = new MemoryStream(input, num != 0); num = 0; return this.ReadCrl(memoryStream); } // Token: 0x06009709 RID: 38665 RVA: 0x001F1CD4 File Offset: 0x001EFED4 [Token(Token = "0x6009709")] [Address(RVA = "0x162EF20", Offset = "0x162DD20", VA = "0x18162EF20")] public ICollection ReadCrls(byte[] input) { MemoryStream memoryStream; do { int num; memoryStream = new MemoryStream(input, num != 0); num = 0; IList list = Platform.CreateArrayList(); int num2 = 0; if (this.ReadCrl(memoryStream) == 0) { break; } int num3 = 0; if (num3 < num2) { num3 += num3; num3++; } } while (this.ReadCrl(memoryStream) != 0); memoryStream += memoryStream; throw new NullReferenceException(); } // Token: 0x0600970A RID: 38666 RVA: 0x001F1D2C File Offset: 0x001EFF2C [Token(Token = "0x600970A")] [Address(RVA = "0x162EA80", Offset = "0x162D880", VA = "0x18162EA80")] public X509Crl ReadCrl(Stream inStream) { if (inStream != 0) { inStream.Dispose(); Stream stream = this.currentCrlStream; int num = 0; if (stream == 0 || stream != inStream) { this.sCrlDataObjectCount = num; this.sCrlData = num; this.currentCrlStream = inStream; } string text; if (this.sCrlData == 0) { PushbackStream pushbackStream = new PushbackStream(inStream); int num2; pushbackStream.WriteByte((byte)num2); if (num2 == 48) { if (this.lazyAsn1) { LazyAsn1InputStream lazyAsn1InputStream = new LazyAsn1InputStream(pushbackStream); } Asn1InputStream asn1InputStream = new Asn1InputStream(pushbackStream); X509Crl x509Crl = this.ReadDerCrl(asn1InputStream); } Asn1Sequence asn1Sequence = X509CrlParser.PemCrlParser.ReadPemObject(pushbackStream); if (asn1Sequence != 0) { CertificateList instance = CertificateList.GetInstance(asn1Sequence); text = this.ToString(); } } int num3 = this.sCrlDataObjectCount; this.sCrlData = text; this.sCrlDataObjectCount = text; return this.GetCrl(); } ArgumentNullException ex = new ArgumentNullException("inStream"); throw new NullReferenceException(); } // Token: 0x0600970B RID: 38667 RVA: 0x001F1E04 File Offset: 0x001F0004 [Token(Token = "0x600970B")] [Address(RVA = "0x162EDE0", Offset = "0x162DBE0", VA = "0x18162EDE0")] public ICollection ReadCrls(Stream inStream) { do { IList list = Platform.CreateArrayList(); int num = 0; if (this.ReadCrl(inStream) == 0) { break; } int num2 = 0; if (num2 < num) { num2 += num2; num2++; } } while (this.ReadCrl(inStream) != 0); throw new NullReferenceException(); } // Token: 0x04006695 RID: 26261 [Token(Token = "0x4006695")] private static readonly PemParser PemCrlParser = new PemParser("CRL"); // Token: 0x04006696 RID: 26262 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4006696")] private readonly bool lazyAsn1; // Token: 0x04006697 RID: 26263 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4006697")] private Asn1Set sCrlData; // Token: 0x04006698 RID: 26264 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4006698")] private int sCrlDataObjectCount; // Token: 0x04006699 RID: 26265 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4006699")] private Stream currentCrlStream; } }