scripts
This commit is contained in:
+258
@@ -0,0 +1,258 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.Ecc;
|
||||
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.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.X509;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Cms
|
||||
{
|
||||
// Token: 0x0200177C RID: 6012
|
||||
[Token(Token = "0x200177C")]
|
||||
[StructLayout(3)]
|
||||
internal class KeyAgreeRecipientInfoGenerator : RecipientInfoGenerator
|
||||
{
|
||||
// Token: 0x0600A274 RID: 41588 RVA: 0x0025D430 File Offset: 0x0025B630
|
||||
[Token(Token = "0x600A274")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
internal KeyAgreeRecipientInfoGenerator()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x17001974 RID: 6516
|
||||
// (set) Token: 0x0600A275 RID: 41589 RVA: 0x0025D444 File Offset: 0x0025B644
|
||||
[Token(Token = "0x17001974")]
|
||||
internal DerObjectIdentifier KeyAgreementOID
|
||||
{
|
||||
[Token(Token = "0x600A275")]
|
||||
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0")]
|
||||
set
|
||||
{
|
||||
this.keyAgreementOID = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001975 RID: 6517
|
||||
// (set) Token: 0x0600A276 RID: 41590 RVA: 0x0025D458 File Offset: 0x0025B658
|
||||
[Token(Token = "0x17001975")]
|
||||
internal DerObjectIdentifier KeyEncryptionOID
|
||||
{
|
||||
[Token(Token = "0x600A276")]
|
||||
[Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280")]
|
||||
set
|
||||
{
|
||||
this.keyEncryptionOID = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001976 RID: 6518
|
||||
// (set) Token: 0x0600A277 RID: 41591 RVA: 0x0025D46C File Offset: 0x0025B66C
|
||||
[Token(Token = "0x17001976")]
|
||||
internal ICollection RecipientCerts
|
||||
{
|
||||
[Token(Token = "0x600A277")]
|
||||
[Address(RVA = "0x65F590", Offset = "0x65DF90", VA = "0x18065F590")]
|
||||
set
|
||||
{
|
||||
IList list = Platform.CreateArrayList(value);
|
||||
this.recipientCerts = list;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001977 RID: 6519
|
||||
// (set) Token: 0x0600A278 RID: 41592 RVA: 0x0025D488 File Offset: 0x0025B688
|
||||
[Token(Token = "0x17001977")]
|
||||
internal AsymmetricCipherKeyPair SenderKeyPair
|
||||
{
|
||||
[Token(Token = "0x600A278")]
|
||||
[Address(RVA = "0x3C1270", Offset = "0x3BFC70", VA = "0x1803C1270")]
|
||||
set
|
||||
{
|
||||
this.senderKeyPair = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A279 RID: 41593 RVA: 0x0025D49C File Offset: 0x0025B69C
|
||||
[Token(Token = "0x600A279")]
|
||||
[Address(RVA = "0x65E7C0", Offset = "0x65D1C0", VA = "0x18065E7C0", Slot = "4")]
|
||||
public RecipientInfo Generate(KeyParameter contentEncryptionKey, SecureRandom random)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
int num = 0;
|
||||
byte[] key = contentEncryptionKey.GetKey();
|
||||
AsymmetricCipherKeyPair asymmetricCipherKeyPair = this.senderKeyPair;
|
||||
AsymmetricKeyParameter publicParameter = asymmetricCipherKeyPair.publicParameter;
|
||||
AsymmetricKeyParameter privateParameter = asymmetricCipherKeyPair.privateParameter;
|
||||
OriginatorIdentifierOrKey originatorIdentifierOrKey = new OriginatorIdentifierOrKey(KeyAgreeRecipientInfoGenerator.CreateOriginatorPublicKey(publicParameter));
|
||||
string identifier = this.keyAgreementOID.identifier;
|
||||
string ecmqvSha1Kdf = CmsEnvelopedGenerator.ECMqvSha1Kdf;
|
||||
if (identifier.Equals(ecmqvSha1Kdf))
|
||||
{
|
||||
IAsymmetricCipherKeyPairGenerator keyPairGenerator = GeneratorUtilities.GetKeyPairGenerator(this.keyAgreementOID);
|
||||
if (publicParameter == 0 || publicParameter == 0)
|
||||
{
|
||||
goto IL_260;
|
||||
}
|
||||
int num2 = 0;
|
||||
if (num < num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
int num3 = 0;
|
||||
if (num < num3)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
OriginatorPublicKey originatorPublicKey;
|
||||
int num4;
|
||||
MQVuserKeyingMaterial mqvuserKeyingMaterial = new MQVuserKeyingMaterial(originatorPublicKey, num4);
|
||||
num4 = 0;
|
||||
DerOctetString derOctetString = new DerOctetString(mqvuserKeyingMaterial);
|
||||
if (num == 0)
|
||||
{
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
goto IL_254;
|
||||
}
|
||||
if (mqvuserKeyingMaterial == 0)
|
||||
{
|
||||
}
|
||||
if (mqvuserKeyingMaterial == 0)
|
||||
{
|
||||
goto IL_254;
|
||||
}
|
||||
if (privateParameter == 0)
|
||||
{
|
||||
}
|
||||
if (privateParameter == 0)
|
||||
{
|
||||
goto IL_254;
|
||||
}
|
||||
}
|
||||
Asn1Encodable[] array = new Asn1Encodable[2];
|
||||
DerObjectIdentifier derObjectIdentifier = this.keyEncryptionOID;
|
||||
if (derObjectIdentifier != 0)
|
||||
{
|
||||
}
|
||||
array[0] = derObjectIdentifier;
|
||||
DerNull instance = DerNull.Instance;
|
||||
if (instance != 0)
|
||||
{
|
||||
}
|
||||
array[1] = instance;
|
||||
DerSequence derSequence = new DerSequence(array);
|
||||
AlgorithmIdentifier algorithmIdentifier = new AlgorithmIdentifier(this.keyAgreementOID, derSequence);
|
||||
IList list = this.recipientCerts;
|
||||
Asn1EncodableVector asn1EncodableVector;
|
||||
if (asn1EncodableVector != 0)
|
||||
{
|
||||
if (asn1EncodableVector == 0)
|
||||
{
|
||||
}
|
||||
if (asn1EncodableVector != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ArrayTypeMismatchException ex;
|
||||
if (ex != 0)
|
||||
{
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
goto Block_9;
|
||||
}
|
||||
}
|
||||
}
|
||||
Asn1Object asn1Object;
|
||||
TbsCertificateStructure instance2 = TbsCertificateStructure.GetInstance(asn1Object);
|
||||
X509Name issuer = instance2.issuer;
|
||||
BigInteger value = instance2.serialNumber.Value;
|
||||
KeyAgreeRecipientIdentifier keyAgreeRecipientIdentifier = new KeyAgreeRecipientIdentifier(new IssuerAndSerialNumber(issuer, value));
|
||||
string identifier2 = this.keyAgreementOID.identifier;
|
||||
string ecmqvSha1Kdf2 = CmsEnvelopedGenerator.ECMqvSha1Kdf;
|
||||
if (identifier2.Equals(ecmqvSha1Kdf2))
|
||||
{
|
||||
}
|
||||
DerObjectIdentifier derObjectIdentifier2 = this.keyAgreementOID;
|
||||
string identifier3 = this.keyEncryptionOID.identifier;
|
||||
IBasicAgreement basicAgreementWithKdf = AgreementUtilities.GetBasicAgreementWithKdf(derObjectIdentifier2, identifier3);
|
||||
DerObjectIdentifier derObjectIdentifier3 = this.keyEncryptionOID;
|
||||
int num5 = 0;
|
||||
int defaultKeySize = GeneratorUtilities.GetDefaultKeySize(derObjectIdentifier3);
|
||||
num5 += defaultKeySize;
|
||||
byte[] array2;
|
||||
KeyParameter keyParameter = ParameterUtilities.CreateKeyParameter(this.keyEncryptionOID, array2);
|
||||
CmsEnvelopedHelper helper = KeyAgreeRecipientInfoGenerator.Helper;
|
||||
DerObjectIdentifier derObjectIdentifier4 = this.keyEncryptionOID;
|
||||
int num6 = 0;
|
||||
string identifier4 = derObjectIdentifier4.identifier;
|
||||
IWrapper wrapper = helper.CreateWrapper(identifier4);
|
||||
ParametersWithRandom parametersWithRandom = new ParametersWithRandom(keyParameter, num6);
|
||||
Asn1Encodable[] array3 = new Asn1Encodable[1];
|
||||
DerOctetString derOctetString2;
|
||||
RecipientEncryptedKey recipientEncryptedKey = new RecipientEncryptedKey(keyAgreeRecipientIdentifier, derOctetString2);
|
||||
throw new ArrayTypeMismatchException();
|
||||
Block_9:
|
||||
KeyAgreeRecipientInfo keyAgreeRecipientInfo;
|
||||
return new RecipientInfo(keyAgreeRecipientInfo);
|
||||
IL_254:
|
||||
throw new NullReferenceException();
|
||||
IL_260:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A27A RID: 41594 RVA: 0x0025D724 File Offset: 0x0025B924
|
||||
[Token(Token = "0x600A27A")]
|
||||
[Address(RVA = "0x65E6A0", Offset = "0x65D0A0", VA = "0x18065E6A0")]
|
||||
private static OriginatorPublicKey CreateOriginatorPublicKey(AsymmetricKeyParameter publicKey)
|
||||
{
|
||||
SubjectPublicKeyInfo subjectPublicKeyInfo = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(publicKey);
|
||||
Asn1Object asn1Object = subjectPublicKeyInfo.algID.ToAsn1Object();
|
||||
byte[] octets = subjectPublicKeyInfo.keyData.GetOctets();
|
||||
AlgorithmIdentifier algorithmIdentifier;
|
||||
return new OriginatorPublicKey(algorithmIdentifier, octets);
|
||||
}
|
||||
|
||||
// Token: 0x04006AD9 RID: 27353
|
||||
[Token(Token = "0x4006AD9")]
|
||||
private static readonly CmsEnvelopedHelper Helper = CmsEnvelopedHelper.Instance;
|
||||
|
||||
// Token: 0x04006ADA RID: 27354
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006ADA")]
|
||||
private DerObjectIdentifier keyAgreementOID;
|
||||
|
||||
// Token: 0x04006ADB RID: 27355
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006ADB")]
|
||||
private DerObjectIdentifier keyEncryptionOID;
|
||||
|
||||
// Token: 0x04006ADC RID: 27356
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006ADC")]
|
||||
private IList recipientCerts;
|
||||
|
||||
// Token: 0x04006ADD RID: 27357
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006ADD")]
|
||||
private AsymmetricCipherKeyPair senderKeyPair;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user