261 lines
8.2 KiB
C#
261 lines
8.2 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Runtime.InteropServices;
|
|
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.Security;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.X509;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Ocsp
|
|
{
|
|
// Token: 0x020013EA RID: 5098
|
|
[Token(Token = "0x20013EA")]
|
|
[StructLayout(3)]
|
|
public class OcspReqGenerator
|
|
{
|
|
// Token: 0x060081E5 RID: 33253 RVA: 0x001B9E64 File Offset: 0x001B8064
|
|
[Token(Token = "0x60081E5")]
|
|
[Address(RVA = "0xC20A30", Offset = "0xC1F430", VA = "0x180C20A30")]
|
|
public void AddRequest(CertificateID certId)
|
|
{
|
|
IList list = this.list;
|
|
OcspReqGenerator.RequestObject requestObject;
|
|
requestObject.certId = certId;
|
|
requestObject.extensions = (ulong)0L;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060081E6 RID: 33254 RVA: 0x001B9E90 File Offset: 0x001B8090
|
|
[Token(Token = "0x60081E6")]
|
|
[Address(RVA = "0xC20990", Offset = "0xC1F390", VA = "0x180C20990")]
|
|
public void AddRequest(CertificateID certId, X509Extensions singleRequestExtensions)
|
|
{
|
|
IList list = this.list;
|
|
OcspReqGenerator.RequestObject requestObject;
|
|
requestObject.certId = certId;
|
|
requestObject.extensions = singleRequestExtensions;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060081E7 RID: 33255 RVA: 0x001B9EB8 File Offset: 0x001B80B8
|
|
[Token(Token = "0x60081E7")]
|
|
[Address(RVA = "0xC21580", Offset = "0xC1FF80", VA = "0x180C21580")]
|
|
public void SetRequestorName(X509Name requestorName)
|
|
{
|
|
GeneralName generalName = new GeneralName(4, requestorName);
|
|
this.requestorName = generalName;
|
|
}
|
|
|
|
// Token: 0x060081E8 RID: 33256 RVA: 0x001B9ED4 File Offset: 0x001B80D4
|
|
[Token(Token = "0x60081E8")]
|
|
[Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280")]
|
|
public void SetRequestorName(GeneralName requestorName)
|
|
{
|
|
this.requestorName = requestorName;
|
|
}
|
|
|
|
// Token: 0x060081E9 RID: 33257 RVA: 0x001B9EE8 File Offset: 0x001B80E8
|
|
[Token(Token = "0x60081E9")]
|
|
[Address(RVA = "0x3C1260", Offset = "0x3BFC60", VA = "0x1803C1260")]
|
|
public void SetRequestExtensions(X509Extensions requestExtensions)
|
|
{
|
|
this.requestExtensions = requestExtensions;
|
|
}
|
|
|
|
// Token: 0x060081EA RID: 33258 RVA: 0x001B9EFC File Offset: 0x001B80FC
|
|
[Token(Token = "0x60081EA")]
|
|
[Address(RVA = "0xC20AC0", Offset = "0xC1F4C0", VA = "0x180C20AC0")]
|
|
private OcspReq GenerateRequest(DerObjectIdentifier signingAlgorithm, AsymmetricKeyParameter privateKey, X509Certificate[] chain, SecureRandom random)
|
|
{
|
|
Asn1EncodableVector asn1EncodableVector;
|
|
int num2;
|
|
DerSequence derSequence;
|
|
TbsRequest tbsRequest;
|
|
for (;;)
|
|
{
|
|
int num = 0;
|
|
IList list = this.list;
|
|
if (asn1EncodableVector != 0)
|
|
{
|
|
break;
|
|
}
|
|
num2 = 0;
|
|
ArrayTypeMismatchException ex;
|
|
if (ex != 0)
|
|
{
|
|
}
|
|
if ((num == -1 || "{il2cpp array field local12->}" != (ulong)111L) && num != 0)
|
|
{
|
|
goto IL_140;
|
|
}
|
|
GeneralName generalName = this.requestorName;
|
|
derSequence = new DerSequence(asn1EncodableVector);
|
|
X509Extensions x509Extensions = this.requestExtensions;
|
|
tbsRequest = new TbsRequest(generalName, derSequence, x509Extensions);
|
|
if (tbsRequest == 0)
|
|
{
|
|
goto IL_110;
|
|
}
|
|
if (this.requestorName != (ulong)0L)
|
|
{
|
|
goto Block_4;
|
|
}
|
|
}
|
|
if (asn1EncodableVector == 0)
|
|
{
|
|
}
|
|
if (asn1EncodableVector != 0)
|
|
{
|
|
Asn1Encodable[] array = new Asn1Encodable[1];
|
|
throw new ArrayTypeMismatchException();
|
|
}
|
|
throw new NullReferenceException();
|
|
Block_4:
|
|
DerInteger version = tbsRequest.version;
|
|
if (derSequence == 0)
|
|
{
|
|
}
|
|
int length = tbsRequest.GetEncoded().Length;
|
|
if (chain == 0 || chain.Length == 0)
|
|
{
|
|
throw new NullReferenceException();
|
|
}
|
|
Asn1EncodableVector asn1EncodableVector2;
|
|
if (num2 != chain.Length)
|
|
{
|
|
Asn1Encodable[] array2 = new Asn1Encodable[1];
|
|
AsymmetricKeyParameter publicKey = chain[num2].GetPublicKey();
|
|
Asn1Object asn1Object;
|
|
X509CertificateStructure instance = X509CertificateStructure.GetInstance(asn1Object);
|
|
if (instance != 0)
|
|
{
|
|
}
|
|
array2[0] = instance;
|
|
asn1EncodableVector2.Add(array2);
|
|
num2++;
|
|
}
|
|
DerSequence derSequence2 = new DerSequence(asn1EncodableVector2);
|
|
IL_110:
|
|
OcspReq ocspReq;
|
|
OcspRequest ocspRequest;
|
|
ocspReq.req = ocspRequest;
|
|
return ocspReq;
|
|
IL_140:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060081EB RID: 33259 RVA: 0x001BA074 File Offset: 0x001B8274
|
|
[Token(Token = "0x60081EB")]
|
|
[Address(RVA = "0xC21550", Offset = "0xC1FF50", VA = "0x180C21550")]
|
|
public OcspReq Generate()
|
|
{
|
|
OcspReq ocspReq;
|
|
return ocspReq;
|
|
}
|
|
|
|
// Token: 0x060081EC RID: 33260 RVA: 0x001BA084 File Offset: 0x001B8284
|
|
[Token(Token = "0x60081EC")]
|
|
[Address(RVA = "0xC212A0", Offset = "0xC1FCA0", VA = "0x180C212A0")]
|
|
public OcspReq Generate(string signingAlgorithm, AsymmetricKeyParameter privateKey, X509Certificate[] chain)
|
|
{
|
|
int num = 0;
|
|
return this.Generate(signingAlgorithm, privateKey, chain, num);
|
|
}
|
|
|
|
// Token: 0x060081ED RID: 33261 RVA: 0x001BA0A0 File Offset: 0x001B82A0
|
|
[Token(Token = "0x60081ED")]
|
|
[Address(RVA = "0xC212C0", Offset = "0xC1FCC0", VA = "0x180C212C0")]
|
|
public OcspReq Generate(string signingAlgorithm, AsymmetricKeyParameter privateKey, X509Certificate[] chain, SecureRandom random)
|
|
{
|
|
if (signingAlgorithm != 0)
|
|
{
|
|
string text = Platform.ToUpperInvariant(signingAlgorithm);
|
|
IDictionary algorithms = OcspUtilities.algorithms;
|
|
DerObjectIdentifier derObjectIdentifier = new DerObjectIdentifier(text);
|
|
IDictionary algorithms2 = OcspUtilities.algorithms;
|
|
IDictionary algorithms3 = OcspUtilities.algorithms;
|
|
OcspReq ocspReq;
|
|
return ocspReq;
|
|
}
|
|
ArgumentException ex = new ArgumentException("no signing algorithm specified");
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x17001518 RID: 5400
|
|
// (get) Token: 0x060081EE RID: 33262 RVA: 0x001BA0FC File Offset: 0x001B82FC
|
|
[Token(Token = "0x17001518")]
|
|
public IEnumerable SignatureAlgNames
|
|
{
|
|
[Token(Token = "0x60081EE")]
|
|
[Address(RVA = "0xC216A0", Offset = "0xC200A0", VA = "0x180C216A0")]
|
|
get
|
|
{
|
|
return OcspUtilities.AlgNames;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060081EF RID: 33263 RVA: 0x001BA110 File Offset: 0x001B8310
|
|
[Token(Token = "0x60081EF")]
|
|
[Address(RVA = "0xC21640", Offset = "0xC20040", VA = "0x180C21640")]
|
|
public OcspReqGenerator()
|
|
{
|
|
IList list = Platform.CreateArrayList();
|
|
this.list = list;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x04005BC7 RID: 23495
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4005BC7")]
|
|
private IList list;
|
|
|
|
// Token: 0x04005BC8 RID: 23496
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4005BC8")]
|
|
private GeneralName requestorName;
|
|
|
|
// Token: 0x04005BC9 RID: 23497
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4005BC9")]
|
|
private X509Extensions requestExtensions;
|
|
|
|
// Token: 0x020013EB RID: 5099
|
|
[Token(Token = "0x20013EB")]
|
|
private class RequestObject
|
|
{
|
|
// Token: 0x060081F0 RID: 33264 RVA: 0x001BA134 File Offset: 0x001B8334
|
|
[Token(Token = "0x60081F0")]
|
|
[Address(RVA = "0x3C39C0", Offset = "0x3C23C0", VA = "0x1803C39C0")]
|
|
public RequestObject(CertificateID certId, X509Extensions extensions)
|
|
{
|
|
this.certId = certId;
|
|
this.extensions = extensions;
|
|
}
|
|
|
|
// Token: 0x060081F1 RID: 33265 RVA: 0x001BA158 File Offset: 0x001B8358
|
|
[Token(Token = "0x60081F1")]
|
|
[Address(RVA = "0xC24120", Offset = "0xC22B20", VA = "0x180C24120")]
|
|
public Request ToRequest()
|
|
{
|
|
CertID id = this.certId.id;
|
|
X509Extensions x509Extensions = this.extensions;
|
|
return new Request(id, x509Extensions);
|
|
}
|
|
|
|
// Token: 0x04005BCA RID: 23498
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4005BCA")]
|
|
internal CertificateID certId;
|
|
|
|
// Token: 0x04005BCB RID: 23499
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4005BCB")]
|
|
internal X509Extensions extensions;
|
|
}
|
|
}
|
|
}
|