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: 0x02001AA7 RID: 6823
|
|
[Token(Token = "0x2001AA7")]
|
|
public class OcspReqGenerator
|
|
{
|
|
// Token: 0x0600A18D RID: 41357 RVA: 0x0021A48C File Offset: 0x0021868C
|
|
[Token(Token = "0x600A18D")]
|
|
[Address(RVA = "0xD00D30", Offset = "0xCFFD30", VA = "0x180D00D30")]
|
|
public void AddRequest(CertificateID certId)
|
|
{
|
|
IList list = this.list;
|
|
OcspReqGenerator.RequestObject requestObject;
|
|
requestObject.certId = certId;
|
|
requestObject.extensions = (ulong)0L;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A18E RID: 41358 RVA: 0x0021A4B8 File Offset: 0x002186B8
|
|
[Token(Token = "0x600A18E")]
|
|
[Address(RVA = "0xD00C90", Offset = "0xCFFC90", VA = "0x180D00C90")]
|
|
public void AddRequest(CertificateID certId, X509Extensions singleRequestExtensions)
|
|
{
|
|
IList list = this.list;
|
|
OcspReqGenerator.RequestObject requestObject;
|
|
requestObject.certId = certId;
|
|
requestObject.extensions = singleRequestExtensions;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A18F RID: 41359 RVA: 0x0021A4E0 File Offset: 0x002186E0
|
|
[Token(Token = "0x600A18F")]
|
|
[Address(RVA = "0xD01830", Offset = "0xD00830", VA = "0x180D01830")]
|
|
public void SetRequestorName(X509Name requestorName)
|
|
{
|
|
GeneralName generalName = new GeneralName(4, requestorName);
|
|
this.requestorName = generalName;
|
|
}
|
|
|
|
// Token: 0x0600A190 RID: 41360 RVA: 0x0021A4FC File Offset: 0x002186FC
|
|
[Token(Token = "0x600A190")]
|
|
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")]
|
|
public void SetRequestorName(GeneralName requestorName)
|
|
{
|
|
this.requestorName = requestorName;
|
|
}
|
|
|
|
// Token: 0x0600A191 RID: 41361 RVA: 0x0021A510 File Offset: 0x00218710
|
|
[Token(Token = "0x600A191")]
|
|
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")]
|
|
public void SetRequestExtensions(X509Extensions requestExtensions)
|
|
{
|
|
this.requestExtensions = requestExtensions;
|
|
}
|
|
|
|
// Token: 0x0600A192 RID: 41362 RVA: 0x0021A524 File Offset: 0x00218724
|
|
[Token(Token = "0x600A192")]
|
|
[Address(RVA = "0xD00DC0", Offset = "0xCFFDC0", VA = "0x180D00DC0")]
|
|
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: 0x0600A193 RID: 41363 RVA: 0x0021A688 File Offset: 0x00218888
|
|
[Token(Token = "0x600A193")]
|
|
[Address(RVA = "0xD01800", Offset = "0xD00800", VA = "0x180D01800")]
|
|
public OcspReq Generate()
|
|
{
|
|
OcspReq ocspReq;
|
|
return ocspReq;
|
|
}
|
|
|
|
// Token: 0x0600A194 RID: 41364 RVA: 0x0021A698 File Offset: 0x00218898
|
|
[Token(Token = "0x600A194")]
|
|
[Address(RVA = "0xD01550", Offset = "0xD00550", VA = "0x180D01550")]
|
|
public OcspReq Generate(string signingAlgorithm, AsymmetricKeyParameter privateKey, X509Certificate[] chain)
|
|
{
|
|
int num = 0;
|
|
return this.Generate(signingAlgorithm, privateKey, chain, num);
|
|
}
|
|
|
|
// Token: 0x0600A195 RID: 41365 RVA: 0x0021A6B4 File Offset: 0x002188B4
|
|
[Token(Token = "0x600A195")]
|
|
[Address(RVA = "0xD01570", Offset = "0xD00570", VA = "0x180D01570")]
|
|
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: 0x170019B6 RID: 6582
|
|
// (get) Token: 0x0600A196 RID: 41366 RVA: 0x0021A710 File Offset: 0x00218910
|
|
[Token(Token = "0x170019B6")]
|
|
public IEnumerable SignatureAlgNames
|
|
{
|
|
[Token(Token = "0x600A196")]
|
|
[Address(RVA = "0xD01950", Offset = "0xD00950", VA = "0x180D01950")]
|
|
get
|
|
{
|
|
return OcspUtilities.AlgNames;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A197 RID: 41367 RVA: 0x0021A724 File Offset: 0x00218924
|
|
[Token(Token = "0x600A197")]
|
|
[Address(RVA = "0xD018F0", Offset = "0xD008F0", VA = "0x180D018F0")]
|
|
public OcspReqGenerator()
|
|
{
|
|
IList list = Platform.CreateArrayList();
|
|
this.list = list;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x04006BC3 RID: 27587
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006BC3")]
|
|
private IList list;
|
|
|
|
// Token: 0x04006BC4 RID: 27588
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006BC4")]
|
|
private GeneralName requestorName;
|
|
|
|
// Token: 0x04006BC5 RID: 27589
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4006BC5")]
|
|
private X509Extensions requestExtensions;
|
|
|
|
// Token: 0x02001AA8 RID: 6824
|
|
[Token(Token = "0x2001AA8")]
|
|
private class RequestObject
|
|
{
|
|
// Token: 0x0600A198 RID: 41368 RVA: 0x0021A748 File Offset: 0x00218948
|
|
[Token(Token = "0x600A198")]
|
|
[Address(RVA = "0x417DD0", Offset = "0x416DD0", VA = "0x180417DD0")]
|
|
public RequestObject(CertificateID certId, X509Extensions extensions)
|
|
{
|
|
this.certId = certId;
|
|
this.extensions = extensions;
|
|
}
|
|
|
|
// Token: 0x0600A199 RID: 41369 RVA: 0x0021A76C File Offset: 0x0021896C
|
|
[Token(Token = "0x600A199")]
|
|
[Address(RVA = "0xD05A10", Offset = "0xD04A10", VA = "0x180D05A10")]
|
|
public Request ToRequest()
|
|
{
|
|
CertID id = this.certId.id;
|
|
X509Extensions x509Extensions = this.extensions;
|
|
return new Request(id, x509Extensions);
|
|
}
|
|
|
|
// Token: 0x04006BC6 RID: 27590
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006BC6")]
|
|
internal CertificateID certId;
|
|
|
|
// Token: 0x04006BC7 RID: 27591
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006BC7")]
|
|
internal X509Extensions extensions;
|
|
}
|
|
}
|
|
}
|