Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Cms/PasswordRecipientInfoGenerator.cs
T
2026-04-08 23:40:05 +02:00

118 lines
4.2 KiB
C#

using System;
using System.Runtime.InteropServices;
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: 0x02001785 RID: 6021
[Token(Token = "0x2001785")]
[StructLayout(3)]
internal class PasswordRecipientInfoGenerator : RecipientInfoGenerator
{
// Token: 0x0600A2A4 RID: 41636 RVA: 0x0025E308 File Offset: 0x0025C508
[Token(Token = "0x600A2A4")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
internal PasswordRecipientInfoGenerator()
{
}
// Token: 0x1700197B RID: 6523
// (set) Token: 0x0600A2A5 RID: 41637 RVA: 0x0025E31C File Offset: 0x0025C51C
[Token(Token = "0x1700197B")]
internal AlgorithmIdentifier KeyDerivationAlgorithm
{
[Token(Token = "0x600A2A5")]
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0")]
set
{
this.keyDerivationAlgorithm = value;
}
}
// Token: 0x1700197C RID: 6524
// (set) Token: 0x0600A2A6 RID: 41638 RVA: 0x0025E330 File Offset: 0x0025C530
[Token(Token = "0x1700197C")]
internal KeyParameter KeyEncryptionKey
{
[Token(Token = "0x600A2A6")]
[Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280")]
set
{
this.keyEncryptionKey = value;
}
}
// Token: 0x1700197D RID: 6525
// (set) Token: 0x0600A2A7 RID: 41639 RVA: 0x0025E344 File Offset: 0x0025C544
[Token(Token = "0x1700197D")]
internal string KeyEncryptionKeyOID
{
[Token(Token = "0x600A2A7")]
[Address(RVA = "0x3C1260", Offset = "0x3BFC60", VA = "0x1803C1260")]
set
{
this.keyEncryptionKeyOID = value;
}
}
// Token: 0x0600A2A8 RID: 41640 RVA: 0x0025E358 File Offset: 0x0025C558
[Token(Token = "0x600A2A8")]
[Address(RVA = "0x661B50", Offset = "0x660550", VA = "0x180661B50", 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: 0x04006AE9 RID: 27369
[Token(Token = "0x4006AE9")]
private static readonly CmsEnvelopedHelper Helper = CmsEnvelopedHelper.Instance;
// Token: 0x04006AEA RID: 27370
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006AEA")]
private AlgorithmIdentifier keyDerivationAlgorithm;
// Token: 0x04006AEB RID: 27371
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006AEB")]
private KeyParameter keyEncryptionKey;
// Token: 0x04006AEC RID: 27372
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006AEC")]
private string keyEncryptionKeyOID;
}
}