using System; 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.Parameters; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Cms { // Token: 0x02001E04 RID: 7684 [Token(Token = "0x2001E04")] internal class CmsAuthEnvelopedData { // Token: 0x0600C0B3 RID: 49331 RVA: 0x002B8128 File Offset: 0x002B6328 [Token(Token = "0x600C0B3")] [Address(RVA = "0x2140450", Offset = "0x213F450", VA = "0x182140450")] public CmsAuthEnvelopedData(byte[] authEnvData) { ContentInfo contentInfo = CmsUtilities.ReadContentInfo(authEnvData); } // Token: 0x0600C0B4 RID: 49332 RVA: 0x002B813C File Offset: 0x002B633C [Token(Token = "0x600C0B4")] [Address(RVA = "0x2140480", Offset = "0x213F480", VA = "0x182140480")] public CmsAuthEnvelopedData(Stream authEnvData) { ContentInfo contentInfo = CmsUtilities.ReadContentInfo(authEnvData); } // Token: 0x0600C0B5 RID: 49333 RVA: 0x002B8150 File Offset: 0x002B6350 [Token(Token = "0x600C0B5")] [Address(RVA = "0x21404B0", Offset = "0x213F4B0", VA = "0x1821404B0")] public CmsAuthEnvelopedData(ContentInfo contentInfo) { this.contentInfo = contentInfo; AuthEnvelopedData instance = AuthEnvelopedData.GetInstance(contentInfo.content); OriginatorInfo originatorInfo = instance.originatorInfo; this.originator = originatorInfo; EncryptedContentInfo authEncryptedContentInfo = instance.authEncryptedContentInfo; Asn1Set recipientInfos = instance.recipientInfos; AlgorithmIdentifier contentEncryptionAlgorithm = authEncryptedContentInfo.contentEncryptionAlgorithm; this.authEncAlg = contentEncryptionAlgorithm; CmsAuthEnvelopedData.AuthEnvelopedSecureReadable authEnvelopedSecureReadable; authEnvelopedSecureReadable.parent = this; RecipientInformationStore recipientInformationStore = CmsEnvelopedHelper.BuildRecipientInformationStore(recipientInfos, authEnvelopedSecureReadable); this.recipientInfoStore = recipientInformationStore; Asn1Set asn1Set = instance.authAttrs; this.authAttrs = asn1Set; Stream octetStream = instance.mac.GetOctetStream(); this.mac = octetStream; Asn1Set asn1Set2 = instance.unauthAttrs; this.unauthAttrs = asn1Set2; } // Token: 0x04007A02 RID: 31234 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4007A02")] internal RecipientInformationStore recipientInfoStore; // Token: 0x04007A03 RID: 31235 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4007A03")] internal ContentInfo contentInfo; // Token: 0x04007A04 RID: 31236 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4007A04")] private OriginatorInfo originator; // Token: 0x04007A05 RID: 31237 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4007A05")] private AlgorithmIdentifier authEncAlg; // Token: 0x04007A06 RID: 31238 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4007A06")] private Asn1Set authAttrs; // Token: 0x04007A07 RID: 31239 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4007A07")] private byte[] mac; // Token: 0x04007A08 RID: 31240 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4007A08")] private Asn1Set unauthAttrs; // Token: 0x02001E05 RID: 7685 [Token(Token = "0x2001E05")] private class AuthEnvelopedSecureReadable : CmsSecureReadable { // Token: 0x0600C0B6 RID: 49334 RVA: 0x002B81F8 File Offset: 0x002B63F8 [Token(Token = "0x600C0B6")] [Address(RVA = "0x493D90", Offset = "0x492D90", VA = "0x180493D90")] internal AuthEnvelopedSecureReadable(CmsAuthEnvelopedData parent) { this.parent = parent; } // Token: 0x17001DE2 RID: 7650 // (get) Token: 0x0600C0B7 RID: 49335 RVA: 0x002B8214 File Offset: 0x002B6414 [Token(Token = "0x17001DE2")] public AlgorithmIdentifier Algorithm { [Token(Token = "0x600C0B7")] [Address(RVA = "0x7788D0", Offset = "0x7778D0", VA = "0x1807788D0", Slot = "4")] get { return this.parent.authEncAlg; } } // Token: 0x17001DE3 RID: 7651 // (get) Token: 0x0600C0B8 RID: 49336 RVA: 0x002B8234 File Offset: 0x002B6434 [Token(Token = "0x17001DE3")] public object CryptoObject { [Token(Token = "0x600C0B8")] [Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "5")] get { } } // Token: 0x0600C0B9 RID: 49337 RVA: 0x002B8244 File Offset: 0x002B6444 [Token(Token = "0x600C0B9")] [Address(RVA = "0x213E090", Offset = "0x213D090", VA = "0x18213E090", Slot = "6")] public CmsReadable GetReadable(KeyParameter key) { /* An exception occurred when decompiling this method (0600C0B9) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Cms.CmsReadable BestHTTP.SecureProtocol.Org.BouncyCastle.Cms.CmsAuthEnvelopedData/AuthEnvelopedSecureReadable::GetReadable(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters.KeyParameter) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:CmsException(var_0_0A, newobj:CmsException(CmsException::.ctor, ldstr:string("AuthEnveloped data decryption not yet implemented"))) } 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: 0x04007A09 RID: 31241 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4007A09")] private readonly CmsAuthEnvelopedData parent; } } }