254 lines
7.9 KiB
C#
254 lines
7.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.Security;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.X509;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Ocsp
|
|
{
|
|
// Token: 0x020019C7 RID: 6599
|
|
[Token(Token = "0x20019C7")]
|
|
public class OcspReqGenerator
|
|
{
|
|
// Token: 0x06009DBF RID: 40383 RVA: 0x002113F0 File Offset: 0x0020F5F0
|
|
[Token(Token = "0x6009DBF")]
|
|
[Address(RVA = "0x28C5700", Offset = "0x28C4500", VA = "0x1828C5700")]
|
|
public void AddRequest(CertificateID certId)
|
|
{
|
|
IList list = this.list;
|
|
OcspReqGenerator.RequestObject requestObject;
|
|
requestObject.certId = certId;
|
|
requestObject.extensions = (ulong)0L;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009DC0 RID: 40384 RVA: 0x0021141C File Offset: 0x0020F61C
|
|
[Token(Token = "0x6009DC0")]
|
|
[Address(RVA = "0x28C5660", Offset = "0x28C4460", VA = "0x1828C5660")]
|
|
public void AddRequest(CertificateID certId, X509Extensions singleRequestExtensions)
|
|
{
|
|
IList list = this.list;
|
|
OcspReqGenerator.RequestObject requestObject;
|
|
requestObject.certId = certId;
|
|
requestObject.extensions = singleRequestExtensions;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009DC1 RID: 40385 RVA: 0x00211444 File Offset: 0x0020F644
|
|
[Token(Token = "0x6009DC1")]
|
|
[Address(RVA = "0x28C6200", Offset = "0x28C5000", VA = "0x1828C6200")]
|
|
public void SetRequestorName(X509Name requestorName)
|
|
{
|
|
GeneralName generalName = new GeneralName(4, requestorName);
|
|
this.requestorName = generalName;
|
|
}
|
|
|
|
// Token: 0x06009DC2 RID: 40386 RVA: 0x00211460 File Offset: 0x0020F660
|
|
[Token(Token = "0x6009DC2")]
|
|
[Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210")]
|
|
public void SetRequestorName(GeneralName requestorName)
|
|
{
|
|
this.requestorName = requestorName;
|
|
}
|
|
|
|
// Token: 0x06009DC3 RID: 40387 RVA: 0x00211474 File Offset: 0x0020F674
|
|
[Token(Token = "0x6009DC3")]
|
|
[Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")]
|
|
public void SetRequestExtensions(X509Extensions requestExtensions)
|
|
{
|
|
this.requestExtensions = requestExtensions;
|
|
}
|
|
|
|
// Token: 0x06009DC4 RID: 40388 RVA: 0x00211488 File Offset: 0x0020F688
|
|
[Token(Token = "0x6009DC4")]
|
|
[Address(RVA = "0x28C5790", Offset = "0x28C4590", VA = "0x1828C5790")]
|
|
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 != 0)
|
|
{
|
|
goto IL_132;
|
|
}
|
|
GeneralName generalName = this.requestorName;
|
|
derSequence = new DerSequence(asn1EncodableVector);
|
|
X509Extensions x509Extensions = this.requestExtensions;
|
|
tbsRequest = new TbsRequest(generalName, derSequence, x509Extensions);
|
|
if (tbsRequest == 0)
|
|
{
|
|
goto IL_102;
|
|
}
|
|
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();
|
|
}
|
|
if (num2 != chain.Length)
|
|
{
|
|
Asn1Encodable[] array2 = new Asn1Encodable[1];
|
|
AsymmetricKeyParameter publicKey = chain[num2].GetPublicKey();
|
|
Asn1Object asn1Object;
|
|
X509CertificateStructure instance = X509CertificateStructure.GetInstance(asn1Object);
|
|
throw new ArrayTypeMismatchException();
|
|
}
|
|
Asn1EncodableVector asn1EncodableVector2;
|
|
DerSequence derSequence2 = new DerSequence(asn1EncodableVector2);
|
|
IL_102:
|
|
OcspReq ocspReq;
|
|
OcspRequest ocspRequest;
|
|
ocspReq.req = ocspRequest;
|
|
return ocspReq;
|
|
IL_132:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009DC5 RID: 40389 RVA: 0x002115EC File Offset: 0x0020F7EC
|
|
[Token(Token = "0x6009DC5")]
|
|
[Address(RVA = "0x28C61D0", Offset = "0x28C4FD0", VA = "0x1828C61D0")]
|
|
public OcspReq Generate()
|
|
{
|
|
OcspReq ocspReq;
|
|
return ocspReq;
|
|
}
|
|
|
|
// Token: 0x06009DC6 RID: 40390 RVA: 0x002115FC File Offset: 0x0020F7FC
|
|
[Token(Token = "0x6009DC6")]
|
|
[Address(RVA = "0x28C5F20", Offset = "0x28C4D20", VA = "0x1828C5F20")]
|
|
public OcspReq Generate(string signingAlgorithm, AsymmetricKeyParameter privateKey, X509Certificate[] chain)
|
|
{
|
|
int num = 0;
|
|
return this.Generate(signingAlgorithm, privateKey, chain, num);
|
|
}
|
|
|
|
// Token: 0x06009DC7 RID: 40391 RVA: 0x00211618 File Offset: 0x0020F818
|
|
[Token(Token = "0x6009DC7")]
|
|
[Address(RVA = "0x28C5F40", Offset = "0x28C4D40", VA = "0x1828C5F40")]
|
|
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: 0x17001919 RID: 6425
|
|
// (get) Token: 0x06009DC8 RID: 40392 RVA: 0x00211674 File Offset: 0x0020F874
|
|
[Token(Token = "0x17001919")]
|
|
public IEnumerable SignatureAlgNames
|
|
{
|
|
[Token(Token = "0x6009DC8")]
|
|
[Address(RVA = "0x28C6320", Offset = "0x28C5120", VA = "0x1828C6320")]
|
|
get
|
|
{
|
|
return OcspUtilities.AlgNames;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009DC9 RID: 40393 RVA: 0x00211688 File Offset: 0x0020F888
|
|
[Token(Token = "0x6009DC9")]
|
|
[Address(RVA = "0x28C62C0", Offset = "0x28C50C0", VA = "0x1828C62C0")]
|
|
public OcspReqGenerator()
|
|
{
|
|
IList list = Platform.CreateArrayList();
|
|
this.list = list;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x04006A0A RID: 27146
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006A0A")]
|
|
private IList list;
|
|
|
|
// Token: 0x04006A0B RID: 27147
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006A0B")]
|
|
private GeneralName requestorName;
|
|
|
|
// Token: 0x04006A0C RID: 27148
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4006A0C")]
|
|
private X509Extensions requestExtensions;
|
|
|
|
// Token: 0x020019C8 RID: 6600
|
|
[Token(Token = "0x20019C8")]
|
|
private class RequestObject
|
|
{
|
|
// Token: 0x06009DCA RID: 40394 RVA: 0x002116AC File Offset: 0x0020F8AC
|
|
[Token(Token = "0x6009DCA")]
|
|
[Address(RVA = "0x4089A0", Offset = "0x4077A0", VA = "0x1804089A0")]
|
|
public RequestObject(CertificateID certId, X509Extensions extensions)
|
|
{
|
|
this.certId = certId;
|
|
this.extensions = extensions;
|
|
}
|
|
|
|
// Token: 0x06009DCB RID: 40395 RVA: 0x002116D0 File Offset: 0x0020F8D0
|
|
[Token(Token = "0x6009DCB")]
|
|
[Address(RVA = "0x28CA3E0", Offset = "0x28C91E0", VA = "0x1828CA3E0")]
|
|
public Request ToRequest()
|
|
{
|
|
CertID id = this.certId.id;
|
|
X509Extensions x509Extensions = this.extensions;
|
|
return new Request(id, x509Extensions);
|
|
}
|
|
|
|
// Token: 0x04006A0D RID: 27149
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006A0D")]
|
|
internal CertificateID certId;
|
|
|
|
// Token: 0x04006A0E RID: 27150
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006A0E")]
|
|
internal X509Extensions extensions;
|
|
}
|
|
}
|
|
}
|