902 lines
40 KiB
C#
902 lines
40 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.Crypto.IO;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.X509;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Cms
|
|
{
|
|
// Token: 0x02001D48 RID: 7496
|
|
[Token(Token = "0x2001D48")]
|
|
public class CmsSignedDataStreamGenerator : CmsSignedGenerator
|
|
{
|
|
// Token: 0x0600BDD1 RID: 48593 RVA: 0x002B31CC File Offset: 0x002B13CC
|
|
[Token(Token = "0x600BDD1")]
|
|
[Address(RVA = "0x166C520", Offset = "0x166B320", VA = "0x18166C520")]
|
|
public CmsSignedDataStreamGenerator()
|
|
{
|
|
IList list = Platform.CreateArrayList();
|
|
this._signerInfs = list;
|
|
HashSet hashSet = new HashSet();
|
|
this._messageDigestOids = hashSet;
|
|
IDictionary dictionary = Platform.CreateHashtable();
|
|
this._messageDigests = dictionary;
|
|
IDictionary dictionary2 = Platform.CreateHashtable();
|
|
this._messageHashes = dictionary2;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x0600BDD2 RID: 48594 RVA: 0x002B3220 File Offset: 0x002B1420
|
|
[Token(Token = "0x600BDD2")]
|
|
[Address(RVA = "0x166C5E0", Offset = "0x166B3E0", VA = "0x18166C5E0")]
|
|
public CmsSignedDataStreamGenerator(SecureRandom rand)
|
|
{
|
|
IList list = Platform.CreateArrayList();
|
|
this._signerInfs = list;
|
|
HashSet hashSet = new HashSet();
|
|
this._messageDigestOids = hashSet;
|
|
IDictionary dictionary = Platform.CreateHashtable();
|
|
this._messageDigests = dictionary;
|
|
IDictionary dictionary2 = Platform.CreateHashtable();
|
|
this._messageHashes = dictionary2;
|
|
base..ctor(rand);
|
|
}
|
|
|
|
// Token: 0x0600BDD3 RID: 48595 RVA: 0x002B3274 File Offset: 0x002B1474
|
|
[Token(Token = "0x600BDD3")]
|
|
[Address(RVA = "0x731CC0", Offset = "0x730AC0", VA = "0x180731CC0")]
|
|
public void SetBufferSize(int bufferSize)
|
|
{
|
|
this._bufferSize = bufferSize;
|
|
}
|
|
|
|
// Token: 0x0600BDD4 RID: 48596 RVA: 0x002B3288 File Offset: 0x002B1488
|
|
[Token(Token = "0x600BDD4")]
|
|
[Address(RVA = "0x166A420", Offset = "0x1669220", VA = "0x18166A420")]
|
|
public void AddDigests(params string[] digestOids)
|
|
{
|
|
this.AddDigests(digestOids);
|
|
}
|
|
|
|
// Token: 0x0600BDD5 RID: 48597 RVA: 0x002B329C File Offset: 0x002B149C
|
|
[Token(Token = "0x600BDD5")]
|
|
[Address(RVA = "0x166A430", Offset = "0x1669230", VA = "0x18166A430")]
|
|
public void AddDigests(IEnumerable digestOids)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
num += num;
|
|
num++;
|
|
if (num != 0 && num == 0)
|
|
{
|
|
goto IL_2F;
|
|
}
|
|
this.ConfigureDigest(num);
|
|
num += num;
|
|
num++;
|
|
num += 19;
|
|
if (num != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
return;
|
|
IL_2F:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600BDD6 RID: 48598 RVA: 0x002B32E0 File Offset: 0x002B14E0
|
|
[Token(Token = "0x600BDD6")]
|
|
[Address(RVA = "0x166ABA0", Offset = "0x16699A0", VA = "0x18166ABA0")]
|
|
public void AddSigner(AsymmetricKeyParameter privateKey, X509Certificate cert, string digestOid)
|
|
{
|
|
DefaultSignedAttributeTableGenerator defaultSignedAttributeTableGenerator = new DefaultSignedAttributeTableGenerator();
|
|
int num = 0;
|
|
this.AddSigner(privateKey, cert, digestOid, defaultSignedAttributeTableGenerator, num);
|
|
}
|
|
|
|
// Token: 0x0600BDD7 RID: 48599 RVA: 0x002B3300 File Offset: 0x002B1500
|
|
[Token(Token = "0x600BDD7")]
|
|
[Address(RVA = "0x166A630", Offset = "0x1669430", VA = "0x18166A630")]
|
|
public void AddSigner(AsymmetricKeyParameter privateKey, X509Certificate cert, string encryptionOid, string digestOid)
|
|
{
|
|
DefaultSignedAttributeTableGenerator defaultSignedAttributeTableGenerator = new DefaultSignedAttributeTableGenerator();
|
|
SignerIdentifier signerIdentifier = CmsSignedGenerator.GetSignerIdentifier(cert);
|
|
}
|
|
|
|
// Token: 0x0600BDD8 RID: 48600 RVA: 0x002B331C File Offset: 0x002B151C
|
|
[Token(Token = "0x600BDD8")]
|
|
[Address(RVA = "0x166A7F0", Offset = "0x16695F0", VA = "0x18166A7F0")]
|
|
public void AddSigner(AsymmetricKeyParameter privateKey, X509Certificate cert, string digestOid, BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable signedAttr, BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable unsignedAttr)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600BDD9 RID: 48601 RVA: 0x002B332C File Offset: 0x002B152C
|
|
[Token(Token = "0x600BDD9")]
|
|
[Address(RVA = "0x166AAD0", Offset = "0x16698D0", VA = "0x18166AAD0")]
|
|
public void AddSigner(AsymmetricKeyParameter privateKey, X509Certificate cert, string encryptionOid, string digestOid, BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable signedAttr, BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable unsignedAttr)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600BDDA RID: 48602 RVA: 0x002B333C File Offset: 0x002B153C
|
|
[Token(Token = "0x600BDDA")]
|
|
[Address(RVA = "0x166A720", Offset = "0x1669520", VA = "0x18166A720")]
|
|
public void AddSigner(AsymmetricKeyParameter privateKey, X509Certificate cert, string digestOid, CmsAttributeTableGenerator signedAttrGenerator, CmsAttributeTableGenerator unsignedAttrGenerator)
|
|
{
|
|
string encOid = CmsSignedDataStreamGenerator.Helper.GetEncOid(privateKey, digestOid);
|
|
}
|
|
|
|
// Token: 0x0600BDDB RID: 48603 RVA: 0x002B335C File Offset: 0x002B155C
|
|
[Token(Token = "0x600BDDB")]
|
|
[Address(RVA = "0x166AE00", Offset = "0x1669C00", VA = "0x18166AE00")]
|
|
public void AddSigner(AsymmetricKeyParameter privateKey, X509Certificate cert, string encryptionOid, string digestOid, CmsAttributeTableGenerator signedAttrGenerator, CmsAttributeTableGenerator unsignedAttrGenerator)
|
|
{
|
|
SignerIdentifier signerIdentifier = CmsSignedGenerator.GetSignerIdentifier(cert);
|
|
}
|
|
|
|
// Token: 0x0600BDDC RID: 48604 RVA: 0x002B3370 File Offset: 0x002B1570
|
|
[Token(Token = "0x600BDDC")]
|
|
[Address(RVA = "0x166AA30", Offset = "0x1669830", VA = "0x18166AA30")]
|
|
public void AddSigner(AsymmetricKeyParameter privateKey, byte[] subjectKeyID, string digestOid)
|
|
{
|
|
DefaultSignedAttributeTableGenerator defaultSignedAttributeTableGenerator = new DefaultSignedAttributeTableGenerator();
|
|
int num = 0;
|
|
this.AddSigner(privateKey, subjectKeyID, digestOid, defaultSignedAttributeTableGenerator, num);
|
|
}
|
|
|
|
// Token: 0x0600BDDD RID: 48605 RVA: 0x002B3390 File Offset: 0x002B1590
|
|
[Token(Token = "0x600BDDD")]
|
|
[Address(RVA = "0x166AC40", Offset = "0x1669A40", VA = "0x18166AC40")]
|
|
public void AddSigner(AsymmetricKeyParameter privateKey, byte[] subjectKeyID, string encryptionOid, string digestOid)
|
|
{
|
|
DefaultSignedAttributeTableGenerator defaultSignedAttributeTableGenerator = new DefaultSignedAttributeTableGenerator();
|
|
SignerIdentifier signerIdentifier = CmsSignedGenerator.GetSignerIdentifier(subjectKeyID);
|
|
}
|
|
|
|
// Token: 0x0600BDDE RID: 48606 RVA: 0x002B33AC File Offset: 0x002B15AC
|
|
[Token(Token = "0x600BDDE")]
|
|
[Address(RVA = "0x166A960", Offset = "0x1669760", VA = "0x18166A960")]
|
|
public void AddSigner(AsymmetricKeyParameter privateKey, byte[] subjectKeyID, string digestOid, BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable signedAttr, BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable unsignedAttr)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600BDDF RID: 48607 RVA: 0x002B33BC File Offset: 0x002B15BC
|
|
[Token(Token = "0x600BDDF")]
|
|
[Address(RVA = "0x166AD30", Offset = "0x1669B30", VA = "0x18166AD30")]
|
|
public void AddSigner(AsymmetricKeyParameter privateKey, byte[] subjectKeyID, string digestOid, CmsAttributeTableGenerator signedAttrGenerator, CmsAttributeTableGenerator unsignedAttrGenerator)
|
|
{
|
|
string encOid = CmsSignedDataStreamGenerator.Helper.GetEncOid(privateKey, digestOid);
|
|
}
|
|
|
|
// Token: 0x0600BDE0 RID: 48608 RVA: 0x002B33DC File Offset: 0x002B15DC
|
|
[Token(Token = "0x600BDE0")]
|
|
[Address(RVA = "0x166A8C0", Offset = "0x16696C0", VA = "0x18166A8C0")]
|
|
public void AddSigner(AsymmetricKeyParameter privateKey, byte[] subjectKeyID, string encryptionOid, string digestOid, CmsAttributeTableGenerator signedAttrGenerator, CmsAttributeTableGenerator unsignedAttrGenerator)
|
|
{
|
|
SignerIdentifier signerIdentifier = CmsSignedGenerator.GetSignerIdentifier(subjectKeyID);
|
|
}
|
|
|
|
// Token: 0x0600BDE1 RID: 48609 RVA: 0x002B33F0 File Offset: 0x002B15F0
|
|
[Token(Token = "0x600BDE1")]
|
|
[Address(RVA = "0x166B840", Offset = "0x166A640", VA = "0x18166B840")]
|
|
private void DoAddSigner(AsymmetricKeyParameter privateKey, SignerIdentifier signerIdentifier, string encryptionOid, string digestOid, CmsAttributeTableGenerator signedAttrGenerator, CmsAttributeTableGenerator unsignedAttrGenerator)
|
|
{
|
|
IList signerInfs = this._signerInfs;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600BDE2 RID: 48610 RVA: 0x002B340C File Offset: 0x002B160C
|
|
[Token(Token = "0x600BDE2")]
|
|
[Address(RVA = "0x166A5E0", Offset = "0x16693E0", VA = "0x18166A5E0", Slot = "6")]
|
|
internal override void AddSignerCallback(SignerInformation si)
|
|
{
|
|
Asn1Object asn1Object = si.digestAlgorithm.ToAsn1Object();
|
|
}
|
|
|
|
// Token: 0x0600BDE3 RID: 48611 RVA: 0x002B342C File Offset: 0x002B162C
|
|
[Token(Token = "0x600BDE3")]
|
|
[Address(RVA = "0x166BCC0", Offset = "0x166AAC0", VA = "0x18166BCC0")]
|
|
public Stream Open(Stream outStream)
|
|
{
|
|
int num = 0;
|
|
int num2 = 0;
|
|
string data = CmsSignedGenerator.Data;
|
|
return this.Open(outStream, data, num2 != 0, num);
|
|
}
|
|
|
|
// Token: 0x0600BDE4 RID: 48612 RVA: 0x002B3450 File Offset: 0x002B1650
|
|
[Token(Token = "0x600BDE4")]
|
|
[Address(RVA = "0x166BC20", Offset = "0x166AA20", VA = "0x18166BC20")]
|
|
public Stream Open(Stream outStream, bool encapsulate)
|
|
{
|
|
int num = 0;
|
|
string data = CmsSignedGenerator.Data;
|
|
return this.Open(outStream, data, encapsulate, num);
|
|
}
|
|
|
|
// Token: 0x0600BDE5 RID: 48613 RVA: 0x002B3470 File Offset: 0x002B1670
|
|
[Token(Token = "0x600BDE5")]
|
|
[Address(RVA = "0x166BB80", Offset = "0x166A980", VA = "0x18166BB80")]
|
|
public Stream Open(Stream outStream, bool encapsulate, Stream dataOutputStream)
|
|
{
|
|
string data = CmsSignedGenerator.Data;
|
|
return this.Open(outStream, data, encapsulate, dataOutputStream);
|
|
}
|
|
|
|
// Token: 0x0600BDE6 RID: 48614 RVA: 0x002B3490 File Offset: 0x002B1690
|
|
[Token(Token = "0x600BDE6")]
|
|
[Address(RVA = "0x166C3E0", Offset = "0x166B1E0", VA = "0x18166C3E0")]
|
|
public Stream Open(Stream outStream, string signedContentType, bool encapsulate)
|
|
{
|
|
int num = 0;
|
|
return this.Open(outStream, signedContentType, encapsulate, num);
|
|
}
|
|
|
|
// Token: 0x0600BDE7 RID: 48615 RVA: 0x002B34AC File Offset: 0x002B16AC
|
|
[Token(Token = "0x600BDE7")]
|
|
[Address(RVA = "0x166BD50", Offset = "0x166AB50", VA = "0x18166BD50")]
|
|
public Stream Open(Stream outStream, string signedContentType, bool encapsulate, Stream dataOutputStream)
|
|
{
|
|
int num;
|
|
Asn1EncodableVector asn1EncodableVector;
|
|
for (;;)
|
|
{
|
|
num = 0;
|
|
if (outStream == 0)
|
|
{
|
|
goto IL_E1;
|
|
}
|
|
if (outStream.CanSeek)
|
|
{
|
|
if (outStream != 0 && !outStream.CanSeek)
|
|
{
|
|
goto IL_ED;
|
|
}
|
|
this._messageDigestsLocked = true;
|
|
string text = new BerSequenceGenerator(outStream).ToString();
|
|
if (signedContentType == 0)
|
|
{
|
|
}
|
|
DerObjectIdentifier derObjectIdentifier = new DerObjectIdentifier(signedContentType);
|
|
DerInteger derInteger = this.CalculateVersion(derObjectIdentifier);
|
|
BerSequenceGenerator berSequenceGenerator;
|
|
string text2 = berSequenceGenerator.ToString();
|
|
ISet messageDigestOids = this._messageDigestOids;
|
|
if (asn1EncodableVector != 0)
|
|
{
|
|
break;
|
|
}
|
|
ArrayTypeMismatchException ex;
|
|
if (ex != 0)
|
|
{
|
|
}
|
|
if (num == 0)
|
|
{
|
|
goto Block_5;
|
|
}
|
|
}
|
|
}
|
|
Asn1Encodable[] array;
|
|
if (asn1EncodableVector == 0 || asn1EncodableVector != 0)
|
|
{
|
|
array = new Asn1Encodable[1];
|
|
DerObjectIdentifier derObjectIdentifier2 = new DerObjectIdentifier(num);
|
|
DerNull instance = DerNull.Instance;
|
|
AlgorithmIdentifier algorithmIdentifier = new AlgorithmIdentifier(derObjectIdentifier2, instance);
|
|
throw new ArrayTypeMismatchException();
|
|
}
|
|
throw new NullReferenceException();
|
|
Block_5:
|
|
byte[] encoded = new DerSet(asn1EncodableVector).GetEncoded();
|
|
Asn1Object asn1Object = array.ToAsn1Object();
|
|
Asn1Object asn1Object2 = array.ToAsn1Object();
|
|
BerSequenceGenerator berSequenceGenerator2;
|
|
string text3 = berSequenceGenerator2.ToString();
|
|
IL_E1:
|
|
ArgumentNullException ex2 = new ArgumentNullException("outStream");
|
|
IL_ED:
|
|
ArgumentException ex3 = new ArgumentException("Expected writeable stream", "dataOutputStream");
|
|
throw new IndexOutOfRangeException();
|
|
}
|
|
|
|
// Token: 0x0600BDE8 RID: 48616 RVA: 0x002B35D0 File Offset: 0x002B17D0
|
|
[Token(Token = "0x600BDE8")]
|
|
[Address(RVA = "0x166C400", Offset = "0x166B200", VA = "0x18166C400")]
|
|
private void RegisterDigestOid(string digestOid)
|
|
{
|
|
ISet messageDigestOids = this._messageDigestOids;
|
|
if (!this._messageDigestsLocked)
|
|
{
|
|
return;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600BDE9 RID: 48617 RVA: 0x002B3600 File Offset: 0x002B1800
|
|
[Token(Token = "0x600BDE9")]
|
|
[Address(RVA = "0x166B6A0", Offset = "0x166A4A0", VA = "0x18166B6A0")]
|
|
private void ConfigureDigest(string digestOid)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600BDE9)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator::ConfigureDigest(System.String)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_45:
|
|
stloc:InvalidOperationException(var_4_4F, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot configure new digests after the data stream is opened")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x0600BDEA RID: 48618 RVA: 0x002B3660 File Offset: 0x002B1860
|
|
[Token(Token = "0x600BDEA")]
|
|
[Address(RVA = "0x166B950", Offset = "0x166A750", VA = "0x18166B950")]
|
|
internal void Generate(Stream outStream, string eContentType, bool encapsulate, Stream dataOutputStream, CmsProcessable content)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600BDEB RID: 48619 RVA: 0x002B3670 File Offset: 0x002B1870
|
|
[Token(Token = "0x600BDEB")]
|
|
[Address(RVA = "0x166B050", Offset = "0x1669E50", VA = "0x18166B050")]
|
|
private DerInteger CalculateVersion(DerObjectIdentifier contentOid)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
if (this._certs != 0)
|
|
{
|
|
if (num != 0)
|
|
{
|
|
goto IL_6D;
|
|
}
|
|
if (num != -1)
|
|
{
|
|
}
|
|
if ((ulong)1L != 0UL)
|
|
{
|
|
goto IL_60;
|
|
}
|
|
}
|
|
if (this._crls == 0)
|
|
{
|
|
break;
|
|
}
|
|
if ((uint)(-1) != 0U)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
DerObjectIdentifier data = CmsObjectIdentifiers.Data;
|
|
IList signers = this._signers;
|
|
if (!this.CheckForVersion3(signers))
|
|
{
|
|
DerInteger derInteger = new DerInteger(5);
|
|
}
|
|
DerInteger derInteger2 = new DerInteger(5);
|
|
DerInteger derInteger3 = new DerInteger(5);
|
|
IL_60:
|
|
return new DerInteger(5);
|
|
IL_6D:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600BDEC RID: 48620 RVA: 0x002B36F0 File Offset: 0x002B18F0
|
|
[Token(Token = "0x600BDEC")]
|
|
[Address(RVA = "0x166B450", Offset = "0x166A250", VA = "0x18166B450")]
|
|
private bool CheckForVersion3(IList signerInfos)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
SignerInfo signerInfo;
|
|
int intValue = signerInfo.version.Value.IntValue;
|
|
while (intValue != 3)
|
|
{
|
|
}
|
|
if (intValue != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
if (num != -1)
|
|
{
|
|
return true;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600BDED RID: 48621 RVA: 0x002B3750 File Offset: 0x002B1950
|
|
[Token(Token = "0x600BDED")]
|
|
[Address(RVA = "0x166AEA0", Offset = "0x1669CA0", VA = "0x18166AEA0")]
|
|
private static Stream AttachDigestsToOutputStream(ICollection digests, Stream s)
|
|
{
|
|
int num;
|
|
Stream safeTeeOutputStream;
|
|
do
|
|
{
|
|
num = 0;
|
|
DigestSink digestSink;
|
|
safeTeeOutputStream = CmsSignedDataStreamGenerator.GetSafeTeeOutputStream(s, digestSink);
|
|
if (safeTeeOutputStream != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
return safeTeeOutputStream;
|
|
}
|
|
|
|
// Token: 0x0600BDEE RID: 48622 RVA: 0x002B377C File Offset: 0x002B197C
|
|
[Token(Token = "0x600BDEE")]
|
|
[Address(RVA = "0x166BA10", Offset = "0x166A810", VA = "0x18166BA10")]
|
|
private static Stream GetSafeOutputStream(Stream s)
|
|
{
|
|
if (s == 0)
|
|
{
|
|
NullOutputStream nullOutputStream = new NullOutputStream();
|
|
}
|
|
return s;
|
|
}
|
|
|
|
// Token: 0x0600BDEF RID: 48623 RVA: 0x002B3794 File Offset: 0x002B1994
|
|
[Token(Token = "0x600BDEF")]
|
|
[Address(RVA = "0x166BA60", Offset = "0x166A860", VA = "0x18166BA60")]
|
|
private static Stream GetSafeTeeOutputStream(Stream s1, Stream s2)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600BDEF)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.IO.Stream BestHTTP.SecureProtocol.Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator::GetSafeTeeOutputStream(System.IO.Stream,System.IO.Stream)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_2:
|
|
stloc:NullOutputStream(var_1_1B, newobj:NullOutputStream(NullOutputStream::.ctor))
|
|
}
|
|
|
|
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.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x040078D3 RID: 30931
|
|
[Token(Token = "0x40078D3")]
|
|
private static readonly CmsSignedHelper Helper = CmsSignedHelper.Instance;
|
|
|
|
// Token: 0x040078D4 RID: 30932
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x40078D4")]
|
|
private readonly IList _signerInfs;
|
|
|
|
// Token: 0x040078D5 RID: 30933
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x40078D5")]
|
|
private readonly ISet _messageDigestOids;
|
|
|
|
// Token: 0x040078D6 RID: 30934
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x40078D6")]
|
|
private readonly IDictionary _messageDigests;
|
|
|
|
// Token: 0x040078D7 RID: 30935
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x40078D7")]
|
|
private readonly IDictionary _messageHashes;
|
|
|
|
// Token: 0x040078D8 RID: 30936
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x40078D8")]
|
|
private bool _messageDigestsLocked;
|
|
|
|
// Token: 0x040078D9 RID: 30937
|
|
[FieldOffset(Offset = "0x64")]
|
|
[Token(Token = "0x40078D9")]
|
|
private int _bufferSize;
|
|
|
|
// Token: 0x02001D49 RID: 7497
|
|
[Token(Token = "0x2001D49")]
|
|
private class DigestAndSignerInfoGeneratorHolder
|
|
{
|
|
// Token: 0x0600BDF1 RID: 48625 RVA: 0x002B37D4 File Offset: 0x002B19D4
|
|
[Token(Token = "0x600BDF1")]
|
|
[Address(RVA = "0x4089A0", Offset = "0x4077A0", VA = "0x1804089A0")]
|
|
internal DigestAndSignerInfoGeneratorHolder(ISignerInfoGenerator signerInf, string digestOID)
|
|
{
|
|
this.signerInf = signerInf;
|
|
this.digestOID = digestOID;
|
|
}
|
|
|
|
// Token: 0x17001D6C RID: 7532
|
|
// (get) Token: 0x0600BDF2 RID: 48626 RVA: 0x002B37F8 File Offset: 0x002B19F8
|
|
[Token(Token = "0x17001D6C")]
|
|
internal AlgorithmIdentifier DigestAlgorithm
|
|
{
|
|
[Token(Token = "0x600BDF2")]
|
|
[Address(RVA = "0x2008D30", Offset = "0x2007B30", VA = "0x182008D30")]
|
|
get
|
|
{
|
|
DerObjectIdentifier derObjectIdentifier = new DerObjectIdentifier(this.digestOID);
|
|
DerNull instance = DerNull.Instance;
|
|
return new AlgorithmIdentifier(derObjectIdentifier, instance);
|
|
}
|
|
}
|
|
|
|
// Token: 0x040078DA RID: 30938
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x40078DA")]
|
|
internal readonly ISignerInfoGenerator signerInf;
|
|
|
|
// Token: 0x040078DB RID: 30939
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x40078DB")]
|
|
internal readonly string digestOID;
|
|
}
|
|
|
|
// Token: 0x02001D4A RID: 7498
|
|
[Token(Token = "0x2001D4A")]
|
|
private class SignerInfoGeneratorImpl : ISignerInfoGenerator
|
|
{
|
|
// Token: 0x0600BDF3 RID: 48627 RVA: 0x002B3820 File Offset: 0x002B1A20
|
|
[Token(Token = "0x600BDF3")]
|
|
[Address(RVA = "0x2014BF0", Offset = "0x20139F0", VA = "0x182014BF0")]
|
|
internal SignerInfoGeneratorImpl(CmsSignedDataStreamGenerator outer, AsymmetricKeyParameter key, SignerIdentifier signerIdentifier, string digestOID, string encOID, CmsAttributeTableGenerator sAttr, CmsAttributeTableGenerator unsAttr)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600BDF3)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator/SignerInfoGeneratorImpl::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter,BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.SignerIdentifier,System.String,System.String,BestHTTP.SecureProtocol.Org.BouncyCastle.Cms.CmsAttributeTableGenerator,BestHTTP.SecureProtocol.Org.BouncyCastle.Cms.CmsAttributeTableGenerator)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_E3:
|
|
stloc:SignatureException(var_12_EA, newobj:SignatureException(SignatureException::.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.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 1660
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x0600BDF4 RID: 48628 RVA: 0x002B3918 File Offset: 0x002B1B18
|
|
[Token(Token = "0x600BDF4")]
|
|
[Address(RVA = "0x20145B0", Offset = "0x20133B0", VA = "0x1820145B0", Slot = "4")]
|
|
public SignerInfo Generate(DerObjectIdentifier contentType, AlgorithmIdentifier digestAlgorithm, byte[] calculatedDigest)
|
|
{
|
|
CmsSignedHelper helper = CmsSignedDataStreamGenerator.Helper;
|
|
string digestOID = this._digestOID;
|
|
string digestAlgName = helper.GetDigestAlgName(digestOID);
|
|
string encName = this._encName;
|
|
string text = digestAlgName + "with" + encName;
|
|
int num = 0;
|
|
if (this._sAttr == num)
|
|
{
|
|
if (!this._encName.Equals("RSA"))
|
|
{
|
|
goto IL_98;
|
|
}
|
|
byte[] encoded = new DigestInfo(digestAlgorithm, calculatedDigest).GetEncoded("DER");
|
|
}
|
|
string text2 = this.outer.ToString();
|
|
CmsAttributeTableGenerator sAttr = this._sAttr;
|
|
if (contentType == 0 && text2 != 0)
|
|
{
|
|
DerObjectIdentifier contentType2 = CmsAttributes.ContentType;
|
|
BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.Attribute attribute;
|
|
if (attribute != 0)
|
|
{
|
|
IDictionary dictionary;
|
|
BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable attributeTable = new BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.AttributeTable(dictionary);
|
|
}
|
|
}
|
|
CmsSignedDataStreamGenerator cmsSignedDataStreamGenerator = this.outer;
|
|
IL_98:
|
|
ISigner sig = this._sig;
|
|
byte[] array;
|
|
int length = array.Length;
|
|
ISigner sig2 = this._sig;
|
|
int num2 = 0;
|
|
if (this._unsAttr != num2)
|
|
{
|
|
string text3 = this.outer.ToString();
|
|
CmsAttributeTableGenerator unsAttr = this._unsAttr;
|
|
CmsSignedDataStreamGenerator cmsSignedDataStreamGenerator2 = this.outer;
|
|
}
|
|
CmsSignedHelper helper2 = CmsSignedDataStreamGenerator.Helper;
|
|
DerObjectIdentifier derObjectIdentifier = new DerObjectIdentifier(this._encOID);
|
|
ISet noParams = CmsSignedHelper.noParams;
|
|
Asn1Encodable asn1Encodable;
|
|
AlgorithmIdentifier algorithmIdentifier = new AlgorithmIdentifier(derObjectIdentifier, asn1Encodable);
|
|
SignerInfo signerInfo;
|
|
return signerInfo;
|
|
}
|
|
|
|
// Token: 0x040078DC RID: 30940
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x40078DC")]
|
|
private readonly CmsSignedDataStreamGenerator outer;
|
|
|
|
// Token: 0x040078DD RID: 30941
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x40078DD")]
|
|
private readonly SignerIdentifier _signerIdentifier;
|
|
|
|
// Token: 0x040078DE RID: 30942
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x40078DE")]
|
|
private readonly string _digestOID;
|
|
|
|
// Token: 0x040078DF RID: 30943
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x40078DF")]
|
|
private readonly string _encOID;
|
|
|
|
// Token: 0x040078E0 RID: 30944
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x40078E0")]
|
|
private readonly CmsAttributeTableGenerator _sAttr;
|
|
|
|
// Token: 0x040078E1 RID: 30945
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x40078E1")]
|
|
private readonly CmsAttributeTableGenerator _unsAttr;
|
|
|
|
// Token: 0x040078E2 RID: 30946
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x40078E2")]
|
|
private readonly string _encName;
|
|
|
|
// Token: 0x040078E3 RID: 30947
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x40078E3")]
|
|
private readonly ISigner _sig;
|
|
}
|
|
|
|
// Token: 0x02001D4B RID: 7499
|
|
[Token(Token = "0x2001D4B")]
|
|
private class CmsSignedDataOutputStream : BaseOutputStream
|
|
{
|
|
// Token: 0x0600BDF5 RID: 48629 RVA: 0x002B3ABC File Offset: 0x002B1CBC
|
|
[Token(Token = "0x600BDF5")]
|
|
[Address(RVA = "0x2000840", Offset = "0x1FFF640", VA = "0x182000840")]
|
|
public CmsSignedDataOutputStream(CmsSignedDataStreamGenerator outer, Stream outStream, string contentOID, BerSequenceGenerator sGen, BerSequenceGenerator sigGen, BerSequenceGenerator eiGen)
|
|
{
|
|
this.outer = outer;
|
|
this._out = outStream;
|
|
DerObjectIdentifier derObjectIdentifier = new DerObjectIdentifier(contentOID);
|
|
this._sGen = 0;
|
|
this._sigGen = 0;
|
|
this._contentOID = derObjectIdentifier;
|
|
this._eiGen = 0;
|
|
}
|
|
|
|
// Token: 0x0600BDF6 RID: 48630 RVA: 0x002B3B00 File Offset: 0x002B1D00
|
|
[Token(Token = "0x600BDF6")]
|
|
[Address(RVA = "0x1663250", Offset = "0x1662050", VA = "0x181663250", Slot = "30")]
|
|
public override void WriteByte(byte b)
|
|
{
|
|
bool canRead = this._out.CanRead;
|
|
}
|
|
|
|
// Token: 0x0600BDF7 RID: 48631 RVA: 0x002B3B20 File Offset: 0x002B1D20
|
|
[Token(Token = "0x600BDF7")]
|
|
[Address(RVA = "0x1663280", Offset = "0x1662080", VA = "0x181663280", Slot = "29")]
|
|
public override void Write(byte[] bytes, int off, int len)
|
|
{
|
|
bool canRead = this._out.CanRead;
|
|
}
|
|
|
|
// Token: 0x0600BDF8 RID: 48632 RVA: 0x002B3B40 File Offset: 0x002B1D40
|
|
[Token(Token = "0x600BDF8")]
|
|
[Address(RVA = "0x1FFFD50", Offset = "0x1FFEB50", VA = "0x181FFFD50", Slot = "15")]
|
|
public override void Close()
|
|
{
|
|
this.DoClose();
|
|
base.Close();
|
|
}
|
|
|
|
// Token: 0x0600BDF9 RID: 48633 RVA: 0x002B3B5C File Offset: 0x002B1D5C
|
|
[Token(Token = "0x600BDF9")]
|
|
[Address(RVA = "0x1FFFD70", Offset = "0x1FFEB70", VA = "0x181FFFD70")]
|
|
private void DoClose()
|
|
{
|
|
int num5;
|
|
Asn1EncodableVector asn1EncodableVector;
|
|
Asn1Encodable[] array2;
|
|
AlgorithmIdentifier algorithmIdentifier;
|
|
for (;;)
|
|
{
|
|
int num = 0;
|
|
Platform.Dispose(this._out);
|
|
Stream rawOutputStream = this._eiGen.GetRawOutputStream();
|
|
IDictionary digests = this.outer._digests;
|
|
IList certs = this.outer._certs;
|
|
if (rawOutputStream > 0)
|
|
{
|
|
CmsSignedDataStreamGenerator cmsSignedDataStreamGenerator = this.outer;
|
|
Asn1Set asn1Set = CmsUtilities.CreateDerSetFromList(cmsSignedDataStreamGenerator._certs);
|
|
Asn1Set asn1Set2 = CmsUtilities.CreateBerSetFromList(cmsSignedDataStreamGenerator._certs);
|
|
BerSequenceGenerator sigGen = this._sigGen;
|
|
int num2;
|
|
int num3;
|
|
BerTaggedObject berTaggedObject = new BerTaggedObject(num2 != 0, num3, asn1Set2);
|
|
num3 = 0;
|
|
num2 = 0;
|
|
CmsSignedDataStreamGenerator.CmsSignedDataOutputStream.WriteToGenerator(sigGen, berTaggedObject);
|
|
}
|
|
CmsSignedDataStreamGenerator cmsSignedDataStreamGenerator2 = this.outer;
|
|
IList crls = cmsSignedDataStreamGenerator2._crls;
|
|
if (cmsSignedDataStreamGenerator2 > 0)
|
|
{
|
|
IList crls2 = this.outer._crls;
|
|
Asn1Set asn1Set3 = CmsUtilities.CreateDerSetFromList(crls2);
|
|
Asn1Set asn1Set4 = CmsUtilities.CreateBerSetFromList(crls2);
|
|
BerSequenceGenerator sigGen2 = this._sigGen;
|
|
int num4;
|
|
BerTaggedObject berTaggedObject2 = new BerTaggedObject(num4 != 0, 1, asn1Set4);
|
|
num4 = 0;
|
|
CmsSignedDataStreamGenerator.CmsSignedDataOutputStream.WriteToGenerator(sigGen2, berTaggedObject2);
|
|
}
|
|
CmsSignedDataStreamGenerator cmsSignedDataStreamGenerator3 = this.outer;
|
|
IDictionary messageDigests = cmsSignedDataStreamGenerator3._messageDigests;
|
|
if (cmsSignedDataStreamGenerator3 != 0)
|
|
{
|
|
IDictionary messageHashes = this.outer._messageHashes;
|
|
}
|
|
num5 = 0;
|
|
byte[] array;
|
|
if (array != 0)
|
|
{
|
|
}
|
|
if (num == 0)
|
|
{
|
|
if (num5 != -1)
|
|
{
|
|
}
|
|
IList signerInfs = this.outer._signerInfs;
|
|
if (asn1EncodableVector != 0)
|
|
{
|
|
break;
|
|
}
|
|
if (array2 != 0)
|
|
{
|
|
}
|
|
if (algorithmIdentifier == 0)
|
|
{
|
|
if (array2 == (ulong)(-1L) || "{il2cpp array field local64->}" == (ulong)511L)
|
|
{
|
|
}
|
|
CmsSignedDataStreamGenerator cmsSignedDataStreamGenerator4 = this.outer;
|
|
IList signers = cmsSignedDataStreamGenerator4._signers;
|
|
Asn1Encodable[] array3;
|
|
if (cmsSignedDataStreamGenerator4 != 0)
|
|
{
|
|
if (cmsSignedDataStreamGenerator4 == 0)
|
|
{
|
|
}
|
|
if (cmsSignedDataStreamGenerator4 == 0)
|
|
{
|
|
continue;
|
|
}
|
|
array3 = new Asn1Encodable[1];
|
|
IList crls3 = cmsSignedDataStreamGenerator4._crls;
|
|
if (crls3 != 0)
|
|
{
|
|
}
|
|
array3[0] = crls3;
|
|
asn1EncodableVector.Add(array3);
|
|
}
|
|
if (array3 != 0)
|
|
{
|
|
}
|
|
if (algorithmIdentifier == 0)
|
|
{
|
|
goto Block_9;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
DerObjectIdentifier derObjectIdentifier = new DerObjectIdentifier(num5);
|
|
DerNull instance = DerNull.Instance;
|
|
algorithmIdentifier = new AlgorithmIdentifier(derObjectIdentifier, instance);
|
|
IDictionary messageHashes2 = this.outer._messageHashes;
|
|
CmsSignedHelper helper = CmsSignedDataStreamGenerator.Helper;
|
|
IDictionary digests2 = this.outer._digests;
|
|
array2 = new Asn1Encodable[1];
|
|
IList v = asn1EncodableVector.v;
|
|
throw new ArrayTypeMismatchException();
|
|
Block_9:
|
|
BerSequenceGenerator sigGen3 = this._sigGen;
|
|
DerSet derSet = new DerSet(asn1EncodableVector);
|
|
CmsSignedDataStreamGenerator.CmsSignedDataOutputStream.WriteToGenerator(sigGen3, derSet);
|
|
Stream rawOutputStream2 = this._sigGen.GetRawOutputStream();
|
|
Stream rawOutputStream3 = this._sGen.GetRawOutputStream();
|
|
}
|
|
|
|
// Token: 0x0600BDFA RID: 48634 RVA: 0x002B3DA4 File Offset: 0x002B1FA4
|
|
[Token(Token = "0x600BDFA")]
|
|
[Address(RVA = "0x20007C0", Offset = "0x1FFF5C0", VA = "0x1820007C0")]
|
|
private static void WriteToGenerator(Asn1Generator ag, Asn1Encodable ae)
|
|
{
|
|
byte[] encoded = ae.GetEncoded();
|
|
}
|
|
|
|
// Token: 0x040078E4 RID: 30948
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x40078E4")]
|
|
private readonly CmsSignedDataStreamGenerator outer;
|
|
|
|
// Token: 0x040078E5 RID: 30949
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x40078E5")]
|
|
private Stream _out;
|
|
|
|
// Token: 0x040078E6 RID: 30950
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x40078E6")]
|
|
private DerObjectIdentifier _contentOID;
|
|
|
|
// Token: 0x040078E7 RID: 30951
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x40078E7")]
|
|
private BerSequenceGenerator _sGen;
|
|
|
|
// Token: 0x040078E8 RID: 30952
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x40078E8")]
|
|
private BerSequenceGenerator _sigGen;
|
|
|
|
// Token: 0x040078E9 RID: 30953
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x40078E9")]
|
|
private BerSequenceGenerator _eiGen;
|
|
}
|
|
}
|
|
}
|