using System; using System.Collections; using System.IO; using System.Runtime.InteropServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests; using BestHTTP.SecureProtocol.Org.BouncyCastle.Math; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509 { // Token: 0x02001818 RID: 6168 [Token(Token = "0x2001818")] [StructLayout(3)] public class AuthorityKeyIdentifier : Asn1Encodable { // Token: 0x0600A625 RID: 42533 RVA: 0x00269DE0 File Offset: 0x00267FE0 [Token(Token = "0x600A625")] [Address(RVA = "0x2AFE1B0", Offset = "0x2AFCBB0", VA = "0x182AFE1B0")] public static AuthorityKeyIdentifier GetInstance(Asn1TaggedObject obj, bool explicitly) { return AuthorityKeyIdentifier.GetInstance(Asn1Sequence.GetInstance(obj, explicitly)); } // Token: 0x0600A626 RID: 42534 RVA: 0x00269DFC File Offset: 0x00267FFC [Token(Token = "0x600A626")] [Address(RVA = "0x2AFDF20", Offset = "0x2AFC920", VA = "0x182AFDF20")] public static AuthorityKeyIdentifier GetInstance(object obj) { /* An exception occurred when decompiling this method (0600A626) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier::GetInstance(System.Object) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_3C: stloc:string(var_9_42, call:string(Platform::GetTypeName, ldloc:object(obj))) stloc:ArgumentException(var_10_5A, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("unknown object in factory: "), ldloc:string(var_9_42)), 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: 0x0600A627 RID: 42535 RVA: 0x00269E64 File Offset: 0x00268064 [Token(Token = "0x600A627")] [Address(RVA = "0x2AFE920", Offset = "0x2AFD320", VA = "0x182AFE920")] protected internal AuthorityKeyIdentifier(Asn1Sequence seq) { int num; do { num = 0; base..ctor(); IEnumerator enumerator = seq.GetEnumerator(); Asn1OctetString asn1OctetString; if (enumerator != 0) { if (enumerator == 0) { goto IL_63; } uint num2; if (num2 != (uint)0) { if (num2 != (uint)0) { if (num2 != (uint)1) { goto IL_57; } DerInteger derInteger; this.certserno = derInteger; } Asn1Sequence asn1Sequence; GeneralNames instance = GeneralNames.GetInstance(asn1Sequence); this.certissuer = instance; } this.keyidentifier = asn1OctetString; } if (asn1OctetString != 0) { } if (num != -1) { } } while (num != 0); return; IL_57: ArgumentException ex = new ArgumentException("illegal tag"); IL_63: throw new NullReferenceException(); } // Token: 0x0600A628 RID: 42536 RVA: 0x00269EE0 File Offset: 0x002680E0 [Token(Token = "0x600A628")] [Address(RVA = "0x2AFE7F0", Offset = "0x2AFD1F0", VA = "0x182AFE7F0")] public AuthorityKeyIdentifier(SubjectPublicKeyInfo spki) { byte[] array = new byte[new Sha1Digest()]; int length = spki.keyData.GetOctets().Length; DerOctetString derOctetString = new DerOctetString(array); this.keyidentifier = derOctetString; } // Token: 0x0600A629 RID: 42537 RVA: 0x00269F28 File Offset: 0x00268128 [Token(Token = "0x600A629")] [Address(RVA = "0x2AFE5E0", Offset = "0x2AFCFE0", VA = "0x182AFE5E0")] public AuthorityKeyIdentifier(SubjectPublicKeyInfo spki, GeneralNames name, BigInteger serialNumber) { byte[] array = new byte[new Sha1Digest()]; int length = spki.keyData.GetOctets().Length; DerOctetString derOctetString = new DerOctetString(array); this.keyidentifier = derOctetString; this.certissuer = name; DerInteger derInteger = new DerInteger(serialNumber); this.certserno = derInteger; } // Token: 0x0600A62A RID: 42538 RVA: 0x00269F84 File Offset: 0x00268184 [Token(Token = "0x600A62A")] [Address(RVA = "0x2AFE740", Offset = "0x2AFD140", VA = "0x182AFE740")] public AuthorityKeyIdentifier(GeneralNames name, BigInteger serialNumber) { this.keyidentifier = (ulong)0L; GeneralNames instance = GeneralNames.GetInstance(name.ToAsn1Object()); this.certissuer = instance; DerInteger derInteger = new DerInteger(serialNumber); this.certserno = derInteger; } // Token: 0x0600A62B RID: 42539 RVA: 0x00269FC8 File Offset: 0x002681C8 [Token(Token = "0x600A62B")] [Address(RVA = "0x2AFEB60", Offset = "0x2AFD560", VA = "0x182AFEB60")] public AuthorityKeyIdentifier(byte[] keyIdentifier) { DerOctetString derOctetString = new DerOctetString(keyIdentifier); int num = 0; this.keyidentifier = derOctetString; this.certissuer = num; this.certserno = num; } // Token: 0x0600A62C RID: 42540 RVA: 0x00269FFC File Offset: 0x002681FC [Token(Token = "0x600A62C")] [Address(RVA = "0x2AFE500", Offset = "0x2AFCF00", VA = "0x182AFE500")] public AuthorityKeyIdentifier(byte[] keyIdentifier, GeneralNames name, BigInteger serialNumber) { DerOctetString derOctetString = new DerOctetString(keyIdentifier); this.keyidentifier = derOctetString; GeneralNames instance = GeneralNames.GetInstance(name.ToAsn1Object()); this.certissuer = instance; DerInteger derInteger = new DerInteger(serialNumber); this.certserno = derInteger; } // Token: 0x0600A62D RID: 42541 RVA: 0x0026A044 File Offset: 0x00268244 [Token(Token = "0x600A62D")] [Address(RVA = "0x27CE920", Offset = "0x27CD320", VA = "0x1827CE920")] public byte[] GetKeyIdentifier() { /* An exception occurred when decompiling this method (0600A62D) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier::GetKeyIdentifier() ---> System.Exception: Basic block has to end with unconditional control flow. { IL_0D: stloc:Stream(var_2_13, call:Stream(Asn1OctetStringParser::GetOctetStream, ldloc:Asn1OctetString[exp:Asn1OctetStringParser](var_0_06))) } 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: 0x170019F2 RID: 6642 // (get) Token: 0x0600A62E RID: 42542 RVA: 0x0026A064 File Offset: 0x00268264 [Token(Token = "0x170019F2")] public GeneralNames AuthorityCertIssuer { [Token(Token = "0x600A62E")] [Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")] get { return this.certissuer; } } // Token: 0x170019F3 RID: 6643 // (get) Token: 0x0600A62F RID: 42543 RVA: 0x0026A078 File Offset: 0x00268278 [Token(Token = "0x170019F3")] public BigInteger AuthorityCertSerialNumber { [Token(Token = "0x600A62F")] [Address(RVA = "0x1DE71C0", Offset = "0x1DE5BC0", VA = "0x181DE71C0")] get { DerInteger derInteger = this.certserno; if (derInteger == 0) { } return derInteger.Value; } } // Token: 0x0600A630 RID: 42544 RVA: 0x0026A098 File Offset: 0x00268298 [Token(Token = "0x600A630")] [Address(RVA = "0x2AFE1D0", Offset = "0x2AFCBD0", VA = "0x182AFE1D0", Slot = "5")] public override Asn1Object ToAsn1Object() { Asn1EncodableVector asn1EncodableVector; if (this.keyidentifier != (ulong)0L) { Asn1Encodable[] array = new Asn1Encodable[1]; Asn1OctetString asn1OctetString = this.keyidentifier; int num; int num2; DerTaggedObject derTaggedObject = new DerTaggedObject(num != 0, num2, asn1OctetString); num2 = 0; num = 0; if (derTaggedObject != 0) { } array[0] = derTaggedObject; asn1EncodableVector.Add(array); } if (this.certissuer != (ulong)0L) { Asn1Encodable[] array2 = new Asn1Encodable[1]; GeneralNames generalNames = this.certissuer; int num3; DerTaggedObject derTaggedObject2 = new DerTaggedObject(num3 != 0, 1, generalNames); num3 = 0; if (derTaggedObject2 != 0) { } array2[0] = derTaggedObject2; asn1EncodableVector.Add(array2); } if (this.certserno != (ulong)0L) { Asn1Encodable[] array3 = new Asn1Encodable[1]; DerInteger derInteger = this.certserno; int num4; DerTaggedObject derTaggedObject3 = new DerTaggedObject(num4 != 0, 2, derInteger); num4 = 0; if (derTaggedObject3 != 0) { } array3[0] = derTaggedObject3; asn1EncodableVector.Add(array3); } DerSequence derSequence = new DerSequence(asn1EncodableVector); throw new NullReferenceException(); } // Token: 0x0600A631 RID: 42545 RVA: 0x0026A174 File Offset: 0x00268374 [Token(Token = "0x600A631")] [Address(RVA = "0x2AFE490", Offset = "0x2AFCE90", VA = "0x182AFE490", Slot = "3")] public override string ToString() { Stream octetStream = this.keyidentifier.GetOctetStream(); return "AuthorityKeyIdentifier: KeyID(" + octetStream + ")"; } // Token: 0x04006C28 RID: 27688 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4006C28")] internal readonly Asn1OctetString keyidentifier; // Token: 0x04006C29 RID: 27689 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4006C29")] internal readonly GeneralNames certissuer; // Token: 0x04006C2A RID: 27690 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4006C2A")] internal readonly DerInteger certserno; } }