192 lines
11 KiB
C#
192 lines
11 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Runtime.InteropServices;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.IsisMtt.Ocsp
|
|
{
|
|
// Token: 0x020018ED RID: 6381
|
|
[Token(Token = "0x20018ED")]
|
|
[StructLayout(3)]
|
|
public class RequestedCertificate : Asn1Encodable, IAsn1Choice
|
|
{
|
|
// Token: 0x0600AB54 RID: 43860 RVA: 0x002807EC File Offset: 0x0027E9EC
|
|
[Token(Token = "0x600AB54")]
|
|
[Address(RVA = "0x1DF7070", Offset = "0x1DF5A70", VA = "0x181DF7070")]
|
|
public static RequestedCertificate GetInstance(object obj)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600AB54)
|
|
|
|
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: 0x0600AB55 RID: 43861 RVA: 0x00280854 File Offset: 0x0027EA54
|
|
[Token(Token = "0x600AB55")]
|
|
[Address(RVA = "0x1DF7270", Offset = "0x1DF5C70", VA = "0x181DF7270")]
|
|
public static RequestedCertificate GetInstance(Asn1TaggedObject obj, bool isExplicit)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600AB55)
|
|
|
|
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: 0x0600AB56 RID: 43862 RVA: 0x0028087C File Offset: 0x0027EA7C
|
|
[Token(Token = "0x600AB56")]
|
|
[Address(RVA = "0x1DF74A0", Offset = "0x1DF5EA0", VA = "0x181DF74A0")]
|
|
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: 0x0600AB57 RID: 43863 RVA: 0x002808CC File Offset: 0x0027EACC
|
|
[Token(Token = "0x600AB57")]
|
|
[Address(RVA = "0x579A20", Offset = "0x578420", VA = "0x180579A20")]
|
|
public RequestedCertificate(X509CertificateStructure certificate)
|
|
{
|
|
this.cert = certificate;
|
|
}
|
|
|
|
// Token: 0x0600AB58 RID: 43864 RVA: 0x002808E8 File Offset: 0x0027EAE8
|
|
[Token(Token = "0x600AB58")]
|
|
[Address(RVA = "0x1DF7400", Offset = "0x1DF5E00", VA = "0x181DF7400")]
|
|
public RequestedCertificate(RequestedCertificate.Choice type, byte[] certificateOctets)
|
|
{
|
|
DerOctetString derOctetString = new DerOctetString(certificateOctets);
|
|
DerTaggedObject derTaggedObject = new DerTaggedObject((int)type, derOctetString);
|
|
}
|
|
|
|
// Token: 0x17001B24 RID: 6948
|
|
// (get) Token: 0x0600AB59 RID: 43865 RVA: 0x00280908 File Offset: 0x0027EB08
|
|
[Token(Token = "0x17001B24")]
|
|
public RequestedCertificate.Choice Type
|
|
{
|
|
[Token(Token = "0x600AB59")]
|
|
[Address(RVA = "0x1DF75C0", Offset = "0x1DF5FC0", VA = "0x181DF75C0")]
|
|
get
|
|
{
|
|
if (this.cert == (ulong)0L)
|
|
{
|
|
int num = 0;
|
|
bool flag = this.publicKeyCert == num;
|
|
}
|
|
return RequestedCertificate.Choice.Certificate;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600AB5A RID: 43866 RVA: 0x00280930 File Offset: 0x0027EB30
|
|
[Token(Token = "0x600AB5A")]
|
|
[Address(RVA = "0x1DF6FA0", Offset = "0x1DF59A0", VA = "0x181DF6FA0")]
|
|
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: 0x0600AB5B RID: 43867 RVA: 0x0028097C File Offset: 0x0027EB7C
|
|
[Token(Token = "0x600AB5B")]
|
|
[Address(RVA = "0x1DF7300", Offset = "0x1DF5D00", VA = "0x181DF7300", 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: 0x0400709A RID: 28826
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400709A")]
|
|
private readonly X509CertificateStructure cert;
|
|
|
|
// Token: 0x0400709B RID: 28827
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400709B")]
|
|
private readonly byte[] publicKeyCert;
|
|
|
|
// Token: 0x0400709C RID: 28828
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400709C")]
|
|
private readonly byte[] attributeCert;
|
|
|
|
// Token: 0x020018EE RID: 6382
|
|
[Token(Token = "0x20018EE")]
|
|
public enum Choice
|
|
{
|
|
// Token: 0x0400709E RID: 28830
|
|
[Token(Token = "0x400709E")]
|
|
Certificate = -1,
|
|
// Token: 0x0400709F RID: 28831
|
|
[Token(Token = "0x400709F")]
|
|
PublicKeyCertificate,
|
|
// Token: 0x040070A0 RID: 28832
|
|
[Token(Token = "0x40070A0")]
|
|
AttributeCertificate
|
|
}
|
|
}
|
|
}
|