Files
27Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Cms/KeyTransRecipientInfoGenerator.cs
T
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

121 lines
4.3 KiB
C#

using System;
using System.Collections;
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.Parameters;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
using BestHTTP.SecureProtocol.Org.BouncyCastle.X509;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Cms
{
// Token: 0x02001E3B RID: 7739
[Token(Token = "0x2001E3B")]
internal class KeyTransRecipientInfoGenerator : RecipientInfoGenerator
{
// Token: 0x0600C22D RID: 49709 RVA: 0x002BE908 File Offset: 0x002BCB08
[Token(Token = "0x600C22D")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
internal KeyTransRecipientInfoGenerator()
{
}
// Token: 0x17001E16 RID: 7702
// (set) Token: 0x0600C22E RID: 49710 RVA: 0x002BE91C File Offset: 0x002BCB1C
[Token(Token = "0x17001E16")]
internal X509Certificate RecipientCert
{
[Token(Token = "0x600C22E")]
[Address(RVA = "0x2931FD0", Offset = "0x2930FD0", VA = "0x182931FD0")]
set
{
DateTime notAfter = value.NotAfter;
Asn1Object asn1Object;
TbsCertificateStructure instance = TbsCertificateStructure.GetInstance(asn1Object);
this.recipientTbsCert = instance;
ICollection collection;
this.recipientPublicKey = collection;
SubjectPublicKeyInfo subjectPublicKeyInfo = this.recipientTbsCert.subjectPublicKeyInfo;
this.info = subjectPublicKeyInfo;
}
}
// Token: 0x17001E17 RID: 7703
// (set) Token: 0x0600C22F RID: 49711 RVA: 0x002BE960 File Offset: 0x002BCB60
[Token(Token = "0x17001E17")]
internal AsymmetricKeyParameter RecipientPublicKey
{
[Token(Token = "0x600C22F")]
[Address(RVA = "0x2932050", Offset = "0x2931050", VA = "0x182932050")]
set
{
this.recipientPublicKey = value;
SubjectPublicKeyInfo subjectPublicKeyInfo = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(this.recipientPublicKey);
this.info = subjectPublicKeyInfo;
}
}
// Token: 0x17001E18 RID: 7704
// (set) Token: 0x0600C230 RID: 49712 RVA: 0x002BE994 File Offset: 0x002BCB94
[Token(Token = "0x17001E18")]
internal Asn1OctetString SubjectKeyIdentifier
{
[Token(Token = "0x600C230")]
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")]
set
{
this.subjectKeyIdentifier = value;
}
}
// Token: 0x0600C231 RID: 49713 RVA: 0x002BE9A8 File Offset: 0x002BCBA8
[Token(Token = "0x600C231")]
[Address(RVA = "0x2931D00", Offset = "0x2930D00", VA = "0x182931D00", Slot = "4")]
public RecipientInfo Generate(KeyParameter contentEncryptionKey, SecureRandom random)
{
byte[] key = contentEncryptionKey.GetKey();
AlgorithmIdentifier algID = this.info.algID;
CmsEnvelopedHelper helper = KeyTransRecipientInfoGenerator.Helper;
Asn1Object asn1Object = algID.ToAsn1Object();
ParametersWithRandom parametersWithRandom = new ParametersWithRandom(this.recipientPublicKey, random);
int length = key.Length;
TbsCertificateStructure tbsCertificateStructure = this.recipientTbsCert;
if (tbsCertificateStructure == 0)
{
RecipientIdentifier recipientIdentifier = new RecipientIdentifier(this.subjectKeyIdentifier);
}
X509Name issuer = tbsCertificateStructure.issuer;
BigInteger value = tbsCertificateStructure.serialNumber.Value;
DerOctetString derOctetString;
return new RecipientInfo(new KeyTransRecipientInfo(new RecipientIdentifier(new IssuerAndSerialNumber(issuer, value)), algID, derOctetString));
}
// Token: 0x04007ADC RID: 31452
[Token(Token = "0x4007ADC")]
private static readonly CmsEnvelopedHelper Helper = CmsEnvelopedHelper.Instance;
// Token: 0x04007ADD RID: 31453
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4007ADD")]
private TbsCertificateStructure recipientTbsCert;
// Token: 0x04007ADE RID: 31454
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4007ADE")]
private AsymmetricKeyParameter recipientPublicKey;
// Token: 0x04007ADF RID: 31455
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4007ADF")]
private Asn1OctetString subjectKeyIdentifier;
// Token: 0x04007AE0 RID: 31456
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4007AE0")]
private SubjectPublicKeyInfo info;
}
}