oh dear
This commit is contained in:
@@ -0,0 +1,385 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.X509.Store;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Cms
|
||||
{
|
||||
// Token: 0x02001D44 RID: 7492
|
||||
[Token(Token = "0x2001D44")]
|
||||
public class CmsSignedData
|
||||
{
|
||||
// Token: 0x0600BD8F RID: 48527 RVA: 0x002B1DE0 File Offset: 0x002AFFE0
|
||||
[Token(Token = "0x600BD8F")]
|
||||
[Address(RVA = "0x166D940", Offset = "0x166C740", VA = "0x18166D940")]
|
||||
private CmsSignedData(CmsSignedData c)
|
||||
{
|
||||
SignedData signedData = c.signedData;
|
||||
this.signedData = signedData;
|
||||
ContentInfo contentInfo = c.contentInfo;
|
||||
this.contentInfo = contentInfo;
|
||||
CmsProcessable cmsProcessable = c.signedContent;
|
||||
this.signedContent = cmsProcessable;
|
||||
SignerInformationStore signerInformationStore = c.signerInfoStore;
|
||||
this.signerInfoStore = signerInformationStore;
|
||||
}
|
||||
|
||||
// Token: 0x0600BD90 RID: 48528 RVA: 0x002B1E34 File Offset: 0x002B0034
|
||||
[Token(Token = "0x600BD90")]
|
||||
[Address(RVA = "0x166D990", Offset = "0x166C790", VA = "0x18166D990")]
|
||||
public CmsSignedData(byte[] sigBlock)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(sigBlock, num != 0);
|
||||
num = 0;
|
||||
ContentInfo contentInfo = CmsUtilities.ReadContentInfo(memoryStream);
|
||||
}
|
||||
|
||||
// Token: 0x0600BD91 RID: 48529 RVA: 0x002B1E54 File Offset: 0x002B0054
|
||||
[Token(Token = "0x600BD91")]
|
||||
[Address(RVA = "0x166D810", Offset = "0x166C610", VA = "0x18166D810")]
|
||||
public CmsSignedData(CmsProcessable signedContent, byte[] sigBlock)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(sigBlock, num != 0);
|
||||
num = 0;
|
||||
ContentInfo contentInfo = CmsUtilities.ReadContentInfo(memoryStream);
|
||||
}
|
||||
|
||||
// Token: 0x0600BD92 RID: 48530 RVA: 0x002B1E74 File Offset: 0x002B0074
|
||||
[Token(Token = "0x600BD92")]
|
||||
[Address(RVA = "0x166D8A0", Offset = "0x166C6A0", VA = "0x18166D8A0")]
|
||||
public CmsSignedData(IDictionary hashes, byte[] sigBlock)
|
||||
{
|
||||
ContentInfo contentInfo = CmsUtilities.ReadContentInfo(sigBlock);
|
||||
base..ctor();
|
||||
this.hashes = hashes;
|
||||
this.contentInfo = contentInfo;
|
||||
SignedData instance = SignedData.GetInstance(contentInfo.content);
|
||||
this.signedData = instance;
|
||||
}
|
||||
|
||||
// Token: 0x0600BD93 RID: 48531 RVA: 0x002B1EB8 File Offset: 0x002B00B8
|
||||
[Token(Token = "0x600BD93")]
|
||||
[Address(RVA = "0x166D680", Offset = "0x166C480", VA = "0x18166D680")]
|
||||
public CmsSignedData(CmsProcessable signedContent, Stream sigData)
|
||||
{
|
||||
ContentInfo contentInfo = CmsUtilities.ReadContentInfo(sigData);
|
||||
}
|
||||
|
||||
// Token: 0x0600BD94 RID: 48532 RVA: 0x002B1ECC File Offset: 0x002B00CC
|
||||
[Token(Token = "0x600BD94")]
|
||||
[Address(RVA = "0x166D6C0", Offset = "0x166C4C0", VA = "0x18166D6C0")]
|
||||
public CmsSignedData(Stream sigData)
|
||||
{
|
||||
ContentInfo contentInfo = CmsUtilities.ReadContentInfo(sigData);
|
||||
}
|
||||
|
||||
// Token: 0x0600BD95 RID: 48533 RVA: 0x002B1EE0 File Offset: 0x002B00E0
|
||||
[Token(Token = "0x600BD95")]
|
||||
[Address(RVA = "0x166D6F0", Offset = "0x166C4F0", VA = "0x18166D6F0")]
|
||||
public CmsSignedData(CmsProcessable signedContent, ContentInfo sigData)
|
||||
{
|
||||
this.signedContent = signedContent;
|
||||
this.contentInfo = sigData;
|
||||
SignedData instance = SignedData.GetInstance(sigData.content);
|
||||
this.signedData = instance;
|
||||
}
|
||||
|
||||
// Token: 0x0600BD96 RID: 48534 RVA: 0x002B1F1C File Offset: 0x002B011C
|
||||
[Token(Token = "0x600BD96")]
|
||||
[Address(RVA = "0x166D780", Offset = "0x166C580", VA = "0x18166D780")]
|
||||
public CmsSignedData(IDictionary hashes, ContentInfo sigData)
|
||||
{
|
||||
this.hashes = hashes;
|
||||
this.contentInfo = sigData;
|
||||
SignedData instance = SignedData.GetInstance(sigData.content);
|
||||
this.signedData = instance;
|
||||
}
|
||||
|
||||
// Token: 0x0600BD97 RID: 48535 RVA: 0x002B1F58 File Offset: 0x002B0158
|
||||
[Token(Token = "0x600BD97")]
|
||||
[Address(RVA = "0x166DA10", Offset = "0x166C810", VA = "0x18166DA10")]
|
||||
public CmsSignedData(ContentInfo sigData)
|
||||
{
|
||||
Asn1Encodable content;
|
||||
do
|
||||
{
|
||||
base..ctor();
|
||||
this.contentInfo = sigData;
|
||||
SignedData instance = SignedData.GetInstance(sigData.content);
|
||||
this.signedData = instance;
|
||||
content = instance.contentInfo.content;
|
||||
if (content == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
while (content == 0 || content == 0);
|
||||
CmsProcessableByteArray cmsProcessableByteArray;
|
||||
this.signedContent = cmsProcessableByteArray;
|
||||
}
|
||||
|
||||
// Token: 0x17001D61 RID: 7521
|
||||
// (get) Token: 0x0600BD98 RID: 48536 RVA: 0x002B1FB0 File Offset: 0x002B01B0
|
||||
[Token(Token = "0x17001D61")]
|
||||
public int Version
|
||||
{
|
||||
[Token(Token = "0x600BD98")]
|
||||
[Address(RVA = "0x166DBE0", Offset = "0x166C9E0", VA = "0x18166DBE0")]
|
||||
get
|
||||
{
|
||||
return this.signedData.version.Value.IntValue;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BD99 RID: 48537 RVA: 0x002B1FD8 File Offset: 0x002B01D8
|
||||
[Token(Token = "0x600BD99")]
|
||||
[Address(RVA = "0x166C8B0", Offset = "0x166B6B0", VA = "0x18166C8B0")]
|
||||
public SignerInformationStore GetSignerInfos()
|
||||
{
|
||||
SignerInformationStore signerInformationStore;
|
||||
IList list;
|
||||
int num5;
|
||||
do
|
||||
{
|
||||
int num = 0;
|
||||
signerInformationStore = this.signerInfoStore;
|
||||
if (signerInformationStore != 0)
|
||||
{
|
||||
return signerInformationStore;
|
||||
}
|
||||
list = Platform.CreateArrayList();
|
||||
IEnumerator enumerator = this.signedData.signerInfos.GetEnumerator();
|
||||
int num4;
|
||||
if (enumerator != 0)
|
||||
{
|
||||
if (num < enumerator)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
DerObjectIdentifier contentType = this.signedData.contentInfo.contentType;
|
||||
SignerInfo signerInfo;
|
||||
if (this.hashes != 0)
|
||||
{
|
||||
Asn1Object asn1Object = signerInfo.digAlgorithm.ToAsn1Object();
|
||||
BaseDigestCalculator baseDigestCalculator;
|
||||
baseDigestCalculator.digest = asn1Object;
|
||||
int num2;
|
||||
SignerInformation signerInformation = new SignerInformation(signerInfo, contentType, num2, baseDigestCalculator);
|
||||
int num3 = 0;
|
||||
num2 = 0;
|
||||
num3++;
|
||||
num3 += 19;
|
||||
}
|
||||
CmsProcessable cmsProcessable = this.signedContent;
|
||||
SignerInformation signerInformation2 = new SignerInformation(signerInfo, contentType, cmsProcessable, num4);
|
||||
num4 = 0;
|
||||
num5 = 0;
|
||||
}
|
||||
if (num4 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num5 != 0);
|
||||
SignerInformationStore signerInformationStore2 = new SignerInformationStore(list);
|
||||
this.signerInfoStore = signerInformationStore2;
|
||||
return signerInformationStore;
|
||||
}
|
||||
|
||||
// Token: 0x0600BD9A RID: 48538 RVA: 0x002B20F0 File Offset: 0x002B02F0
|
||||
[Token(Token = "0x600BD9A")]
|
||||
[Address(RVA = "0x166C6B0", Offset = "0x166B4B0", VA = "0x18166C6B0")]
|
||||
public IX509Store GetAttributeCertificates(string type)
|
||||
{
|
||||
IX509Store ix509Store = this.attrCertStore;
|
||||
if (ix509Store == 0)
|
||||
{
|
||||
CmsSignedHelper helper = CmsSignedData.Helper;
|
||||
Asn1Set certificates = this.signedData.certificates;
|
||||
IX509Store ix509Store2 = helper.CreateAttributeStore(type, certificates);
|
||||
this.attrCertStore = ix509Store2;
|
||||
}
|
||||
return ix509Store;
|
||||
}
|
||||
|
||||
// Token: 0x0600BD9B RID: 48539 RVA: 0x002B2134 File Offset: 0x002B0334
|
||||
[Token(Token = "0x600BD9B")]
|
||||
[Address(RVA = "0x166C750", Offset = "0x166B550", VA = "0x18166C750")]
|
||||
public IX509Store GetCertificates(string type)
|
||||
{
|
||||
IX509Store ix509Store = this.certificateStore;
|
||||
if (ix509Store == 0)
|
||||
{
|
||||
CmsSignedHelper helper = CmsSignedData.Helper;
|
||||
Asn1Set certificates = this.signedData.certificates;
|
||||
IX509Store ix509Store2 = helper.CreateCertificateStore(type, certificates);
|
||||
this.certificateStore = ix509Store2;
|
||||
}
|
||||
return ix509Store;
|
||||
}
|
||||
|
||||
// Token: 0x0600BD9C RID: 48540 RVA: 0x002B2178 File Offset: 0x002B0378
|
||||
[Token(Token = "0x600BD9C")]
|
||||
[Address(RVA = "0x166C7F0", Offset = "0x166B5F0", VA = "0x18166C7F0")]
|
||||
public IX509Store GetCrls(string type)
|
||||
{
|
||||
IX509Store ix509Store = this.crlStore;
|
||||
if (ix509Store == 0)
|
||||
{
|
||||
CmsSignedHelper helper = CmsSignedData.Helper;
|
||||
Asn1Set crls = this.signedData.crls;
|
||||
IX509Store ix509Store2 = helper.CreateCrlStore(type, crls);
|
||||
this.crlStore = ix509Store2;
|
||||
}
|
||||
return ix509Store;
|
||||
}
|
||||
|
||||
// Token: 0x17001D62 RID: 7522
|
||||
// (get) Token: 0x0600BD9D RID: 48541 RVA: 0x002B21BC File Offset: 0x002B03BC
|
||||
[Token(Token = "0x17001D62")]
|
||||
[Obsolete]
|
||||
public string SignedContentTypeOid
|
||||
{
|
||||
[Token(Token = "0x600BD9D")]
|
||||
[Address(RVA = "0x166DB80", Offset = "0x166C980", VA = "0x18166DB80")]
|
||||
get
|
||||
{
|
||||
return this.signedData.contentInfo.contentType.identifier;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001D63 RID: 7523
|
||||
// (get) Token: 0x0600BD9E RID: 48542 RVA: 0x002B21E4 File Offset: 0x002B03E4
|
||||
[Token(Token = "0x17001D63")]
|
||||
public DerObjectIdentifier SignedContentType
|
||||
{
|
||||
[Token(Token = "0x600BD9E")]
|
||||
[Address(RVA = "0x166DBB0", Offset = "0x166C9B0", VA = "0x18166DBB0")]
|
||||
get
|
||||
{
|
||||
return this.signedData.contentInfo.contentType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001D64 RID: 7524
|
||||
// (get) Token: 0x0600BD9F RID: 48543 RVA: 0x002B2208 File Offset: 0x002B0408
|
||||
[Token(Token = "0x17001D64")]
|
||||
public CmsProcessable SignedContent
|
||||
{
|
||||
[Token(Token = "0x600BD9F")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
|
||||
get
|
||||
{
|
||||
return this.signedContent;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001D65 RID: 7525
|
||||
// (get) Token: 0x0600BDA0 RID: 48544 RVA: 0x002B221C File Offset: 0x002B041C
|
||||
[Token(Token = "0x17001D65")]
|
||||
public ContentInfo ContentInfo
|
||||
{
|
||||
[Token(Token = "0x600BDA0")]
|
||||
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")]
|
||||
get
|
||||
{
|
||||
return this.contentInfo;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BDA1 RID: 48545 RVA: 0x002B2230 File Offset: 0x002B0430
|
||||
[Token(Token = "0x600BDA1")]
|
||||
[Address(RVA = "0x166C890", Offset = "0x166B690", VA = "0x18166C890")]
|
||||
public byte[] GetEncoded()
|
||||
{
|
||||
return this.contentInfo.GetEncoded();
|
||||
}
|
||||
|
||||
// Token: 0x0600BDA2 RID: 48546 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600BDA2")]
|
||||
[Address(RVA = "0x166CEC0", Offset = "0x166BCC0", VA = "0x18166CEC0")]
|
||||
public static CmsSignedData ReplaceSigners(CmsSignedData signedData, SignerInformationStore signerInformationStore)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600BDA3 RID: 48547 RVA: 0x002B2250 File Offset: 0x002B0450
|
||||
[Token(Token = "0x600BDA3")]
|
||||
[Address(RVA = "0x166CC30", Offset = "0x166BA30", VA = "0x18166CC30")]
|
||||
public static CmsSignedData ReplaceCertificatesAndCrls(CmsSignedData signedData, IX509Store x509Certs, IX509Store x509Crls, IX509Store x509AttrCerts)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BDA3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Cms.CmsSignedData BestHTTP.SecureProtocol.Org.BouncyCastle.Cms.CmsSignedData::ReplaceCertificatesAndCrls(BestHTTP.SecureProtocol.Org.BouncyCastle.Cms.CmsSignedData,BestHTTP.SecureProtocol.Org.BouncyCastle.X509.Store.IX509Store,BestHTTP.SecureProtocol.Org.BouncyCastle.X509.Store.IX509Store,BestHTTP.SecureProtocol.Org.BouncyCastle.X509.Store.IX509Store)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_B5:
|
||||
stloc:Exception(var_16_BF, call:Exception(Platform::CreateNotImplementedException, ldstr:string("Currently can't replace attribute certificates")))
|
||||
}
|
||||
|
||||
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: 0x040078B3 RID: 30899
|
||||
[Token(Token = "0x40078B3")]
|
||||
private static readonly CmsSignedHelper Helper = CmsSignedHelper.Instance;
|
||||
|
||||
// Token: 0x040078B4 RID: 30900
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40078B4")]
|
||||
private readonly CmsProcessable signedContent;
|
||||
|
||||
// Token: 0x040078B5 RID: 30901
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40078B5")]
|
||||
private SignedData signedData;
|
||||
|
||||
// Token: 0x040078B6 RID: 30902
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40078B6")]
|
||||
private ContentInfo contentInfo;
|
||||
|
||||
// Token: 0x040078B7 RID: 30903
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40078B7")]
|
||||
private SignerInformationStore signerInfoStore;
|
||||
|
||||
// Token: 0x040078B8 RID: 30904
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40078B8")]
|
||||
private IX509Store attrCertStore;
|
||||
|
||||
// Token: 0x040078B9 RID: 30905
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40078B9")]
|
||||
private IX509Store certificateStore;
|
||||
|
||||
// Token: 0x040078BA RID: 30906
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40078BA")]
|
||||
private IX509Store crlStore;
|
||||
|
||||
// Token: 0x040078BB RID: 30907
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x40078BB")]
|
||||
private IDictionary hashes;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user