a
This commit is contained in:
+115
@@ -0,0 +1,115 @@
|
||||
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: 0x02001D62 RID: 7522
|
||||
[Token(Token = "0x2001D62")]
|
||||
internal class PasswordRecipientInfoGenerator : RecipientInfoGenerator
|
||||
{
|
||||
// Token: 0x0600BE7E RID: 48766 RVA: 0x002B6710 File Offset: 0x002B4910
|
||||
[Token(Token = "0x600BE7E")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
internal PasswordRecipientInfoGenerator()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x17001D7C RID: 7548
|
||||
// (set) Token: 0x0600BE7F RID: 48767 RVA: 0x002B6724 File Offset: 0x002B4924
|
||||
[Token(Token = "0x17001D7C")]
|
||||
internal AlgorithmIdentifier KeyDerivationAlgorithm
|
||||
{
|
||||
[Token(Token = "0x600BE7F")]
|
||||
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")]
|
||||
set
|
||||
{
|
||||
this.keyDerivationAlgorithm = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001D7D RID: 7549
|
||||
// (set) Token: 0x0600BE80 RID: 48768 RVA: 0x002B6738 File Offset: 0x002B4938
|
||||
[Token(Token = "0x17001D7D")]
|
||||
internal KeyParameter KeyEncryptionKey
|
||||
{
|
||||
[Token(Token = "0x600BE80")]
|
||||
[Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210")]
|
||||
set
|
||||
{
|
||||
this.keyEncryptionKey = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001D7E RID: 7550
|
||||
// (set) Token: 0x0600BE81 RID: 48769 RVA: 0x002B674C File Offset: 0x002B494C
|
||||
[Token(Token = "0x17001D7E")]
|
||||
internal string KeyEncryptionKeyOID
|
||||
{
|
||||
[Token(Token = "0x600BE81")]
|
||||
[Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")]
|
||||
set
|
||||
{
|
||||
this.keyEncryptionKeyOID = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE82 RID: 48770 RVA: 0x002B6760 File Offset: 0x002B4960
|
||||
[Token(Token = "0x600BE82")]
|
||||
[Address(RVA = "0x2012650", Offset = "0x2011450", VA = "0x182012650", 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: 0x0400792C RID: 31020
|
||||
[Token(Token = "0x400792C")]
|
||||
private static readonly CmsEnvelopedHelper Helper = CmsEnvelopedHelper.Instance;
|
||||
|
||||
// Token: 0x0400792D RID: 31021
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400792D")]
|
||||
private AlgorithmIdentifier keyDerivationAlgorithm;
|
||||
|
||||
// Token: 0x0400792E RID: 31022
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400792E")]
|
||||
private KeyParameter keyEncryptionKey;
|
||||
|
||||
// Token: 0x0400792F RID: 31023
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400792F")]
|
||||
private string keyEncryptionKeyOID;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user