216 lines
6.3 KiB
C#
216 lines
6.3 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.IO;
|
|
using System.Runtime.InteropServices;
|
|
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: 0x0200132A RID: 4906
|
|
[Token(Token = "0x200132A")]
|
|
[StructLayout(3)]
|
|
public class X509CrlParser
|
|
{
|
|
// Token: 0x06007B28 RID: 31528 RVA: 0x0019A234 File Offset: 0x00198434
|
|
[Token(Token = "0x6007B28")]
|
|
[Address(RVA = "0x534490", Offset = "0x532E90", VA = "0x180534490")]
|
|
public X509CrlParser()
|
|
{
|
|
this.lazyAsn1 = false;
|
|
}
|
|
|
|
// Token: 0x06007B29 RID: 31529 RVA: 0x0019A250 File Offset: 0x00198450
|
|
[Token(Token = "0x6007B29")]
|
|
[Address(RVA = "0x5344B0", Offset = "0x532EB0", VA = "0x1805344B0")]
|
|
public X509CrlParser(bool lazyAsn1)
|
|
{
|
|
this.lazyAsn1 = lazyAsn1;
|
|
}
|
|
|
|
// Token: 0x06007B2A RID: 31530 RVA: 0x0019A26C File Offset: 0x0019846C
|
|
[Token(Token = "0x6007B2A")]
|
|
[Address(RVA = "0x534380", Offset = "0x532D80", VA = "0x180534380")]
|
|
private X509Crl ReadPemCrl(Stream inStream)
|
|
{
|
|
Asn1Sequence asn1Sequence = X509CrlParser.PemCrlParser.ReadPemObject(inStream);
|
|
if (asn1Sequence == 0)
|
|
{
|
|
}
|
|
CertificateList instance = CertificateList.GetInstance(asn1Sequence);
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06007B2B RID: 31531 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6007B2B")]
|
|
[Address(RVA = "0x534160", Offset = "0x532B60", VA = "0x180534160")]
|
|
private X509Crl ReadDerCrl(Asn1InputStream dIn)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06007B2C RID: 31532 RVA: 0x0019A298 File Offset: 0x00198498
|
|
[Token(Token = "0x6007B2C")]
|
|
[Address(RVA = "0x533AC0", Offset = "0x5324C0", VA = "0x180533AC0")]
|
|
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: 0x06007B2D RID: 31533 RVA: 0x0019A2E0 File Offset: 0x001984E0
|
|
[Token(Token = "0x6007B2D")]
|
|
[Address(RVA = "0x533A60", Offset = "0x532460", VA = "0x180533A60", Slot = "4")]
|
|
protected virtual X509Crl CreateX509Crl(CertificateList c)
|
|
{
|
|
return new X509Crl(c);
|
|
}
|
|
|
|
// Token: 0x06007B2E RID: 31534 RVA: 0x0019A2F4 File Offset: 0x001984F4
|
|
[Token(Token = "0x6007B2E")]
|
|
[Address(RVA = "0x533E40", Offset = "0x532840", VA = "0x180533E40")]
|
|
public X509Crl ReadCrl(byte[] input)
|
|
{
|
|
int num;
|
|
MemoryStream memoryStream = new MemoryStream(input, num != 0);
|
|
num = 0;
|
|
return this.ReadCrl(memoryStream);
|
|
}
|
|
|
|
// Token: 0x06007B2F RID: 31535 RVA: 0x0019A314 File Offset: 0x00198514
|
|
[Token(Token = "0x6007B2F")]
|
|
[Address(RVA = "0x533FF0", Offset = "0x5329F0", VA = "0x180533FF0")]
|
|
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: 0x06007B30 RID: 31536 RVA: 0x0019A36C File Offset: 0x0019856C
|
|
[Token(Token = "0x6007B30")]
|
|
[Address(RVA = "0x533B50", Offset = "0x532550", VA = "0x180533B50")]
|
|
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: 0x06007B31 RID: 31537 RVA: 0x0019A444 File Offset: 0x00198644
|
|
[Token(Token = "0x6007B31")]
|
|
[Address(RVA = "0x533EB0", Offset = "0x5328B0", VA = "0x180533EB0")]
|
|
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: 0x04005852 RID: 22610
|
|
[Token(Token = "0x4005852")]
|
|
private static readonly PemParser PemCrlParser = new PemParser("CRL");
|
|
|
|
// Token: 0x04005853 RID: 22611
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4005853")]
|
|
private readonly bool lazyAsn1;
|
|
|
|
// Token: 0x04005854 RID: 22612
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4005854")]
|
|
private Asn1Set sCrlData;
|
|
|
|
// Token: 0x04005855 RID: 22613
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4005855")]
|
|
private int sCrlDataObjectCount;
|
|
|
|
// Token: 0x04005856 RID: 22614
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4005856")]
|
|
private Stream currentCrlStream;
|
|
}
|
|
}
|