326 lines
8.9 KiB
C#
326 lines
8.9 KiB
C#
using System;
|
|
using System.Collections;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Ocsp;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.X509;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.X509.Store;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Ocsp
|
|
{
|
|
// Token: 0x02001AA0 RID: 6816
|
|
[Token(Token = "0x2001AA0")]
|
|
public class BasicOcspResp : X509ExtensionBase
|
|
{
|
|
// Token: 0x0600A147 RID: 41287 RVA: 0x0021956C File Offset: 0x0021776C
|
|
[Token(Token = "0x600A147")]
|
|
[Address(RVA = "0xCF0490", Offset = "0xCEF490", VA = "0x180CF0490")]
|
|
public BasicOcspResp(BasicOcspResponse resp)
|
|
{
|
|
this.resp = resp;
|
|
ResponseData tbsResponseData = resp.tbsResponseData;
|
|
this.data = tbsResponseData;
|
|
}
|
|
|
|
// Token: 0x0600A148 RID: 41288 RVA: 0x0021959C File Offset: 0x0021779C
|
|
[Token(Token = "0x600A148")]
|
|
[Address(RVA = "0xCF0100", Offset = "0xCEF100", VA = "0x180CF0100")]
|
|
public byte[] GetTbsResponseData()
|
|
{
|
|
return this.data.GetDerEncoded();
|
|
}
|
|
|
|
// Token: 0x170019A7 RID: 6567
|
|
// (get) Token: 0x0600A149 RID: 41289 RVA: 0x002195BC File Offset: 0x002177BC
|
|
[Token(Token = "0x170019A7")]
|
|
public int Version
|
|
{
|
|
[Token(Token = "0x600A149")]
|
|
[Address(RVA = "0xCF0830", Offset = "0xCEF830", VA = "0x180CF0830")]
|
|
get
|
|
{
|
|
int intValue = this.data.version.Value.IntValue;
|
|
return intValue + 1;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170019A8 RID: 6568
|
|
// (get) Token: 0x0600A14A RID: 41290 RVA: 0x002195EC File Offset: 0x002177EC
|
|
[Token(Token = "0x170019A8")]
|
|
public RespID ResponderId
|
|
{
|
|
[Token(Token = "0x600A14A")]
|
|
[Address(RVA = "0xCF0500", Offset = "0xCEF500", VA = "0x180CF0500")]
|
|
get
|
|
{
|
|
ResponderID responderID = this.data.responderID;
|
|
RespID respID;
|
|
respID.id = responderID;
|
|
return respID;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170019A9 RID: 6569
|
|
// (get) Token: 0x0600A14B RID: 41291 RVA: 0x00219614 File Offset: 0x00217814
|
|
[Token(Token = "0x170019A9")]
|
|
public DateTime ProducedAt
|
|
{
|
|
[Token(Token = "0x600A14B")]
|
|
[Address(RVA = "0xCF04D0", Offset = "0xCEF4D0", VA = "0x180CF04D0")]
|
|
get
|
|
{
|
|
return this.data.producedAt.ToDateTime();
|
|
}
|
|
}
|
|
|
|
// Token: 0x170019AA RID: 6570
|
|
// (get) Token: 0x0600A14C RID: 41292 RVA: 0x00219638 File Offset: 0x00217838
|
|
[Token(Token = "0x170019AA")]
|
|
public SingleResp[] Responses
|
|
{
|
|
[Token(Token = "0x600A14C")]
|
|
[Address(RVA = "0xCF0570", Offset = "0xCEF570", VA = "0x180CF0570")]
|
|
get
|
|
{
|
|
Asn1Sequence responses = this.data.responses;
|
|
Asn1Encodable asn1Encodable;
|
|
SingleResp[] array = new SingleResp[asn1Encodable];
|
|
int num = 0;
|
|
if (num != array.Length)
|
|
{
|
|
Asn1SequenceParser parser = responses.Parser;
|
|
SingleResp singleResp;
|
|
SingleResponse singleResponse;
|
|
singleResp.resp = singleResponse;
|
|
num++;
|
|
array[0] = singleResp;
|
|
}
|
|
return array;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170019AB RID: 6571
|
|
// (get) Token: 0x0600A14D RID: 41293 RVA: 0x00219688 File Offset: 0x00217888
|
|
[Token(Token = "0x170019AB")]
|
|
public X509Extensions ResponseExtensions
|
|
{
|
|
[Token(Token = "0x600A14D")]
|
|
[Address(RVA = "0x67F830", Offset = "0x67E830", VA = "0x18067F830")]
|
|
get
|
|
{
|
|
return this.data.responseExtensions;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A14E RID: 41294 RVA: 0x002196A8 File Offset: 0x002178A8
|
|
[Token(Token = "0x600A14E")]
|
|
[Address(RVA = "0x67F830", Offset = "0x67E830", VA = "0x18067F830", Slot = "8")]
|
|
protected override X509Extensions GetX509Extensions()
|
|
{
|
|
return this.data.responseExtensions;
|
|
}
|
|
|
|
// Token: 0x170019AC RID: 6572
|
|
// (get) Token: 0x0600A14F RID: 41295 RVA: 0x002196C8 File Offset: 0x002178C8
|
|
[Token(Token = "0x170019AC")]
|
|
public string SignatureAlgName
|
|
{
|
|
[Token(Token = "0x600A14F")]
|
|
[Address(RVA = "0xCF06B0", Offset = "0xCEF6B0", VA = "0x180CF06B0")]
|
|
get
|
|
{
|
|
Asn1Object asn1Object = this.resp.signatureAlgorithm.ToAsn1Object();
|
|
IDictionary oids = OcspUtilities.oids;
|
|
IDictionary oids2 = OcspUtilities.oids;
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x170019AD RID: 6573
|
|
// (get) Token: 0x0600A150 RID: 41296 RVA: 0x002196F8 File Offset: 0x002178F8
|
|
[Token(Token = "0x170019AD")]
|
|
public string SignatureAlgOid
|
|
{
|
|
[Token(Token = "0x600A150")]
|
|
[Address(RVA = "0x41ABE0", Offset = "0x419BE0", VA = "0x18041ABE0")]
|
|
get
|
|
{
|
|
Asn1Object asn1Object = this.resp.signatureAlgorithm.ToAsn1Object();
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A151 RID: 41297 RVA: 0x0021971C File Offset: 0x0021791C
|
|
[Token(Token = "0x600A151")]
|
|
[Address(RVA = "0xCF00A0", Offset = "0xCEF0A0", VA = "0x180CF00A0")]
|
|
[Obsolete]
|
|
public RespData GetResponseData()
|
|
{
|
|
ResponseData responseData = this.data;
|
|
RespData respData;
|
|
respData.data = responseData;
|
|
return respData;
|
|
}
|
|
|
|
// Token: 0x0600A152 RID: 41298 RVA: 0x00219738 File Offset: 0x00217938
|
|
[Token(Token = "0x600A152")]
|
|
[Address(RVA = "0x419790", Offset = "0x418790", VA = "0x180419790")]
|
|
public byte[] GetSignature()
|
|
{
|
|
return this.resp.GetSignatureOctets();
|
|
}
|
|
|
|
// Token: 0x0600A153 RID: 41299 RVA: 0x00219758 File Offset: 0x00217958
|
|
[Token(Token = "0x600A153")]
|
|
[Address(RVA = "0xCEFAB0", Offset = "0xCEEAB0", VA = "0x180CEFAB0")]
|
|
private IList GetCertList()
|
|
{
|
|
IList list;
|
|
for (;;)
|
|
{
|
|
int num = 0;
|
|
list = Platform.CreateArrayList();
|
|
Asn1Sequence certs = this.resp.certs;
|
|
if (certs == 0)
|
|
{
|
|
break;
|
|
}
|
|
IEnumerator enumerator = certs.GetEnumerator();
|
|
if (enumerator != 0)
|
|
{
|
|
if (enumerator == 0)
|
|
{
|
|
}
|
|
if (enumerator == 0)
|
|
{
|
|
goto IL_61;
|
|
}
|
|
byte[] array;
|
|
if (new X509CertificateParser().ReadCertificate(array) != 0)
|
|
{
|
|
}
|
|
if (num == 0)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return list;
|
|
IL_61:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A154 RID: 41300 RVA: 0x002197CC File Offset: 0x002179CC
|
|
[Token(Token = "0x600A154")]
|
|
[Address(RVA = "0xCEFE20", Offset = "0xCEEE20", VA = "0x180CEFE20")]
|
|
public X509Certificate[] GetCerts()
|
|
{
|
|
X509Certificate[] array;
|
|
int num;
|
|
do
|
|
{
|
|
IList certList = this.GetCertList();
|
|
array = new X509Certificate[certList];
|
|
num = 0;
|
|
if (num < certList)
|
|
{
|
|
num += num;
|
|
num++;
|
|
}
|
|
if (num >= array)
|
|
{
|
|
return array;
|
|
}
|
|
uint num2;
|
|
if (num < (int)num2)
|
|
{
|
|
num += num;
|
|
num++;
|
|
}
|
|
if (num == 0)
|
|
{
|
|
break;
|
|
}
|
|
ulong num3;
|
|
num3 += num3;
|
|
num3 += num3;
|
|
}
|
|
while (num == 0 || num == 0);
|
|
num++;
|
|
array[0] = num;
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x0600A155 RID: 41301 RVA: 0x00219838 File Offset: 0x00217A38
|
|
[Token(Token = "0x600A155")]
|
|
[Address(RVA = "0xCEFD40", Offset = "0xCEED40", VA = "0x180CEFD40")]
|
|
public IX509Store GetCertificates(string type)
|
|
{
|
|
string text = "Certificate/" + type;
|
|
X509CollectionStoreParameters x509CollectionStoreParameters = new X509CollectionStoreParameters(this.GetCertList());
|
|
return X509StoreFactory.Create(text, x509CollectionStoreParameters);
|
|
}
|
|
|
|
// Token: 0x0600A156 RID: 41302 RVA: 0x00219874 File Offset: 0x00217A74
|
|
[Token(Token = "0x600A156")]
|
|
[Address(RVA = "0xCF01A0", Offset = "0xCEF1A0", VA = "0x180CF01A0")]
|
|
public bool Verify(AsymmetricKeyParameter publicKey)
|
|
{
|
|
Asn1Object asn1Object = this.resp.signatureAlgorithm.ToAsn1Object();
|
|
IDictionary oids = OcspUtilities.oids;
|
|
IDictionary oids2 = OcspUtilities.oids;
|
|
int length = this.data.GetDerEncoded().Length;
|
|
byte[] signatureOctets = this.resp.GetSignatureOctets();
|
|
int num = 0;
|
|
string text;
|
|
OcspException ex = new OcspException(text, num);
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A157 RID: 41303 RVA: 0x00219900 File Offset: 0x00217B00
|
|
[Token(Token = "0x600A157")]
|
|
[Address(RVA = "0x423720", Offset = "0x422720", VA = "0x180423720")]
|
|
public byte[] GetEncoded()
|
|
{
|
|
return this.resp.GetEncoded();
|
|
}
|
|
|
|
// Token: 0x0600A158 RID: 41304 RVA: 0x00219920 File Offset: 0x00217B20
|
|
[Token(Token = "0x600A158")]
|
|
[Address(RVA = "0xCEF9F0", Offset = "0xCEE9F0", VA = "0x180CEF9F0", Slot = "0")]
|
|
public override bool Equals(object obj)
|
|
{
|
|
if (obj != this)
|
|
{
|
|
if (obj != 0 && obj != 0)
|
|
{
|
|
Asn1Object asn1Object = this.resp.ToAsn1Object();
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x0600A159 RID: 41305 RVA: 0x00219950 File Offset: 0x00217B50
|
|
[Token(Token = "0x600A159")]
|
|
[Address(RVA = "0x40F2B0", Offset = "0x40E2B0", VA = "0x18040F2B0", Slot = "2")]
|
|
public override int GetHashCode()
|
|
{
|
|
Asn1Object asn1Object = this.resp.ToAsn1Object();
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x04006BB5 RID: 27573
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006BB5")]
|
|
private readonly BasicOcspResponse resp;
|
|
|
|
// Token: 0x04006BB6 RID: 27574
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006BB6")]
|
|
private readonly ResponseData data;
|
|
}
|
|
}
|