Files
2026-04-10 22:50:51 +02:00

312 lines
11 KiB
C#

using System;
using System.Collections;
using System.IO;
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: 0x020019C6 RID: 6598
[Token(Token = "0x20019C6")]
public class OcspReq : X509ExtensionBase
{
// Token: 0x06009DAD RID: 40365 RVA: 0x00210FA0 File Offset: 0x0020F1A0
[Token(Token = "0x6009DAD")]
[Address(RVA = "0x462000", Offset = "0x460E00", VA = "0x180462000")]
public OcspReq(OcspRequest req)
{
this.req = req;
}
// Token: 0x06009DAE RID: 40366 RVA: 0x00210FBC File Offset: 0x0020F1BC
[Token(Token = "0x6009DAE")]
[Address(RVA = "0x28C6EF0", Offset = "0x28C5CF0", VA = "0x1828C6EF0")]
public OcspReq(byte[] req)
{
Asn1InputStream asn1InputStream = new Asn1InputStream(req);
}
// Token: 0x06009DAF RID: 40367 RVA: 0x00210FD0 File Offset: 0x0020F1D0
[Token(Token = "0x6009DAF")]
[Address(RVA = "0x28C6E80", Offset = "0x28C5C80", VA = "0x1828C6E80")]
public OcspReq(Stream inStr)
{
Asn1InputStream asn1InputStream = new Asn1InputStream(inStr);
}
// Token: 0x06009DB0 RID: 40368 RVA: 0x00210FE4 File Offset: 0x0020F1E4
[Token(Token = "0x6009DB0")]
[Address(RVA = "0x28C6F60", Offset = "0x28C5D60", VA = "0x1828C6F60")]
private OcspReq(Asn1InputStream aIn)
{
OcspRequest instance = OcspRequest.GetInstance(aIn.ReadObject());
this.req = instance;
}
// Token: 0x06009DB1 RID: 40369 RVA: 0x00211020 File Offset: 0x0020F220
[Token(Token = "0x6009DB1")]
[Address(RVA = "0x28C6B10", Offset = "0x28C5910", VA = "0x1828C6B10")]
public byte[] GetTbsRequest()
{
return this.req.tbsRequest.GetEncoded();
}
// Token: 0x17001914 RID: 6420
// (get) Token: 0x06009DB2 RID: 40370 RVA: 0x0021104C File Offset: 0x0020F24C
[Token(Token = "0x17001914")]
public int Version
{
[Token(Token = "0x6009DB2")]
[Address(RVA = "0x1636AA0", Offset = "0x16358A0", VA = "0x181636AA0")]
get
{
int intValue = this.req.tbsRequest.version.Value.IntValue;
return intValue + 1;
}
}
// Token: 0x17001915 RID: 6421
// (get) Token: 0x06009DB3 RID: 40371 RVA: 0x00211080 File Offset: 0x0020F280
[Token(Token = "0x17001915")]
public GeneralName RequestorName
{
[Token(Token = "0x6009DB3")]
[Address(RVA = "0x28C70C0", Offset = "0x28C5EC0", VA = "0x1828C70C0")]
get
{
return GeneralName.GetInstance(this.req.tbsRequest.requestorName);
}
}
// Token: 0x06009DB4 RID: 40372 RVA: 0x002110A8 File Offset: 0x0020F2A8
[Token(Token = "0x6009DB4")]
[Address(RVA = "0x28C6990", Offset = "0x28C5790", VA = "0x1828C6990")]
public Req[] GetRequestList()
{
Asn1Sequence requestList = this.req.tbsRequest.requestList;
Asn1Encodable asn1Encodable;
Req[] array = new Req[asn1Encodable];
int num = 0;
if (num != array.Length)
{
Asn1SequenceParser parser = requestList.Parser;
Req req;
Request request;
req.req = request;
num++;
array[0] = req;
}
return array;
}
// Token: 0x17001916 RID: 6422
// (get) Token: 0x06009DB5 RID: 40373 RVA: 0x00211100 File Offset: 0x0020F300
[Token(Token = "0x17001916")]
public X509Extensions RequestExtensions
{
[Token(Token = "0x6009DB5")]
[Address(RVA = "0x28C6BC0", Offset = "0x28C59C0", VA = "0x1828C6BC0")]
get
{
return X509Extensions.GetInstance(this.req.tbsRequest.requestExtensions);
}
}
// Token: 0x06009DB6 RID: 40374 RVA: 0x00211128 File Offset: 0x0020F328
[Token(Token = "0x6009DB6")]
[Address(RVA = "0x28C6BC0", Offset = "0x28C59C0", VA = "0x1828C6BC0", Slot = "8")]
protected override X509Extensions GetX509Extensions()
{
return X509Extensions.GetInstance(this.req.tbsRequest.requestExtensions);
}
// Token: 0x17001917 RID: 6423
// (get) Token: 0x06009DB7 RID: 40375 RVA: 0x00211150 File Offset: 0x0020F350
[Token(Token = "0x17001917")]
public string SignatureAlgOid
{
[Token(Token = "0x6009DB7")]
[Address(RVA = "0x28C70F0", Offset = "0x28C5EF0", VA = "0x1828C70F0")]
get
{
Signature optionalSignature = this.req.optionalSignature;
if (optionalSignature != 0)
{
Asn1Object asn1Object = optionalSignature.signatureAlgorithm.ToAsn1Object();
}
throw new NullReferenceException();
}
}
// Token: 0x06009DB8 RID: 40376 RVA: 0x00211180 File Offset: 0x0020F380
[Token(Token = "0x6009DB8")]
[Address(RVA = "0x28C6AD0", Offset = "0x28C58D0", VA = "0x1828C6AD0")]
public byte[] GetSignature()
{
Signature optionalSignature = this.req.optionalSignature;
if (optionalSignature != 0)
{
return optionalSignature.GetSignatureOctets();
}
throw new NullReferenceException();
}
// Token: 0x06009DB9 RID: 40377 RVA: 0x002111AC File Offset: 0x0020F3AC
[Token(Token = "0x6009DB9")]
[Address(RVA = "0x28C6370", Offset = "0x28C5170", VA = "0x1828C6370")]
private IList GetCertList()
{
IList list;
for (;;)
{
int num = 0;
list = Platform.CreateArrayList();
Asn1Sequence certs = this.req.optionalSignature.certs;
if (certs == 0)
{
break;
}
IEnumerator enumerator = certs.GetEnumerator();
if (enumerator != 0)
{
if (enumerator == 0)
{
}
if (enumerator == 0)
{
goto IL_66;
}
byte[] array;
if (new X509CertificateParser().ReadCertificate(array) != 0)
{
}
if (num == 0)
{
break;
}
}
}
return list;
IL_66:
throw new NullReferenceException();
}
// Token: 0x06009DBA RID: 40378 RVA: 0x00211224 File Offset: 0x0020F424
[Token(Token = "0x6009DBA")]
[Address(RVA = "0x28C66F0", Offset = "0x28C54F0", VA = "0x1828C66F0")]
public X509Certificate[] GetCerts()
{
while (this.req.optionalSignature > (ulong)0L)
{
IList certList = this.GetCertList();
X509Certificate[] array = new X509Certificate[certList];
int num = 0;
if (num < certList)
{
num += num;
num++;
}
if (num < array)
{
uint num2;
if (num < (int)num2)
{
num += num;
num++;
}
if (num != 0)
{
ulong num3;
num3 += num3;
num3 += num3;
if (num == 0 || num == 0)
{
continue;
}
}
num++;
array[0] = num;
}
return array;
}
throw new NullReferenceException();
}
// Token: 0x06009DBB RID: 40379 RVA: 0x002112A0 File Offset: 0x0020F4A0
[Token(Token = "0x6009DBB")]
[Address(RVA = "0x28C65E0", Offset = "0x28C53E0", VA = "0x1828C65E0")]
public IX509Store GetCertificates(string type)
{
if (this.req.optionalSignature > (ulong)0L)
{
string text = "Certificate/" + type;
X509CollectionStoreParameters x509CollectionStoreParameters = new X509CollectionStoreParameters(this.GetCertList());
return X509StoreFactory.Create(text, x509CollectionStoreParameters);
}
throw new NullReferenceException();
}
// Token: 0x17001918 RID: 6424
// (get) Token: 0x06009DBC RID: 40380 RVA: 0x002112E4 File Offset: 0x0020F4E4
[Token(Token = "0x17001918")]
public bool IsSigned
{
[Token(Token = "0x6009DBC")]
[Address(RVA = "0x28C70A0", Offset = "0x28C5EA0", VA = "0x1828C70A0")]
get
{
OcspRequest ocspRequest = this.req;
throw new NullReferenceException();
}
}
// Token: 0x06009DBD RID: 40381 RVA: 0x00211300 File Offset: 0x0020F500
[Token(Token = "0x6009DBD")]
[Address(RVA = "0x28C6C30", Offset = "0x28C5A30", VA = "0x1828C6C30")]
public bool Verify(AsymmetricKeyParameter publicKey)
{
/*
An exception occurred when decompiling this method (06009DBD)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Ocsp.OcspReq::Verify(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_B7:
stloc:OcspException(var_9_C1, newobj:OcspException(OcspException::.ctor, ldstr:string("attempt to Verify signature on unsigned object")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x06009DBE RID: 40382 RVA: 0x002113D0 File Offset: 0x0020F5D0
[Token(Token = "0x6009DBE")]
[Address(RVA = "0x16362F0", Offset = "0x16350F0", VA = "0x1816362F0")]
public byte[] GetEncoded()
{
return this.req.GetEncoded();
}
// Token: 0x04006A09 RID: 27145
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006A09")]
private OcspRequest req;
}
}