Files
27Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Asn1/IsisMtt/Ocsp/RequestedCertificate.cs
T
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

190 lines
10 KiB
C#

using System;
using System.IO;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.IsisMtt.Ocsp
{
// Token: 0x02001FAA RID: 8106
[Token(Token = "0x2001FAA")]
public class RequestedCertificate : Asn1Encodable, IAsn1Choice
{
// Token: 0x0600CAFC RID: 51964 RVA: 0x002E1564 File Offset: 0x002DF764
[Token(Token = "0x600CAFC")]
[Address(RVA = "0x2EB82C0", Offset = "0x2EB72C0", VA = "0x182EB82C0")]
public static RequestedCertificate GetInstance(object obj)
{
/*
An exception occurred when decompiling this method (0600CAFC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.IsisMtt.Ocsp.RequestedCertificate BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.IsisMtt.Ocsp.RequestedCertificate::GetInstance(System.Object)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_39:
stloc:string(var_7_3F, call:string(Platform::GetTypeName, ldloc:object(obj)))
stloc:ArgumentException(var_8_57, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("unknown object in factory: "), ldloc:string(var_7_3F)), ldstr:string("obj")))
}
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.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: 0x0600CAFD RID: 51965 RVA: 0x002E15CC File Offset: 0x002DF7CC
[Token(Token = "0x600CAFD")]
[Address(RVA = "0x2EB84C0", Offset = "0x2EB74C0", VA = "0x182EB84C0")]
public static RequestedCertificate GetInstance(Asn1TaggedObject obj, bool isExplicit)
{
/*
An exception occurred when decompiling this method (0600CAFD)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.IsisMtt.Ocsp.RequestedCertificate BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.IsisMtt.Ocsp.RequestedCertificate::GetInstance(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_10:
stloc:ArgumentException(var_0_1A, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("choice item must be explicitly tagged")))
}
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: 0x0600CAFE RID: 51966 RVA: 0x002E15F4 File Offset: 0x002DF7F4
[Token(Token = "0x600CAFE")]
[Address(RVA = "0x2EB86F0", Offset = "0x2EB76F0", VA = "0x182EB86F0")]
private RequestedCertificate(Asn1TaggedObject tagged)
{
int tagNo = tagged.tagNo;
if (tagNo == 0)
{
Stream octetStream = Asn1OctetString.GetInstance(tagged, true).GetOctetStream();
this.publicKeyCert = octetStream;
return;
}
Stream octetStream2 = Asn1OctetString.GetInstance(tagged, tagNo != 0).GetOctetStream();
this.attributeCert = octetStream2;
}
// Token: 0x0600CAFF RID: 51967 RVA: 0x002E1644 File Offset: 0x002DF844
[Token(Token = "0x600CAFF")]
[Address(RVA = "0x681CA0", Offset = "0x680CA0", VA = "0x180681CA0")]
public RequestedCertificate(X509CertificateStructure certificate)
{
this.cert = certificate;
}
// Token: 0x0600CB00 RID: 51968 RVA: 0x002E1660 File Offset: 0x002DF860
[Token(Token = "0x600CB00")]
[Address(RVA = "0x2EB8650", Offset = "0x2EB7650", VA = "0x182EB8650")]
public RequestedCertificate(RequestedCertificate.Choice type, byte[] certificateOctets)
{
DerOctetString derOctetString = new DerOctetString(certificateOctets);
DerTaggedObject derTaggedObject = new DerTaggedObject((int)type, derOctetString);
}
// Token: 0x17001FC2 RID: 8130
// (get) Token: 0x0600CB01 RID: 51969 RVA: 0x002E1680 File Offset: 0x002DF880
[Token(Token = "0x17001FC2")]
public RequestedCertificate.Choice Type
{
[Token(Token = "0x600CB01")]
[Address(RVA = "0x2EB8810", Offset = "0x2EB7810", VA = "0x182EB8810")]
get
{
if (this.cert == (ulong)0L)
{
int num = 0;
bool flag = this.publicKeyCert == num;
}
return RequestedCertificate.Choice.Certificate;
}
}
// Token: 0x0600CB02 RID: 51970 RVA: 0x002E16A8 File Offset: 0x002DF8A8
[Token(Token = "0x600CB02")]
[Address(RVA = "0x2EB81F0", Offset = "0x2EB71F0", VA = "0x182EB81F0")]
public byte[] GetCertificateBytes()
{
if (this.cert == (ulong)0L)
{
byte[] array = this.publicKeyCert;
if (array == 0)
{
}
return array;
}
X509CertificateStructure x509CertificateStructure = this.cert;
return x509CertificateStructure.GetEncoded();
}
// Token: 0x0600CB03 RID: 51971 RVA: 0x002E16F4 File Offset: 0x002DF8F4
[Token(Token = "0x600CB03")]
[Address(RVA = "0x2EB8550", Offset = "0x2EB7550", VA = "0x182EB8550", Slot = "5")]
public override Asn1Object ToAsn1Object()
{
byte[] array = this.publicKeyCert;
if (array == 0)
{
byte[] array2 = this.attributeCert;
if (array2 == 0)
{
return this.cert.ToAsn1Object();
}
DerOctetString derOctetString = new DerOctetString(array2);
DerTaggedObject derTaggedObject = new DerTaggedObject(array);
}
DerOctetString derOctetString2 = new DerOctetString(array);
int num;
DerTaggedObject derTaggedObject2 = new DerTaggedObject(num, derOctetString2);
num = 0;
throw new NullReferenceException();
}
// Token: 0x04008096 RID: 32918
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4008096")]
private readonly X509CertificateStructure cert;
// Token: 0x04008097 RID: 32919
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4008097")]
private readonly byte[] publicKeyCert;
// Token: 0x04008098 RID: 32920
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4008098")]
private readonly byte[] attributeCert;
// Token: 0x02001FAB RID: 8107
[Token(Token = "0x2001FAB")]
public enum Choice
{
// Token: 0x0400809A RID: 32922
[Token(Token = "0x400809A")]
Certificate = -1,
// Token: 0x0400809B RID: 32923
[Token(Token = "0x400809B")]
PublicKeyCertificate,
// Token: 0x0400809C RID: 32924
[Token(Token = "0x400809C")]
AttributeCertificate
}
}
}