using System; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Pkcs; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters; using BestHTTP.SecureProtocol.Org.BouncyCastle.Security; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Cms { // Token: 0x02001E42 RID: 7746 [Token(Token = "0x2001E42")] internal class PasswordRecipientInfoGenerator : RecipientInfoGenerator { // Token: 0x0600C24C RID: 49740 RVA: 0x002BF008 File Offset: 0x002BD208 [Token(Token = "0x600C24C")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] internal PasswordRecipientInfoGenerator() { } // Token: 0x17001E19 RID: 7705 // (set) Token: 0x0600C24D RID: 49741 RVA: 0x002BF01C File Offset: 0x002BD21C [Token(Token = "0x17001E19")] internal AlgorithmIdentifier KeyDerivationAlgorithm { [Token(Token = "0x600C24D")] [Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")] set { this.keyDerivationAlgorithm = value; } } // Token: 0x17001E1A RID: 7706 // (set) Token: 0x0600C24E RID: 49742 RVA: 0x002BF030 File Offset: 0x002BD230 [Token(Token = "0x17001E1A")] internal KeyParameter KeyEncryptionKey { [Token(Token = "0x600C24E")] [Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")] set { this.keyEncryptionKey = value; } } // Token: 0x17001E1B RID: 7707 // (set) Token: 0x0600C24F RID: 49743 RVA: 0x002BF044 File Offset: 0x002BD244 [Token(Token = "0x17001E1B")] internal string KeyEncryptionKeyOID { [Token(Token = "0x600C24F")] [Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")] set { this.keyEncryptionKeyOID = value; } } // Token: 0x0600C250 RID: 49744 RVA: 0x002BF058 File Offset: 0x002BD258 [Token(Token = "0x600C250")] [Address(RVA = "0x2933150", Offset = "0x2932150", VA = "0x182933150", Slot = "4")] public RecipientInfo Generate(KeyParameter contentEncryptionKey, SecureRandom random) { byte[] key = contentEncryptionKey.GetKey(); CmsEnvelopedHelper helper = PasswordRecipientInfoGenerator.Helper; string text = this.keyEncryptionKeyOID; string rfc3211WrapperName = helper.GetRfc3211WrapperName(text); IWrapper wrapper = PasswordRecipientInfoGenerator.Helper.CreateWrapper(rfc3211WrapperName); bool flag = Platform.StartsWith(rfc3211WrapperName, "DESEDE"); byte[] array = new byte[8]; double num = random.NextDouble(); ParametersWithRandom parametersWithRandom = new ParametersWithRandom(new ParametersWithIV(this.keyEncryptionKey, array), random); int length = key.Length; Asn1Encodable[] array2 = new Asn1Encodable[2]; DerObjectIdentifier derObjectIdentifier = new DerObjectIdentifier(this.keyEncryptionKeyOID); if (derObjectIdentifier != 0) { } array2[0] = derObjectIdentifier; DerOctetString derOctetString = new DerOctetString(array); if (derOctetString != 0) { } array2[1] = derOctetString; DerSequence derSequence = new DerSequence(array2); AlgorithmIdentifier algorithmIdentifier = new AlgorithmIdentifier(PkcsObjectIdentifiers.IdAlgPwriKek, derSequence); DerOctetString derOctetString2; return new RecipientInfo(new PasswordRecipientInfo(this.keyDerivationAlgorithm, algorithmIdentifier, derOctetString2)); } // Token: 0x04007AE5 RID: 31461 [Token(Token = "0x4007AE5")] private static readonly CmsEnvelopedHelper Helper = CmsEnvelopedHelper.Instance; // Token: 0x04007AE6 RID: 31462 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4007AE6")] private AlgorithmIdentifier keyDerivationAlgorithm; // Token: 0x04007AE7 RID: 31463 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4007AE7")] private KeyParameter keyEncryptionKey; // Token: 0x04007AE8 RID: 31464 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4007AE8")] private string keyEncryptionKeyOID; } }