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: 0x020019E7 RID: 6631 [Token(Token = "0x20019E7")] public class X509CrlParser { // Token: 0x06009AD0 RID: 39632 RVA: 0x001FAC8C File Offset: 0x001F8E8C [Token(Token = "0x6009AD0")] [Address(RVA = "0x41C6E0", Offset = "0x41B6E0", VA = "0x18041C6E0")] public X509CrlParser() { this.lazyAsn1 = false; } // Token: 0x06009AD1 RID: 39633 RVA: 0x001FACA8 File Offset: 0x001F8EA8 [Token(Token = "0x6009AD1")] [Address(RVA = "0x41C700", Offset = "0x41B700", VA = "0x18041C700")] public X509CrlParser(bool lazyAsn1) { this.lazyAsn1 = lazyAsn1; } // Token: 0x06009AD2 RID: 39634 RVA: 0x001FACC4 File Offset: 0x001F8EC4 [Token(Token = "0x6009AD2")] [Address(RVA = "0x41C5D0", Offset = "0x41B5D0", VA = "0x18041C5D0")] private X509Crl ReadPemCrl(Stream inStream) { Asn1Sequence asn1Sequence = X509CrlParser.PemCrlParser.ReadPemObject(inStream); if (asn1Sequence == 0) { } CertificateList instance = CertificateList.GetInstance(asn1Sequence); throw new NullReferenceException(); } // Token: 0x06009AD3 RID: 39635 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009AD3")] [Address(RVA = "0x41C3B0", Offset = "0x41B3B0", VA = "0x18041C3B0")] private X509Crl ReadDerCrl(Asn1InputStream dIn) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06009AD4 RID: 39636 RVA: 0x001FACF0 File Offset: 0x001F8EF0 [Token(Token = "0x6009AD4")] [Address(RVA = "0x41BD10", Offset = "0x41AD10", VA = "0x18041BD10")] 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: 0x06009AD5 RID: 39637 RVA: 0x001FAD38 File Offset: 0x001F8F38 [Token(Token = "0x6009AD5")] [Address(RVA = "0x41BCB0", Offset = "0x41ACB0", VA = "0x18041BCB0", Slot = "4")] protected virtual X509Crl CreateX509Crl(CertificateList c) { return new X509Crl(c); } // Token: 0x06009AD6 RID: 39638 RVA: 0x001FAD4C File Offset: 0x001F8F4C [Token(Token = "0x6009AD6")] [Address(RVA = "0x41C090", Offset = "0x41B090", VA = "0x18041C090")] public X509Crl ReadCrl(byte[] input) { int num; MemoryStream memoryStream = new MemoryStream(input, num != 0); num = 0; return this.ReadCrl(memoryStream); } // Token: 0x06009AD7 RID: 39639 RVA: 0x001FAD6C File Offset: 0x001F8F6C [Token(Token = "0x6009AD7")] [Address(RVA = "0x41C240", Offset = "0x41B240", VA = "0x18041C240")] 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: 0x06009AD8 RID: 39640 RVA: 0x001FADC4 File Offset: 0x001F8FC4 [Token(Token = "0x6009AD8")] [Address(RVA = "0x41BDA0", Offset = "0x41ADA0", VA = "0x18041BDA0")] 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: 0x06009AD9 RID: 39641 RVA: 0x001FAE9C File Offset: 0x001F909C [Token(Token = "0x6009AD9")] [Address(RVA = "0x41C100", Offset = "0x41B100", VA = "0x18041C100")] 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: 0x0400684E RID: 26702 [Token(Token = "0x400684E")] private static readonly PemParser PemCrlParser = new PemParser("CRL"); // Token: 0x0400684F RID: 26703 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400684F")] private readonly bool lazyAsn1; // Token: 0x04006850 RID: 26704 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4006850")] private Asn1Set sCrlData; // Token: 0x04006851 RID: 26705 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4006851")] private int sCrlDataObjectCount; // Token: 0x04006852 RID: 26706 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4006852")] private Stream currentCrlStream; } }