Files
niko 8fc35183db a
2026-04-11 22:19:20 +02:00

214 lines
6.2 KiB
C#

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;
}
}