1040 lines
50 KiB
C#
1040 lines
50 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.IO;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Pkcs;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.X509;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs
|
|
{
|
|
// Token: 0x02001A6F RID: 6767
|
|
[Token(Token = "0x2001A6F")]
|
|
public class Pkcs12Store
|
|
{
|
|
// Token: 0x0600A010 RID: 40976 RVA: 0x00211934 File Offset: 0x0020FB34
|
|
[Token(Token = "0x600A010")]
|
|
[Address(RVA = "0x6439A0", Offset = "0x6429A0", VA = "0x1806439A0")]
|
|
private static SubjectKeyIdentifier CreateSubjectKeyID(AsymmetricKeyParameter pubKey)
|
|
{
|
|
return new SubjectKeyIdentifier(SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(pubKey));
|
|
}
|
|
|
|
// Token: 0x0600A011 RID: 40977 RVA: 0x0021194C File Offset: 0x0020FB4C
|
|
[Token(Token = "0x600A011")]
|
|
[Address(RVA = "0x649FB0", Offset = "0x648FB0", VA = "0x180649FB0")]
|
|
internal Pkcs12Store(DerObjectIdentifier keyAlgorithm, DerObjectIdentifier certAlgorithm, bool useDerEncoding)
|
|
{
|
|
IDictionary dictionary = Platform.CreateHashtable();
|
|
Pkcs12Store.IgnoresCaseHashtable ignoresCaseHashtable;
|
|
ignoresCaseHashtable.orig = dictionary;
|
|
IDictionary dictionary2 = Platform.CreateHashtable();
|
|
ignoresCaseHashtable.keys = dictionary2;
|
|
this.keys = ignoresCaseHashtable;
|
|
IDictionary dictionary3 = Platform.CreateHashtable();
|
|
this.localIds = dictionary3;
|
|
IDictionary dictionary4 = Platform.CreateHashtable();
|
|
Pkcs12Store.IgnoresCaseHashtable ignoresCaseHashtable2;
|
|
ignoresCaseHashtable2.orig = dictionary4;
|
|
IDictionary dictionary5 = Platform.CreateHashtable();
|
|
ignoresCaseHashtable2.keys = dictionary5;
|
|
this.certs = ignoresCaseHashtable2;
|
|
IDictionary dictionary6 = Platform.CreateHashtable();
|
|
this.chainCerts = dictionary6;
|
|
IDictionary dictionary7 = Platform.CreateHashtable();
|
|
this.keyCerts = dictionary7;
|
|
base..ctor();
|
|
this.certAlgorithm = certAlgorithm;
|
|
this.useDerEncoding = useDerEncoding;
|
|
this.keyAlgorithm = keyAlgorithm;
|
|
}
|
|
|
|
// Token: 0x0600A012 RID: 40978 RVA: 0x00211A00 File Offset: 0x0020FC00
|
|
[Token(Token = "0x600A012")]
|
|
[Address(RVA = "0x649E80", Offset = "0x648E80", VA = "0x180649E80")]
|
|
public Pkcs12Store()
|
|
{
|
|
DerObjectIdentifier pbewithShaAnd40BitRC2Cbc = PkcsObjectIdentifiers.PbewithShaAnd40BitRC2Cbc;
|
|
DerObjectIdentifier pbeWithShaAnd3KeyTripleDesCbc = PkcsObjectIdentifiers.PbeWithShaAnd3KeyTripleDesCbc;
|
|
}
|
|
|
|
// Token: 0x0600A013 RID: 40979 RVA: 0x00211A1C File Offset: 0x0020FC1C
|
|
[Token(Token = "0x600A013")]
|
|
[Address(RVA = "0x649F00", Offset = "0x648F00", VA = "0x180649F00")]
|
|
public Pkcs12Store(Stream input, char[] password)
|
|
{
|
|
DerObjectIdentifier pbewithShaAnd40BitRC2Cbc = PkcsObjectIdentifiers.PbewithShaAnd40BitRC2Cbc;
|
|
DerObjectIdentifier pbeWithShaAnd3KeyTripleDesCbc = PkcsObjectIdentifiers.PbeWithShaAnd3KeyTripleDesCbc;
|
|
this.Load(input, password);
|
|
}
|
|
|
|
// Token: 0x0600A014 RID: 40980 RVA: 0x00211A40 File Offset: 0x0020FC40
|
|
[Token(Token = "0x600A014")]
|
|
[Address(RVA = "0x645640", Offset = "0x644640", VA = "0x180645640", Slot = "4")]
|
|
protected virtual void LoadKeyBag(PrivateKeyInfo privKeyInfo, Asn1Set bagAttributes)
|
|
{
|
|
AsymmetricKeyParameter asymmetricKeyParameter;
|
|
DerObjectIdentifier pkcs1Oid;
|
|
int num;
|
|
do
|
|
{
|
|
asymmetricKeyParameter = PrivateKeyFactory.CreateKey(privKeyInfo);
|
|
new AsymmetricKeyEntry(Platform.CreateHashtable()).key = asymmetricKeyParameter;
|
|
if (bagAttributes == 0)
|
|
{
|
|
goto IL_82;
|
|
}
|
|
IEnumerator enumerator = bagAttributes.GetEnumerator();
|
|
if (enumerator != 0)
|
|
{
|
|
if (enumerator == 0)
|
|
{
|
|
goto IL_BA;
|
|
}
|
|
Asn1Encodable asn1Encodable;
|
|
while (asn1Encodable <= 0)
|
|
{
|
|
}
|
|
Asn1Set asn1Set;
|
|
if (asn1Set.GetEnumerator() == 0)
|
|
{
|
|
}
|
|
pkcs1Oid = PkcsObjectIdentifiers.Pkcs1Oid;
|
|
Pkcs12Store.IgnoresCaseHashtable ignoresCaseHashtable = this.keys;
|
|
}
|
|
num = 0;
|
|
if (pkcs1Oid != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
DerObjectIdentifier pkcs1Oid2 = PkcsObjectIdentifiers.Pkcs1Oid;
|
|
if (pkcs1Oid != 0)
|
|
{
|
|
IDictionary dictionary = this.localIds;
|
|
}
|
|
string text;
|
|
DerObjectIdentifier derObjectIdentifier;
|
|
this.keys[text] = derObjectIdentifier;
|
|
IL_82:
|
|
this.unmarkedKeyEntry = asymmetricKeyParameter;
|
|
return;
|
|
IL_BA:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A015 RID: 40981 RVA: 0x00211B14 File Offset: 0x0020FD14
|
|
[Token(Token = "0x600A015")]
|
|
[Address(RVA = "0x645B80", Offset = "0x644B80", VA = "0x180645B80", Slot = "5")]
|
|
protected virtual void LoadPkcs8ShroudedKeyBag(EncryptedPrivateKeyInfo encPrivKeyInfo, Asn1Set bagAttributes, char[] password, bool wrongPkcs12Zero)
|
|
{
|
|
if (password != 0)
|
|
{
|
|
string text = this.ToString();
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A016 RID: 40982 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x600A016")]
|
|
[Address(RVA = "0x645BD0", Offset = "0x644BD0", VA = "0x180645BD0")]
|
|
public void Load(Stream input, char[] password)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600A017 RID: 40983 RVA: 0x00211B2C File Offset: 0x0020FD2C
|
|
[Token(Token = "0x600A017")]
|
|
[Address(RVA = "0x645290", Offset = "0x644290", VA = "0x180645290")]
|
|
public AsymmetricKeyEntry GetKey(string alias)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A017)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs.AsymmetricKeyEntry BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs.Pkcs12Store::GetKey(System.String)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_1B:
|
|
stloc:ArgumentNullException(var_2_25, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("alias")))
|
|
}
|
|
|
|
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: 0x0600A018 RID: 40984 RVA: 0x00211B60 File Offset: 0x0020FD60
|
|
[Token(Token = "0x600A018")]
|
|
[Address(RVA = "0x645370", Offset = "0x644370", VA = "0x180645370")]
|
|
public bool IsCertificateEntry(string alias)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A018)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs.Pkcs12Store::IsCertificateEntry(System.String)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_23:
|
|
stloc:ArgumentNullException(var_0_2D, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("alias")))
|
|
}
|
|
|
|
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: 0x0600A019 RID: 40985 RVA: 0x00211B9C File Offset: 0x0020FD9C
|
|
[Token(Token = "0x600A019")]
|
|
[Address(RVA = "0x6455B0", Offset = "0x6445B0", VA = "0x1806455B0")]
|
|
public bool IsKeyEntry(string alias)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A019)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs.Pkcs12Store::IsKeyEntry(System.String)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_17:
|
|
stloc:ArgumentNullException(var_0_21, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("alias")))
|
|
}
|
|
|
|
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: 0x0600A01A RID: 40986 RVA: 0x00211BCC File Offset: 0x0020FDCC
|
|
[Token(Token = "0x600A01A")]
|
|
[Address(RVA = "0x643F60", Offset = "0x642F60", VA = "0x180643F60")]
|
|
private IDictionary GetAliasesTable()
|
|
{
|
|
int num;
|
|
IDictionary dictionary;
|
|
do
|
|
{
|
|
num = 0;
|
|
dictionary = Platform.CreateHashtable();
|
|
IDictionary orig = this.certs.orig;
|
|
if (dictionary != 0)
|
|
{
|
|
if (num < dictionary)
|
|
{
|
|
num += num;
|
|
num++;
|
|
}
|
|
if (dictionary != 0 && dictionary == 0)
|
|
{
|
|
goto IL_DE;
|
|
}
|
|
uint num2;
|
|
if (num < (int)num2)
|
|
{
|
|
num += num;
|
|
num++;
|
|
}
|
|
dictionary += dictionary;
|
|
num++;
|
|
num += 19;
|
|
dictionary += dictionary;
|
|
num++;
|
|
num += 19;
|
|
}
|
|
int num3 = 0;
|
|
if (num != 0)
|
|
{
|
|
}
|
|
if (num != 0)
|
|
{
|
|
goto IL_E4;
|
|
}
|
|
if (num != -1)
|
|
{
|
|
}
|
|
IDictionary orig2 = this.keys.orig;
|
|
if (num3 < num)
|
|
{
|
|
num3 += num3;
|
|
num3++;
|
|
}
|
|
int num4 = 0;
|
|
if (num != 0)
|
|
{
|
|
if (num3 < num4)
|
|
{
|
|
num3 += num3;
|
|
num3++;
|
|
}
|
|
if (num3 != 0 && num3 == 0)
|
|
{
|
|
goto IL_EA;
|
|
}
|
|
uint num5;
|
|
if (num3 < (int)num5)
|
|
{
|
|
num3 += num3;
|
|
num3++;
|
|
}
|
|
while (num3 != 0)
|
|
{
|
|
}
|
|
}
|
|
if (num != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
return dictionary;
|
|
IL_DE:
|
|
throw new NullReferenceException();
|
|
IL_E4:
|
|
throw new NullReferenceException();
|
|
IL_EA:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x17001997 RID: 6551
|
|
// (get) Token: 0x0600A01B RID: 40987 RVA: 0x00211CC8 File Offset: 0x0020FEC8
|
|
[Token(Token = "0x17001997")]
|
|
public IEnumerable Aliases
|
|
{
|
|
[Token(Token = "0x600A01B")]
|
|
[Address(RVA = "0x64A140", Offset = "0x649140", VA = "0x18064A140")]
|
|
get
|
|
{
|
|
EnumerableProxy enumerableProxy = new EnumerableProxy(this.GetAliasesTable());
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A01C RID: 40988 RVA: 0x00211CE8 File Offset: 0x0020FEE8
|
|
[Token(Token = "0x600A01C")]
|
|
[Address(RVA = "0x643940", Offset = "0x642940", VA = "0x180643940")]
|
|
public bool ContainsAlias(string alias)
|
|
{
|
|
return this.certs[alias] != 0 || this.keys[alias] != 0;
|
|
}
|
|
|
|
// Token: 0x0600A01D RID: 40989 RVA: 0x00211D20 File Offset: 0x0020FF20
|
|
[Token(Token = "0x600A01D")]
|
|
[Address(RVA = "0x645120", Offset = "0x644120", VA = "0x180645120")]
|
|
public X509CertificateEntry GetCertificate(string alias)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A01D)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs.X509CertificateEntry BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs.Pkcs12Store::GetCertificate(System.String)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_39:
|
|
stloc:ArgumentNullException(var_5_43, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("alias")))
|
|
}
|
|
|
|
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: 0x0600A01E RID: 40990 RVA: 0x00211D74 File Offset: 0x0020FF74
|
|
[Token(Token = "0x600A01E")]
|
|
[Address(RVA = "0x644520", Offset = "0x643520", VA = "0x180644520")]
|
|
public string GetCertificateAlias(X509Certificate cert)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
if (cert == 0)
|
|
{
|
|
goto IL_85;
|
|
}
|
|
IDictionary orig = this.certs.orig;
|
|
if (typeof(DictionaryEntry).TypeHandle == 0)
|
|
{
|
|
goto IL_97;
|
|
}
|
|
int num2 = 0;
|
|
if (typeof(DictionaryEntry).TypeHandle == 0)
|
|
{
|
|
goto IL_97;
|
|
}
|
|
if (num2 == 0)
|
|
{
|
|
}
|
|
if (num2 == 0)
|
|
{
|
|
goto IL_91;
|
|
}
|
|
int num3;
|
|
if (num2 != 0)
|
|
{
|
|
num3 = 0;
|
|
}
|
|
if (num != 0)
|
|
{
|
|
goto IL_A9;
|
|
}
|
|
if (num != -1)
|
|
{
|
|
if (num3 == 207)
|
|
{
|
|
goto IL_85;
|
|
}
|
|
if (num3 == 107)
|
|
{
|
|
}
|
|
}
|
|
IDictionary dictionary = this.keyCerts;
|
|
if (num != 0)
|
|
{
|
|
int num4 = num;
|
|
if (num4 != 0 && num4 == 0)
|
|
{
|
|
goto IL_A9;
|
|
}
|
|
num++;
|
|
}
|
|
num++;
|
|
if (num != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
if (num != -1)
|
|
{
|
|
}
|
|
IL_85:
|
|
ArgumentNullException ex = new ArgumentNullException("cert");
|
|
IL_91:
|
|
throw new NullReferenceException();
|
|
IL_97:
|
|
throw new NullReferenceException();
|
|
IL_A9:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A01F RID: 40991 RVA: 0x00211E44 File Offset: 0x00210044
|
|
[Token(Token = "0x600A01F")]
|
|
[Address(RVA = "0x644A40", Offset = "0x643A40", VA = "0x180644A40")]
|
|
public X509CertificateEntry[] GetCertificateChain(string alias)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A01F)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs.X509CertificateEntry[] BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs.Pkcs12Store::GetCertificateChain(System.String)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_107:
|
|
stloc:ArgumentNullException(var_22_111, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("alias")))
|
|
}
|
|
|
|
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: 0x0600A020 RID: 40992 RVA: 0x00211F64 File Offset: 0x00210164
|
|
[Token(Token = "0x600A020")]
|
|
[Address(RVA = "0x649930", Offset = "0x648930", VA = "0x180649930")]
|
|
public void SetCertificateEntry(string alias, X509CertificateEntry certEntry)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A020)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs.Pkcs12Store::SetCertificateEntry(System.String,BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs.X509CertificateEntry)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_3F:
|
|
stloc:ArgumentException(var_5_54, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("There is a key entry with the name "), ldloc:string(alias), ldstr:string("."))))
|
|
}
|
|
|
|
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.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.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: 0x0600A021 RID: 40993 RVA: 0x00211FC8 File Offset: 0x002101C8
|
|
[Token(Token = "0x600A021")]
|
|
[Address(RVA = "0x649AF0", Offset = "0x648AF0", VA = "0x180649AF0")]
|
|
public void SetKeyEntry(string alias, AsymmetricKeyEntry keyEntry, X509CertificateEntry[] chain)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A021)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs.Pkcs12Store::SetKeyEntry(System.String,BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs.AsymmetricKeyEntry,BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs.X509CertificateEntry[])
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_CB:
|
|
stloc:ArgumentException(var_14_D5, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("No certificate chain for private key")))
|
|
}
|
|
|
|
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: 0x0600A022 RID: 40994 RVA: 0x002120AC File Offset: 0x002102AC
|
|
[Token(Token = "0x600A022")]
|
|
[Address(RVA = "0x643BC0", Offset = "0x642BC0", VA = "0x180643BC0")]
|
|
public void DeleteEntry(string alias)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A022)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs.Pkcs12Store::DeleteEntry(System.String)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_B3:
|
|
stloc:ArgumentNullException(var_15_BD, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("alias")))
|
|
}
|
|
|
|
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: 0x0600A023 RID: 40995 RVA: 0x00212178 File Offset: 0x00210378
|
|
[Token(Token = "0x600A023")]
|
|
[Address(RVA = "0x645420", Offset = "0x644420", VA = "0x180645420")]
|
|
public bool IsEntryOfType(string alias, Type entryType)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A023)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs.Pkcs12Store::IsEntryOfType(System.String,System.Type)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_57:
|
|
stloc:ArgumentNullException(var_5_61, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("alias")))
|
|
}
|
|
|
|
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: 0x0600A024 RID: 40996 RVA: 0x002121E8 File Offset: 0x002103E8
|
|
[Token(Token = "0x600A024")]
|
|
[Address(RVA = "0x649E20", Offset = "0x648E20", VA = "0x180649E20")]
|
|
[Obsolete]
|
|
public int Size()
|
|
{
|
|
IDictionary aliasesTable = this.GetAliasesTable();
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x17001998 RID: 6552
|
|
// (get) Token: 0x0600A025 RID: 40997 RVA: 0x00212204 File Offset: 0x00210404
|
|
[Token(Token = "0x17001998")]
|
|
public int Count
|
|
{
|
|
[Token(Token = "0x600A025")]
|
|
[Address(RVA = "0x649E20", Offset = "0x648E20", VA = "0x180649E20")]
|
|
get
|
|
{
|
|
IDictionary aliasesTable = this.GetAliasesTable();
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A026 RID: 40998 RVA: 0x00212220 File Offset: 0x00210420
|
|
[Token(Token = "0x600A026")]
|
|
[Address(RVA = "0x646E50", Offset = "0x645E50", VA = "0x180646E50")]
|
|
public void Save(Stream stream, char[] password, SecureRandom random)
|
|
{
|
|
int num2;
|
|
DerSequence derSequence;
|
|
Asn1Encodable[] array2;
|
|
X509CertificateEntry x509CertificateEntry;
|
|
IEnumerable bagAttributeKeys;
|
|
int num3;
|
|
Asn1Encodable[] array3;
|
|
for (;;)
|
|
{
|
|
if (random != 0)
|
|
{
|
|
IDictionary orig = this.keys.orig;
|
|
Asn1EncodableVector asn1EncodableVector;
|
|
if (asn1EncodableVector != 0)
|
|
{
|
|
if (asn1EncodableVector == 0)
|
|
{
|
|
}
|
|
if (asn1EncodableVector != 0)
|
|
{
|
|
byte[] array = new byte[20];
|
|
double num = random.NextDouble();
|
|
Pkcs12Store.IgnoresCaseHashtable ignoresCaseHashtable = this.keys;
|
|
DerObjectIdentifier derObjectIdentifier = this.keyAlgorithm;
|
|
IEnumerable enumerable;
|
|
if (enumerable != 0)
|
|
{
|
|
num2 = 0;
|
|
if (enumerable == 0 || enumerable != 0)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (derSequence != 0)
|
|
{
|
|
}
|
|
if (array2 == 0)
|
|
{
|
|
goto Block_6;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
IEnumerable enumerable;
|
|
if (enumerable != 0)
|
|
{
|
|
}
|
|
DerSet derSet;
|
|
if (derSet == 0)
|
|
{
|
|
if (enumerable != (ulong)(-1L))
|
|
{
|
|
}
|
|
DerSequence derSequence2;
|
|
byte[] derEncoded = derSequence2.GetDerEncoded();
|
|
DerObjectIdentifier data = PkcsObjectIdentifiers.Data;
|
|
BerOctetString berOctetString = new BerOctetString(derEncoded);
|
|
ContentInfo contentInfo = new ContentInfo(data, berOctetString);
|
|
Asn1Object asn1Object = new Pkcs12PbeParams(new byte[20], 1024).ToAsn1Object();
|
|
HashSet hashSet = new HashSet();
|
|
ICollection collection;
|
|
if (collection != 0 && (collection == 0 || collection != 0))
|
|
{
|
|
DerObjectIdentifier x509Certificate = PkcsObjectIdentifiers.X509Certificate;
|
|
AsymmetricKeyParameter publicKey = x509CertificateEntry.cert.GetPublicKey();
|
|
DerOctetString derOctetString;
|
|
CertBag certBag = new CertBag(x509Certificate, derOctetString);
|
|
bagAttributeKeys = x509CertificateEntry.BagAttributeKeys;
|
|
if (bagAttributeKeys != 0)
|
|
{
|
|
num3 = 0;
|
|
if (bagAttributeKeys == 0 || bagAttributeKeys != 0)
|
|
{
|
|
goto IL_268;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
DerSequence derSequence3;
|
|
if (derSequence3 != 0)
|
|
{
|
|
}
|
|
if (array3 == 0)
|
|
{
|
|
goto Block_13;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
string identifier = PkcsObjectIdentifiers.Pkcs9AtFriendlyName.identifier;
|
|
bool flag;
|
|
while (flag)
|
|
{
|
|
}
|
|
Asn1Encodable[] array4 = new Asn1Encodable[1];
|
|
array2 = new Asn1Encodable[2];
|
|
DerObjectIdentifier derObjectIdentifier2 = new DerObjectIdentifier(num2);
|
|
throw new ArrayTypeMismatchException();
|
|
Block_6:
|
|
if (derSequence != (ulong)(-1L))
|
|
{
|
|
}
|
|
Asn1Encodable[] array5 = new Asn1Encodable[1];
|
|
Asn1Encodable[] array6 = new Asn1Encodable[2];
|
|
DerObjectIdentifier pkcs9AtFriendlyName = PkcsObjectIdentifiers.Pkcs9AtFriendlyName;
|
|
throw new ArrayTypeMismatchException();
|
|
IL_268:
|
|
Asn1Encodable asn1Encodable = x509CertificateEntry[num3];
|
|
string identifier2 = PkcsObjectIdentifiers.Pkcs9AtFriendlyName.identifier;
|
|
bool flag2;
|
|
while (flag2)
|
|
{
|
|
}
|
|
Asn1Encodable[] array7 = new Asn1Encodable[1];
|
|
array3 = new Asn1Encodable[2];
|
|
DerObjectIdentifier derObjectIdentifier3 = new DerObjectIdentifier(num3);
|
|
throw new ArrayTypeMismatchException();
|
|
Block_13:
|
|
if (bagAttributeKeys != (ulong)(-1L))
|
|
{
|
|
}
|
|
Asn1Encodable[] array8 = new Asn1Encodable[1];
|
|
Asn1Encodable[] array9 = new Asn1Encodable[2];
|
|
DerObjectIdentifier pkcs9AtFriendlyName2 = PkcsObjectIdentifiers.Pkcs9AtFriendlyName;
|
|
throw new ArrayTypeMismatchException();
|
|
}
|
|
|
|
// Token: 0x0600A027 RID: 40999 RVA: 0x002125FC File Offset: 0x002107FC
|
|
[Token(Token = "0x600A027")]
|
|
[Address(RVA = "0x643820", Offset = "0x642820", VA = "0x180643820")]
|
|
internal static byte[] CalculatePbeMac(DerObjectIdentifier oid, byte[] salt, int itCount, char[] password, bool wrongPkcs12Zero, byte[] data)
|
|
{
|
|
do
|
|
{
|
|
Asn1Encodable asn1Encodable = PbeUtilities.GenerateAlgorithmParameters(oid, salt, itCount);
|
|
}
|
|
while (PbeUtilities.CreateEngine(oid) == 0);
|
|
byte[] array;
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x0600A028 RID: 41000 RVA: 0x00212624 File Offset: 0x00210824
|
|
[Token(Token = "0x600A028")]
|
|
[Address(RVA = "0x643A00", Offset = "0x642A00", VA = "0x180643A00")]
|
|
private static byte[] CryptPbeData(bool forEncryption, AlgorithmIdentifier algId, char[] password, bool wrongPkcs12Zero, byte[] data)
|
|
{
|
|
Asn1Object asn1Object = algId.ToAsn1Object();
|
|
Pkcs12PbeParams instance = Pkcs12PbeParams.GetInstance(algId.ObjectID);
|
|
Asn1Object asn1Object2 = algId.ToAsn1Object();
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x04006AE1 RID: 27361
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006AE1")]
|
|
private readonly Pkcs12Store.IgnoresCaseHashtable keys;
|
|
|
|
// Token: 0x04006AE2 RID: 27362
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006AE2")]
|
|
private readonly IDictionary localIds;
|
|
|
|
// Token: 0x04006AE3 RID: 27363
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4006AE3")]
|
|
private readonly Pkcs12Store.IgnoresCaseHashtable certs;
|
|
|
|
// Token: 0x04006AE4 RID: 27364
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4006AE4")]
|
|
private readonly IDictionary chainCerts;
|
|
|
|
// Token: 0x04006AE5 RID: 27365
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4006AE5")]
|
|
private readonly IDictionary keyCerts;
|
|
|
|
// Token: 0x04006AE6 RID: 27366
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4006AE6")]
|
|
private readonly DerObjectIdentifier keyAlgorithm;
|
|
|
|
// Token: 0x04006AE7 RID: 27367
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4006AE7")]
|
|
private readonly DerObjectIdentifier certAlgorithm;
|
|
|
|
// Token: 0x04006AE8 RID: 27368
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x4006AE8")]
|
|
private readonly bool useDerEncoding;
|
|
|
|
// Token: 0x04006AE9 RID: 27369
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x4006AE9")]
|
|
private AsymmetricKeyEntry unmarkedKeyEntry;
|
|
|
|
// Token: 0x04006AEA RID: 27370
|
|
[Token(Token = "0x4006AEA")]
|
|
private const int MinIterations = 1024;
|
|
|
|
// Token: 0x04006AEB RID: 27371
|
|
[Token(Token = "0x4006AEB")]
|
|
private const int SaltSize = 20;
|
|
|
|
// Token: 0x02001A70 RID: 6768
|
|
[Token(Token = "0x2001A70")]
|
|
internal class CertId
|
|
{
|
|
// Token: 0x0600A029 RID: 41001 RVA: 0x00212650 File Offset: 0x00210850
|
|
[Token(Token = "0x600A029")]
|
|
[Address(RVA = "0x63E590", Offset = "0x63D590", VA = "0x18063E590")]
|
|
internal CertId(AsymmetricKeyParameter pubKey)
|
|
{
|
|
byte[] keyIdentifier = new SubjectKeyIdentifier(SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(pubKey)).keyIdentifier;
|
|
this.id = keyIdentifier;
|
|
}
|
|
|
|
// Token: 0x0600A02A RID: 41002 RVA: 0x00212684 File Offset: 0x00210884
|
|
[Token(Token = "0x600A02A")]
|
|
[Address(RVA = "0x493D90", Offset = "0x492D90", VA = "0x180493D90")]
|
|
internal CertId(byte[] id)
|
|
{
|
|
this.id = id;
|
|
}
|
|
|
|
// Token: 0x17001999 RID: 6553
|
|
// (get) Token: 0x0600A02B RID: 41003 RVA: 0x002126A0 File Offset: 0x002108A0
|
|
[Token(Token = "0x17001999")]
|
|
internal byte[] Id
|
|
{
|
|
[Token(Token = "0x600A02B")]
|
|
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
|
|
get
|
|
{
|
|
return this.id;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A02C RID: 41004 RVA: 0x002126B4 File Offset: 0x002108B4
|
|
[Token(Token = "0x600A02C")]
|
|
[Address(RVA = "0x63E530", Offset = "0x63D530", VA = "0x18063E530", Slot = "2")]
|
|
public override int GetHashCode()
|
|
{
|
|
return Arrays.GetHashCode(this.id);
|
|
}
|
|
|
|
// Token: 0x0600A02D RID: 41005 RVA: 0x002126CC File Offset: 0x002108CC
|
|
[Token(Token = "0x600A02D")]
|
|
[Address(RVA = "0x63E460", Offset = "0x63D460", VA = "0x18063E460", Slot = "0")]
|
|
public override bool Equals(object obj)
|
|
{
|
|
if (obj != this)
|
|
{
|
|
if (obj != 0 && obj != 0)
|
|
{
|
|
byte[] array = this.id;
|
|
bool flag;
|
|
return flag;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x04006AEC RID: 27372
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006AEC")]
|
|
private readonly byte[] id;
|
|
}
|
|
|
|
// Token: 0x02001A71 RID: 6769
|
|
[Token(Token = "0x2001A71")]
|
|
private class IgnoresCaseHashtable : IEnumerable
|
|
{
|
|
// Token: 0x0600A02E RID: 41006 RVA: 0x002126F4 File Offset: 0x002108F4
|
|
[Token(Token = "0x600A02E")]
|
|
[Address(RVA = "0x63E8F0", Offset = "0x63D8F0", VA = "0x18063E8F0")]
|
|
public void Clear()
|
|
{
|
|
IDictionary dictionary = this.orig;
|
|
IDictionary dictionary2 = this.keys;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A02F RID: 41007 RVA: 0x00212714 File Offset: 0x00210914
|
|
[Token(Token = "0x600A02F")]
|
|
[Address(RVA = "0x63E960", Offset = "0x63D960", VA = "0x18063E960", Slot = "4")]
|
|
public IEnumerator GetEnumerator()
|
|
{
|
|
IDictionary dictionary = this.orig;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x1700199A RID: 6554
|
|
// (get) Token: 0x0600A030 RID: 41008 RVA: 0x00212730 File Offset: 0x00210930
|
|
[Token(Token = "0x1700199A")]
|
|
public ICollection Keys
|
|
{
|
|
[Token(Token = "0x600A030")]
|
|
[Address(RVA = "0x63EC10", Offset = "0x63DC10", VA = "0x18063EC10")]
|
|
get
|
|
{
|
|
IDictionary dictionary = this.orig;
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A031 RID: 41009 RVA: 0x0021274C File Offset: 0x0021094C
|
|
[Token(Token = "0x600A031")]
|
|
[Address(RVA = "0x63E9B0", Offset = "0x63D9B0", VA = "0x18063E9B0")]
|
|
public object Remove(string alias)
|
|
{
|
|
string text;
|
|
do
|
|
{
|
|
text = Platform.ToUpperInvariant(alias);
|
|
IDictionary dictionary = this.keys;
|
|
if (text == 0)
|
|
{
|
|
goto IL_2C;
|
|
}
|
|
}
|
|
while (text == 0);
|
|
IDictionary dictionary2 = this.keys;
|
|
IDictionary dictionary3 = this.orig;
|
|
IDictionary dictionary4 = this.orig;
|
|
IL_2C:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x1700199B RID: 6555
|
|
[Token(Token = "0x1700199B")]
|
|
public object this[string alias]
|
|
{
|
|
[Token(Token = "0x600A032")]
|
|
[Address(RVA = "0x63EB40", Offset = "0x63DB40", VA = "0x18063EB40")]
|
|
get
|
|
{
|
|
string text;
|
|
do
|
|
{
|
|
text = Platform.ToUpperInvariant(alias);
|
|
IDictionary dictionary = this.keys;
|
|
if (text == 0)
|
|
{
|
|
goto IL_1D;
|
|
}
|
|
}
|
|
while (text == 0);
|
|
IDictionary dictionary2 = this.orig;
|
|
IL_1D:
|
|
throw new NullReferenceException();
|
|
}
|
|
[Token(Token = "0x600A033")]
|
|
[Address(RVA = "0x63ECB0", Offset = "0x63DCB0", VA = "0x18063ECB0")]
|
|
set
|
|
{
|
|
string text;
|
|
do
|
|
{
|
|
text = Platform.ToUpperInvariant(alias);
|
|
IDictionary dictionary = this.keys;
|
|
if (text == 0)
|
|
{
|
|
goto IL_1D;
|
|
}
|
|
}
|
|
while (text == 0);
|
|
IDictionary dictionary2 = this.orig;
|
|
IL_1D:
|
|
IDictionary dictionary3 = this.keys;
|
|
IDictionary dictionary4 = this.orig;
|
|
}
|
|
}
|
|
|
|
// Token: 0x1700199C RID: 6556
|
|
// (get) Token: 0x0600A034 RID: 41012 RVA: 0x002127FC File Offset: 0x002109FC
|
|
[Token(Token = "0x1700199C")]
|
|
public ICollection Values
|
|
{
|
|
[Token(Token = "0x600A034")]
|
|
[Address(RVA = "0x63EC60", Offset = "0x63DC60", VA = "0x18063EC60")]
|
|
get
|
|
{
|
|
IDictionary dictionary = this.orig;
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A035 RID: 41013 RVA: 0x00212818 File Offset: 0x00210A18
|
|
[Token(Token = "0x600A035")]
|
|
[Address(RVA = "0x63EAD0", Offset = "0x63DAD0", VA = "0x18063EAD0")]
|
|
public IgnoresCaseHashtable()
|
|
{
|
|
IDictionary dictionary = Platform.CreateHashtable();
|
|
this.orig = dictionary;
|
|
IDictionary dictionary2 = Platform.CreateHashtable();
|
|
this.keys = dictionary2;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x04006AED RID: 27373
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006AED")]
|
|
private readonly IDictionary orig;
|
|
|
|
// Token: 0x04006AEE RID: 27374
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006AEE")]
|
|
private readonly IDictionary keys;
|
|
}
|
|
}
|
|
}
|