737 lines
35 KiB
C#
737 lines
35 KiB
C#
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.Asn1.X509;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.X509;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Cms
|
|
{
|
|
// Token: 0x02001D6C RID: 7532
|
|
[Token(Token = "0x2001D6C")]
|
|
public class SignerInformation
|
|
{
|
|
// Token: 0x0600BEAC RID: 48812 RVA: 0x002B6FF0 File Offset: 0x002B51F0
|
|
[Token(Token = "0x600BEAC")]
|
|
[Address(RVA = "0x2017FB0", Offset = "0x2016DB0", VA = "0x182017FB0")]
|
|
internal SignerInformation(SignerInfo info, DerObjectIdentifier contentType, CmsProcessable content, IDigestCalculator digestCalculator)
|
|
{
|
|
this.info = info;
|
|
SignerID signerID = new SignerID();
|
|
this.sid = signerID;
|
|
this.contentType = contentType;
|
|
bool flag = contentType == 0;
|
|
this.isCounterSignature = flag;
|
|
SignerIdentifier signerIdentifier = info.sid;
|
|
if (!signerIdentifier.IsTagged)
|
|
{
|
|
IssuerAndSerialNumber instance = IssuerAndSerialNumber.GetInstance(signerIdentifier.ID);
|
|
SignerID signerID2 = this.sid;
|
|
X509Name name = instance.name;
|
|
signerID2.issuer = name;
|
|
SignerID signerID3 = this.sid;
|
|
BigInteger value = instance.serialNumber.Value;
|
|
signerID3.serialNumber = value;
|
|
}
|
|
Asn1OctetString instance2 = Asn1OctetString.GetInstance(signerIdentifier.ID);
|
|
SignerID signerID4 = this.sid;
|
|
byte[] encoded = instance2.GetEncoded();
|
|
signerID4.SubjectKeyIdentifier = encoded;
|
|
AlgorithmIdentifier digAlgorithm = info.digAlgorithm;
|
|
this.digestAlgorithm = digAlgorithm;
|
|
Asn1Set authenticatedAttributes = info.authenticatedAttributes;
|
|
this.signedAttributeSet = authenticatedAttributes;
|
|
Asn1Set unauthenticatedAttributes = info.unauthenticatedAttributes;
|
|
this.unsignedAttributeSet = unauthenticatedAttributes;
|
|
AlgorithmIdentifier digEncryptionAlgorithm = info.digEncryptionAlgorithm;
|
|
this.encryptionAlgorithm = digEncryptionAlgorithm;
|
|
Stream octetStream = info.encryptedDigest.GetOctetStream();
|
|
this.signature = octetStream;
|
|
this.content = content;
|
|
this.digestCalculator = octetStream;
|
|
}
|
|
|
|
// Token: 0x0600BEAD RID: 48813 RVA: 0x002B714C File Offset: 0x002B534C
|
|
[Token(Token = "0x600BEAD")]
|
|
[Address(RVA = "0x2017EF0", Offset = "0x2016CF0", VA = "0x182017EF0")]
|
|
protected SignerInformation(SignerInformation baseInfo)
|
|
{
|
|
SignerInfo signerInfo = baseInfo.info;
|
|
this.info = signerInfo;
|
|
DerObjectIdentifier derObjectIdentifier = baseInfo.contentType;
|
|
this.contentType = derObjectIdentifier;
|
|
bool flag = baseInfo.isCounterSignature;
|
|
this.isCounterSignature = flag;
|
|
SignerID signerID = baseInfo.sid;
|
|
this.sid = signerID;
|
|
AlgorithmIdentifier digAlgorithm = signerInfo.digAlgorithm;
|
|
this.digestAlgorithm = digAlgorithm;
|
|
Asn1Set authenticatedAttributes = signerInfo.authenticatedAttributes;
|
|
this.signedAttributeSet = authenticatedAttributes;
|
|
Asn1Set unauthenticatedAttributes = signerInfo.unauthenticatedAttributes;
|
|
this.unsignedAttributeSet = unauthenticatedAttributes;
|
|
AlgorithmIdentifier digEncryptionAlgorithm = signerInfo.digEncryptionAlgorithm;
|
|
this.encryptionAlgorithm = digEncryptionAlgorithm;
|
|
Stream octetStream = signerInfo.encryptedDigest.GetOctetStream();
|
|
this.signature = octetStream;
|
|
CmsProcessable cmsProcessable = baseInfo.content;
|
|
this.content = cmsProcessable;
|
|
byte[] array = baseInfo.resultDigest;
|
|
this.resultDigest = array;
|
|
BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable attributeTable = baseInfo.signedAttributeTable;
|
|
this.signedAttributeTable = attributeTable;
|
|
BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable attributeTable2 = baseInfo.unsignedAttributeTable;
|
|
this.unsignedAttributeTable = attributeTable2;
|
|
}
|
|
|
|
// Token: 0x17001D87 RID: 7559
|
|
// (get) Token: 0x0600BEAE RID: 48814 RVA: 0x002B7234 File Offset: 0x002B5434
|
|
[Token(Token = "0x17001D87")]
|
|
public bool IsCounterSignature
|
|
{
|
|
[Token(Token = "0x600BEAE")]
|
|
[Address(RVA = "0x7C9360", Offset = "0x7C8160", VA = "0x1807C9360")]
|
|
get
|
|
{
|
|
return this.isCounterSignature;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001D88 RID: 7560
|
|
// (get) Token: 0x0600BEAF RID: 48815 RVA: 0x002B7248 File Offset: 0x002B5448
|
|
[Token(Token = "0x17001D88")]
|
|
public DerObjectIdentifier ContentType
|
|
{
|
|
[Token(Token = "0x600BEAF")]
|
|
[Address(RVA = "0x415290", Offset = "0x414090", VA = "0x180415290")]
|
|
get
|
|
{
|
|
return this.contentType;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001D89 RID: 7561
|
|
// (get) Token: 0x0600BEB0 RID: 48816 RVA: 0x002B725C File Offset: 0x002B545C
|
|
[Token(Token = "0x17001D89")]
|
|
public SignerID SignerID
|
|
{
|
|
[Token(Token = "0x600BEB0")]
|
|
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
|
|
get
|
|
{
|
|
return this.sid;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001D8A RID: 7562
|
|
// (get) Token: 0x0600BEB1 RID: 48817 RVA: 0x002B7270 File Offset: 0x002B5470
|
|
[Token(Token = "0x17001D8A")]
|
|
public int Version
|
|
{
|
|
[Token(Token = "0x600BEB1")]
|
|
[Address(RVA = "0x166DBE0", Offset = "0x166C9E0", VA = "0x18166DBE0")]
|
|
get
|
|
{
|
|
return this.info.version.Value.IntValue;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001D8B RID: 7563
|
|
// (get) Token: 0x0600BEB2 RID: 48818 RVA: 0x002B7298 File Offset: 0x002B5498
|
|
[Token(Token = "0x17001D8B")]
|
|
public AlgorithmIdentifier DigestAlgorithmID
|
|
{
|
|
[Token(Token = "0x600BEB2")]
|
|
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")]
|
|
get
|
|
{
|
|
return this.digestAlgorithm;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001D8C RID: 7564
|
|
// (get) Token: 0x0600BEB3 RID: 48819 RVA: 0x002B72AC File Offset: 0x002B54AC
|
|
[Token(Token = "0x17001D8C")]
|
|
public string DigestAlgOid
|
|
{
|
|
[Token(Token = "0x600BEB3")]
|
|
[Address(RVA = "0x1661330", Offset = "0x1660130", VA = "0x181661330")]
|
|
get
|
|
{
|
|
Asn1Object asn1Object = this.digestAlgorithm.ToAsn1Object();
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001D8D RID: 7565
|
|
// (get) Token: 0x0600BEB4 RID: 48820 RVA: 0x002B72CC File Offset: 0x002B54CC
|
|
[Token(Token = "0x17001D8D")]
|
|
public Asn1Object DigestAlgParams
|
|
{
|
|
[Token(Token = "0x600BEB4")]
|
|
[Address(RVA = "0x20181C0", Offset = "0x2016FC0", VA = "0x1820181C0")]
|
|
get
|
|
{
|
|
DerObjectIdentifier objectID = this.digestAlgorithm.ObjectID;
|
|
if (objectID == 0)
|
|
{
|
|
}
|
|
return objectID.ToAsn1Object();
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600BEB5 RID: 48821 RVA: 0x002B72F8 File Offset: 0x002B54F8
|
|
[Token(Token = "0x600BEB5")]
|
|
[Address(RVA = "0x2016BB0", Offset = "0x20159B0", VA = "0x182016BB0")]
|
|
public byte[] GetContentDigest()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600BEB5)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Cms.SignerInformation::GetContentDigest()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_09:
|
|
stloc:InvalidOperationException(var_0_13, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("method can only be called after verify.")))
|
|
}
|
|
|
|
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: 0x17001D8E RID: 7566
|
|
// (get) Token: 0x0600BEB6 RID: 48822 RVA: 0x002B7318 File Offset: 0x002B5518
|
|
[Token(Token = "0x17001D8E")]
|
|
public AlgorithmIdentifier EncryptionAlgorithmID
|
|
{
|
|
[Token(Token = "0x600BEB6")]
|
|
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")]
|
|
get
|
|
{
|
|
return this.encryptionAlgorithm;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001D8F RID: 7567
|
|
// (get) Token: 0x0600BEB7 RID: 48823 RVA: 0x002B732C File Offset: 0x002B552C
|
|
[Token(Token = "0x17001D8F")]
|
|
public string EncryptionAlgOid
|
|
{
|
|
[Token(Token = "0x600BEB7")]
|
|
[Address(RVA = "0x2018210", Offset = "0x2017010", VA = "0x182018210")]
|
|
get
|
|
{
|
|
Asn1Object asn1Object = this.encryptionAlgorithm.ToAsn1Object();
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001D90 RID: 7568
|
|
// (get) Token: 0x0600BEB8 RID: 48824 RVA: 0x002B734C File Offset: 0x002B554C
|
|
[Token(Token = "0x17001D90")]
|
|
public Asn1Object EncryptionAlgParams
|
|
{
|
|
[Token(Token = "0x600BEB8")]
|
|
[Address(RVA = "0x2018250", Offset = "0x2017050", VA = "0x182018250")]
|
|
get
|
|
{
|
|
DerObjectIdentifier objectID = this.encryptionAlgorithm.ObjectID;
|
|
if (objectID == 0)
|
|
{
|
|
}
|
|
return objectID.ToAsn1Object();
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001D91 RID: 7569
|
|
// (get) Token: 0x0600BEB9 RID: 48825 RVA: 0x002B7378 File Offset: 0x002B5578
|
|
[Token(Token = "0x17001D91")]
|
|
public BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable SignedAttributes
|
|
{
|
|
[Token(Token = "0x600BEB9")]
|
|
[Address(RVA = "0x20182A0", Offset = "0x20170A0", VA = "0x1820182A0")]
|
|
get
|
|
{
|
|
Asn1Set asn1Set = this.signedAttributeSet;
|
|
if (asn1Set != 0 && this.signedAttributeTable == (ulong)0L)
|
|
{
|
|
BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable attributeTable = new BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable(asn1Set);
|
|
this.signedAttributeTable = attributeTable;
|
|
return attributeTable;
|
|
}
|
|
return this.signedAttributeTable;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001D92 RID: 7570
|
|
// (get) Token: 0x0600BEBA RID: 48826 RVA: 0x002B73B4 File Offset: 0x002B55B4
|
|
[Token(Token = "0x17001D92")]
|
|
public BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable UnsignedAttributes
|
|
{
|
|
[Token(Token = "0x600BEBA")]
|
|
[Address(RVA = "0x2018320", Offset = "0x2017120", VA = "0x182018320")]
|
|
get
|
|
{
|
|
Asn1Set asn1Set = this.unsignedAttributeSet;
|
|
if (asn1Set != 0 && this.unsignedAttributeTable == (ulong)0L)
|
|
{
|
|
BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable attributeTable = new BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable(asn1Set);
|
|
this.unsignedAttributeTable = attributeTable;
|
|
return attributeTable;
|
|
}
|
|
return this.unsignedAttributeTable;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600BEBB RID: 48827 RVA: 0x002B73F0 File Offset: 0x002B55F0
|
|
[Token(Token = "0x600BEBB")]
|
|
[Address(RVA = "0x2017200", Offset = "0x2016000", VA = "0x182017200")]
|
|
public byte[] GetSignature()
|
|
{
|
|
byte[] array = this.signature;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600BEBC RID: 48828 RVA: 0x002B740C File Offset: 0x002B560C
|
|
[Token(Token = "0x600BEBC")]
|
|
[Address(RVA = "0x2016C60", Offset = "0x2015A60", VA = "0x182016C60")]
|
|
public SignerInformationStore GetCounterSignatures()
|
|
{
|
|
IList list;
|
|
SignerInformation signerInformation;
|
|
do
|
|
{
|
|
BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable unsignedAttributes = this.UnsignedAttributes;
|
|
if (unsignedAttributes == 0)
|
|
{
|
|
goto IL_AB;
|
|
}
|
|
list = Platform.CreateArrayList();
|
|
DerObjectIdentifier counterSignature = CmsAttributes.CounterSignature;
|
|
IEnumerator enumerator = unsignedAttributes.GetAll(counterSignature).GetEnumerator();
|
|
if (enumerator != 0)
|
|
{
|
|
if (enumerator == 0 || enumerator == 0)
|
|
{
|
|
goto IL_E7;
|
|
}
|
|
CmsSignedHelper instance = CmsSignedHelper.Instance;
|
|
SignerInfo signerInfo;
|
|
Asn1Object asn1Object = signerInfo.digAlgorithm.ToAsn1Object();
|
|
CounterSignatureDigestCalculator counterSignatureDigestCalculator;
|
|
string text;
|
|
counterSignatureDigestCalculator.alg = text;
|
|
byte[] array;
|
|
counterSignatureDigestCalculator.data = array;
|
|
int num;
|
|
int num2;
|
|
signerInformation = new SignerInformation(signerInfo, num, num2, counterSignatureDigestCalculator);
|
|
num2 = 0;
|
|
num = 0;
|
|
if ((uint)(-1) != 0U)
|
|
{
|
|
}
|
|
if (signerInformation != 0)
|
|
{
|
|
goto IL_E1;
|
|
}
|
|
while ((ulong)((uint)(-1)) == (ulong)(-1L))
|
|
{
|
|
}
|
|
}
|
|
if ((uint)(-1) != 0U)
|
|
{
|
|
}
|
|
}
|
|
while (signerInformation != 0);
|
|
SignerInformationStore signerInformationStore = new SignerInformationStore(list);
|
|
IL_AB:
|
|
return new SignerInformationStore(Platform.CreateArrayList(0));
|
|
IL_E1:
|
|
throw new NullReferenceException();
|
|
IL_E7:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600BEBD RID: 48829 RVA: 0x002B750C File Offset: 0x002B570C
|
|
[Token(Token = "0x600BEBD")]
|
|
[Address(RVA = "0x20171B0", Offset = "0x2015FB0", VA = "0x1820171B0")]
|
|
public byte[] GetEncodedSignedAttributes()
|
|
{
|
|
Asn1Set asn1Set = this.signedAttributeSet;
|
|
if (asn1Set == 0)
|
|
{
|
|
}
|
|
return asn1Set.GetEncoded("DER");
|
|
}
|
|
|
|
// Token: 0x0600BEBE RID: 48830 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x600BEBE")]
|
|
[Address(RVA = "0x2015CC0", Offset = "0x2014AC0", VA = "0x182015CC0")]
|
|
private bool DoVerify(AsymmetricKeyParameter key)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600BEBF RID: 48831 RVA: 0x002B7534 File Offset: 0x002B5734
|
|
[Token(Token = "0x600BEBF")]
|
|
[Address(RVA = "0x20175B0", Offset = "0x20163B0", VA = "0x1820175B0")]
|
|
private bool IsNull(Asn1Encodable o)
|
|
{
|
|
return (o != 0 && o != 0) || o == 0;
|
|
}
|
|
|
|
// Token: 0x0600BEC0 RID: 48832 RVA: 0x002B7554 File Offset: 0x002B5754
|
|
[Token(Token = "0x600BEC0")]
|
|
[Address(RVA = "0x2015BC0", Offset = "0x20149C0", VA = "0x182015BC0")]
|
|
private DigestInfo DerDecode(byte[] encoding)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600BEC0)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509.DigestInfo BestHTTP.SecureProtocol.Org.BouncyCastle.Cms.SignerInformation::DerDecode(System.Byte[])
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_36:
|
|
stloc:CmsException(var_3_40, newobj:CmsException(CmsException::.ctor, ldstr:string("malformed RSA signature")))
|
|
}
|
|
|
|
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: 0x0600BEC1 RID: 48833 RVA: 0x002B75A4 File Offset: 0x002B57A4
|
|
[Token(Token = "0x600BEC1")]
|
|
[Address(RVA = "0x2017780", Offset = "0x2016580", VA = "0x182017780")]
|
|
private bool VerifyDigest(byte[] digest, AsymmetricKeyParameter key, byte[] signature)
|
|
{
|
|
CmsSignedHelper helper = SignerInformation.Helper;
|
|
Asn1Object asn1Object = this.encryptionAlgorithm.ToAsn1Object();
|
|
string text;
|
|
if (!text.Equals("RSA"))
|
|
{
|
|
if (!text.Equals("DSA"))
|
|
{
|
|
string text2;
|
|
CmsException ex = new CmsException(text2);
|
|
throw new NullReferenceException();
|
|
}
|
|
ISigner signer = SignerUtilities.GetSigner("NONEwithDSA");
|
|
int length = digest.Length;
|
|
}
|
|
IBufferedCipher bufferedCipher = CmsEnvelopedHelper.Instance.CreateAsymmetricCipher("RSA/ECB/PKCS1Padding");
|
|
int num = 0;
|
|
if (num < bufferedCipher)
|
|
{
|
|
num += num;
|
|
num++;
|
|
}
|
|
Asn1Object asn1Object2;
|
|
DigestInfo instance = DigestInfo.GetInstance(asn1Object2);
|
|
if (instance.GetEncoded().Length == instance)
|
|
{
|
|
Asn1Object asn1Object3 = instance.algID.ToAsn1Object();
|
|
if (this.digestAlgorithm.ToAsn1Object() != 0)
|
|
{
|
|
DerObjectIdentifier objectID = instance.algID.ObjectID;
|
|
if (objectID == 0 || objectID != 0 || objectID == 0)
|
|
{
|
|
byte[] digest2 = instance.digest;
|
|
bool flag = Arrays.ConstantTimeAreEqual(digest, digest2);
|
|
}
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
CmsException ex2 = new CmsException("malformed RSA signature");
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600BEC2 RID: 48834 RVA: 0x002B7704 File Offset: 0x002B5904
|
|
[Token(Token = "0x600BEC2")]
|
|
[Address(RVA = "0x2017DE0", Offset = "0x2016BE0", VA = "0x182017DE0")]
|
|
public bool Verify(AsymmetricKeyParameter pubKey)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600BEC2)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Cms.SignerInformation::Verify(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_1E:
|
|
stloc:ArgumentException(var_1_2D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Expected public key"), 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.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: 0x0600BEC3 RID: 48835 RVA: 0x002B7740 File Offset: 0x002B5940
|
|
[Token(Token = "0x600BEC3")]
|
|
[Address(RVA = "0x2017D60", Offset = "0x2016B60", VA = "0x182017D60")]
|
|
public bool Verify(X509Certificate cert)
|
|
{
|
|
BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.Time signingTime = this.GetSigningTime();
|
|
if (signingTime != 0)
|
|
{
|
|
DateTime date = signingTime.Date;
|
|
}
|
|
bool flag;
|
|
return flag;
|
|
}
|
|
|
|
// Token: 0x0600BEC4 RID: 48836 RVA: 0x002B7768 File Offset: 0x002B5968
|
|
[Token(Token = "0x600BEC4")]
|
|
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
|
|
public SignerInfo ToSignerInfo()
|
|
{
|
|
return this.info;
|
|
}
|
|
|
|
// Token: 0x0600BEC5 RID: 48837 RVA: 0x002B777C File Offset: 0x002B597C
|
|
[Token(Token = "0x600BEC5")]
|
|
[Address(RVA = "0x2017360", Offset = "0x2016160", VA = "0x182017360")]
|
|
private Asn1Object GetSingleValuedSignedAttribute(DerObjectIdentifier attrOID, string printableName)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600BEC5)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Asn1Object BestHTTP.SecureProtocol.Org.BouncyCastle.Cms.SignerInformation::GetSingleValuedSignedAttribute(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerObjectIdentifier,System.String)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_4D:
|
|
stloc:CmsException(var_10_57, newobj:CmsException(CmsException::.ctor, ldloc:string(var_9)))
|
|
stloc:CmsException(var_12_60, newobj:CmsException(CmsException::.ctor, ldloc:string(var_11)))
|
|
}
|
|
|
|
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: 0x0600BEC6 RID: 48838 RVA: 0x002B77EC File Offset: 0x002B59EC
|
|
[Token(Token = "0x600BEC6")]
|
|
[Address(RVA = "0x2017280", Offset = "0x2016080", VA = "0x182017280")]
|
|
private BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.Time GetSigningTime()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600BEC6)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.Time BestHTTP.SecureProtocol.Org.BouncyCastle.Cms.SignerInformation::GetSigningTime()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_1E:
|
|
stloc:CmsException(var_2_28, newobj:CmsException(CmsException::.ctor, ldstr:string("signing-time attribute value not a valid 'Time' structure")))
|
|
}
|
|
|
|
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: 0x0600BEC7 RID: 48839 RVA: 0x002B7824 File Offset: 0x002B5A24
|
|
[Token(Token = "0x600BEC7")]
|
|
[Address(RVA = "0x2017630", Offset = "0x2016430", VA = "0x182017630")]
|
|
public static SignerInformation ReplaceUnsignedAttributes(SignerInformation signerInformation, BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable unsignedAttributes)
|
|
{
|
|
SignerInfo signerInfo = signerInformation.info;
|
|
int num = 0;
|
|
if (unsignedAttributes != 0)
|
|
{
|
|
DerSet derSet = new DerSet(unsignedAttributes.ToAsn1EncodableVector());
|
|
}
|
|
Asn1OctetString encryptedDigest = signerInfo.encryptedDigest;
|
|
AlgorithmIdentifier digAlgorithm = signerInfo.digAlgorithm;
|
|
Asn1Set authenticatedAttributes = signerInfo.authenticatedAttributes;
|
|
AlgorithmIdentifier digEncryptionAlgorithm = signerInfo.digEncryptionAlgorithm;
|
|
SignerInfo signerInfo2 = new SignerInfo(signerInfo.sid, digAlgorithm, authenticatedAttributes, digEncryptionAlgorithm, encryptedDigest, num);
|
|
DerObjectIdentifier derObjectIdentifier = signerInformation.contentType;
|
|
CmsProcessable cmsProcessable = signerInformation.content;
|
|
int num2;
|
|
SignerInformation signerInformation2 = new SignerInformation(signerInfo2, derObjectIdentifier, cmsProcessable, num2);
|
|
num2 = 0;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600BEC8 RID: 48840 RVA: 0x002B78A8 File Offset: 0x002B5AA8
|
|
[Token(Token = "0x600BEC8")]
|
|
[Address(RVA = "0x2015690", Offset = "0x2014490", VA = "0x182015690")]
|
|
public static SignerInformation AddCounterSigners(SignerInformation signerInformation, SignerInformationStore counterSigners)
|
|
{
|
|
int num;
|
|
Asn1EncodableVector asn1EncodableVector;
|
|
Asn1EncodableVector asn1EncodableVector2;
|
|
do
|
|
{
|
|
num = 0;
|
|
BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable unsignedAttributes = signerInformation.UnsignedAttributes;
|
|
if (unsignedAttributes == 0)
|
|
{
|
|
}
|
|
asn1EncodableVector = unsignedAttributes.ToAsn1EncodableVector();
|
|
IList list = Platform.CreateArrayList(counterSigners.all);
|
|
Asn1Encodable[] array;
|
|
if (list != 0)
|
|
{
|
|
if (num < list)
|
|
{
|
|
num += num;
|
|
num++;
|
|
}
|
|
if (list == 0)
|
|
{
|
|
}
|
|
if (list == 0)
|
|
{
|
|
goto IL_D5;
|
|
}
|
|
array = new Asn1Encodable[1];
|
|
if (list != 0)
|
|
{
|
|
}
|
|
array[0] = list;
|
|
asn1EncodableVector2.Add(array);
|
|
}
|
|
if (array != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
Asn1Encodable[] array2 = new Asn1Encodable[1];
|
|
DerObjectIdentifier counterSignature = CmsAttributes.CounterSignature;
|
|
DerSet derSet = new DerSet(asn1EncodableVector2);
|
|
BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.Attribute attribute = new BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.Attribute(counterSignature, derSet);
|
|
if (attribute != 0)
|
|
{
|
|
}
|
|
array2[0] = attribute;
|
|
asn1EncodableVector.Add(array2);
|
|
DerSet derSet2 = new DerSet(asn1EncodableVector);
|
|
throw new NullReferenceException();
|
|
IL_D5:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x04007941 RID: 31041
|
|
[Token(Token = "0x4007941")]
|
|
private static readonly CmsSignedHelper Helper = CmsSignedHelper.Instance;
|
|
|
|
// Token: 0x04007942 RID: 31042
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4007942")]
|
|
private SignerID sid;
|
|
|
|
// Token: 0x04007943 RID: 31043
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4007943")]
|
|
private SignerInfo info;
|
|
|
|
// Token: 0x04007944 RID: 31044
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4007944")]
|
|
private AlgorithmIdentifier digestAlgorithm;
|
|
|
|
// Token: 0x04007945 RID: 31045
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4007945")]
|
|
private AlgorithmIdentifier encryptionAlgorithm;
|
|
|
|
// Token: 0x04007946 RID: 31046
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4007946")]
|
|
private readonly Asn1Set signedAttributeSet;
|
|
|
|
// Token: 0x04007947 RID: 31047
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4007947")]
|
|
private readonly Asn1Set unsignedAttributeSet;
|
|
|
|
// Token: 0x04007948 RID: 31048
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4007948")]
|
|
private CmsProcessable content;
|
|
|
|
// Token: 0x04007949 RID: 31049
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x4007949")]
|
|
private byte[] signature;
|
|
|
|
// Token: 0x0400794A RID: 31050
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400794A")]
|
|
private DerObjectIdentifier contentType;
|
|
|
|
// Token: 0x0400794B RID: 31051
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x400794B")]
|
|
private IDigestCalculator digestCalculator;
|
|
|
|
// Token: 0x0400794C RID: 31052
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x400794C")]
|
|
private byte[] resultDigest;
|
|
|
|
// Token: 0x0400794D RID: 31053
|
|
[FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x400794D")]
|
|
private BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable signedAttributeTable;
|
|
|
|
// Token: 0x0400794E RID: 31054
|
|
[FieldOffset(Offset = "0x70")]
|
|
[Token(Token = "0x400794E")]
|
|
private BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable unsignedAttributeTable;
|
|
|
|
// Token: 0x0400794F RID: 31055
|
|
[FieldOffset(Offset = "0x78")]
|
|
[Token(Token = "0x400794F")]
|
|
private readonly bool isCounterSignature;
|
|
}
|
|
}
|