Files
Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Cms/KeyTransRecipientInfoGenerator.cs
T
2026-04-10 22:50:51 +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: 0x02001D5B RID: 7515
[Token(Token = "0x2001D5B")]
internal class KeyTransRecipientInfoGenerator : RecipientInfoGenerator
{
// Token: 0x0600BE5F RID: 48735 RVA: 0x002B6010 File Offset: 0x002B4210
[Token(Token = "0x600BE5F")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
internal KeyTransRecipientInfoGenerator()
{
}
// Token: 0x17001D79 RID: 7545
// (set) Token: 0x0600BE60 RID: 48736 RVA: 0x002B6024 File Offset: 0x002B4224
[Token(Token = "0x17001D79")]
internal X509Certificate RecipientCert
{
[Token(Token = "0x600BE60")]
[Address(RVA = "0x20114D0", Offset = "0x20102D0", VA = "0x1820114D0")]
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: 0x17001D7A RID: 7546
// (set) Token: 0x0600BE61 RID: 48737 RVA: 0x002B6068 File Offset: 0x002B4268
[Token(Token = "0x17001D7A")]
internal AsymmetricKeyParameter RecipientPublicKey
{
[Token(Token = "0x600BE61")]
[Address(RVA = "0x2011550", Offset = "0x2010350", VA = "0x182011550")]
set
{
this.recipientPublicKey = value;
SubjectPublicKeyInfo subjectPublicKeyInfo = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(this.recipientPublicKey);
this.info = subjectPublicKeyInfo;
}
}
// Token: 0x17001D7B RID: 7547
// (set) Token: 0x0600BE62 RID: 48738 RVA: 0x002B609C File Offset: 0x002B429C
[Token(Token = "0x17001D7B")]
internal Asn1OctetString SubjectKeyIdentifier
{
[Token(Token = "0x600BE62")]
[Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")]
set
{
this.subjectKeyIdentifier = value;
}
}
// Token: 0x0600BE63 RID: 48739 RVA: 0x002B60B0 File Offset: 0x002B42B0
[Token(Token = "0x600BE63")]
[Address(RVA = "0x2011200", Offset = "0x2010000", VA = "0x182011200", 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: 0x04007923 RID: 31011
[Token(Token = "0x4007923")]
private static readonly CmsEnvelopedHelper Helper = CmsEnvelopedHelper.Instance;
// Token: 0x04007924 RID: 31012
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4007924")]
private TbsCertificateStructure recipientTbsCert;
// Token: 0x04007925 RID: 31013
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4007925")]
private AsymmetricKeyParameter recipientPublicKey;
// Token: 0x04007926 RID: 31014
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4007926")]
private Asn1OctetString subjectKeyIdentifier;
// Token: 0x04007927 RID: 31015
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4007927")]
private SubjectPublicKeyInfo info;
}
}