using System; using System.Text; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1; 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 Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix { // Token: 0x02001988 RID: 6536 [Token(Token = "0x2001988")] public class TrustAnchor { // Token: 0x06009C07 RID: 39943 RVA: 0x00207ACC File Offset: 0x00205CCC [Token(Token = "0x6009C07")] [Address(RVA = "0x19C2710", Offset = "0x19C1510", VA = "0x1819C2710")] public TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints) { /* An exception occurred when decompiling this method (06009C07) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.TrustAnchor::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.X509.X509Certificate,System.Byte[]) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_30: stloc:ArgumentNullException(var_1_3A, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("trustedCert"))) } 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 1660 */; } // Token: 0x06009C08 RID: 39944 RVA: 0x00207B14 File Offset: 0x00205D14 [Token(Token = "0x6009C08")] [Address(RVA = "0x19C27C0", Offset = "0x19C15C0", VA = "0x1819C27C0")] public TrustAnchor(X509Name caPrincipal, AsymmetricKeyParameter pubKey, byte[] nameConstraints) { /* An exception occurred when decompiling this method (06009C08) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.TrustAnchor::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509.X509Name,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[]) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_46: stloc:ArgumentNullException(var_2_50, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("pubKey"))) } 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 1660 */; } // Token: 0x06009C09 RID: 39945 RVA: 0x00207B74 File Offset: 0x00205D74 [Token(Token = "0x6009C09")] [Address(RVA = "0x19C28C0", Offset = "0x19C16C0", VA = "0x1819C28C0")] public TrustAnchor(string caName, AsymmetricKeyParameter pubKey, byte[] nameConstraints) { /* An exception occurred when decompiling this method (06009C09) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.TrustAnchor::.ctor(System.String,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[]) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_4F: stloc:ArgumentNullException(var_2_59, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("pubKey"))) } 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 1660 */; } // Token: 0x170018F1 RID: 6385 // (get) Token: 0x06009C0A RID: 39946 RVA: 0x00207BDC File Offset: 0x00205DDC [Token(Token = "0x170018F1")] public X509Certificate TrustedCert { [Token(Token = "0x6009C0A")] [Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")] get { return this.trustedCert; } } // Token: 0x170018F2 RID: 6386 // (get) Token: 0x06009C0B RID: 39947 RVA: 0x00207BF0 File Offset: 0x00205DF0 [Token(Token = "0x170018F2")] public X509Name CA { [Token(Token = "0x6009C0B")] [Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")] get { return this.caPrincipal; } } // Token: 0x170018F3 RID: 6387 // (get) Token: 0x06009C0C RID: 39948 RVA: 0x00207C04 File Offset: 0x00205E04 [Token(Token = "0x170018F3")] public string CAName { [Token(Token = "0x6009C0C")] [Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")] get { return this.caName; } } // Token: 0x170018F4 RID: 6388 // (get) Token: 0x06009C0D RID: 39949 RVA: 0x00207C18 File Offset: 0x00205E18 [Token(Token = "0x170018F4")] public AsymmetricKeyParameter CAPublicKey { [Token(Token = "0x6009C0D")] [Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")] get { return this.pubKey; } } // Token: 0x06009C0E RID: 39950 RVA: 0x00207C2C File Offset: 0x00205E2C [Token(Token = "0x6009C0E")] [Address(RVA = "0x19C2A70", Offset = "0x19C1870", VA = "0x1819C2A70")] private void setNameConstraints(byte[] bytes) { if (bytes != 0) { NameConstraints instance = NameConstraints.GetInstance(Asn1Object.FromByteArray(bytes)); this.nc = instance; return; } int num = 0; this.ncBytes = num; this.nc = num; } // Token: 0x170018F5 RID: 6389 // (get) Token: 0x06009C0F RID: 39951 RVA: 0x00207C64 File Offset: 0x00205E64 [Token(Token = "0x170018F5")] public byte[] GetNameConstraints { [Token(Token = "0x6009C0F")] [Address(RVA = "0x19C2A10", Offset = "0x19C1810", VA = "0x1819C2A10")] get { return Arrays.Clone(this.ncBytes); } } // Token: 0x06009C10 RID: 39952 RVA: 0x00207C7C File Offset: 0x00205E7C [Token(Token = "0x6009C10")] [Address(RVA = "0x19C2550", Offset = "0x19C1350", VA = "0x1819C2550", Slot = "3")] public override string ToString() { string newLine = Platform.NewLine; StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder2 = stringBuilder.Append("["); StringBuilder stringBuilder3 = stringBuilder.Append(newLine); int num = 0; if (this.pubKey == num) { StringBuilder stringBuilder4 = stringBuilder.Append(" Trusted CA cert: "); X509Certificate x509Certificate = this.trustedCert; StringBuilder stringBuilder5 = stringBuilder4.Append(x509Certificate); } StringBuilder stringBuilder6 = stringBuilder.Append(" Trusted CA Public Key: "); AsymmetricKeyParameter asymmetricKeyParameter = this.pubKey; StringBuilder stringBuilder7 = stringBuilder6.Append(asymmetricKeyParameter).Append(newLine); StringBuilder stringBuilder8 = stringBuilder.Append(" Trusted CA Issuer Name: "); string text = this.caName; StringBuilder stringBuilder9 = stringBuilder8.Append(text).Append(newLine); if (this.nc != (ulong)0L) { StringBuilder stringBuilder10 = stringBuilder.Append(" Name Constraints: "); NameConstraints nameConstraints = this.nc; StringBuilder stringBuilder11 = stringBuilder10.Append(nameConstraints).Append(newLine); } throw new NullReferenceException(); } // Token: 0x04006918 RID: 26904 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4006918")] private readonly AsymmetricKeyParameter pubKey; // Token: 0x04006919 RID: 26905 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4006919")] private readonly string caName; // Token: 0x0400691A RID: 26906 [FieldOffset(Offset = "0x20")] [Token(Token = "0x400691A")] private readonly X509Name caPrincipal; // Token: 0x0400691B RID: 26907 [FieldOffset(Offset = "0x28")] [Token(Token = "0x400691B")] private readonly X509Certificate trustedCert; // Token: 0x0400691C RID: 26908 [FieldOffset(Offset = "0x30")] [Token(Token = "0x400691C")] private byte[] ncBytes; // Token: 0x0400691D RID: 26909 [FieldOffset(Offset = "0x38")] [Token(Token = "0x400691D")] private NameConstraints nc; } }