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

243 lines
8.5 KiB
C#

using System;
using System.Collections;
using System.IO;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
{
// Token: 0x0200158F RID: 5519
[Token(Token = "0x200158F")]
[StructLayout(3)]
public class TlsDHKeyExchange : AbstractTlsKeyExchange
{
// Token: 0x06009285 RID: 37509 RVA: 0x00207C7C File Offset: 0x00205E7C
[Token(Token = "0x6009285")]
[Address(RVA = "0x1E939F0", Offset = "0x1E923F0", VA = "0x181E939F0")]
[Obsolete]
public TlsDHKeyExchange(int keyExchange, IList supportedSignatureAlgorithms, DHParameters dhParameters)
{
DefaultTlsDHVerifier defaultTlsDHVerifier = new DefaultTlsDHVerifier();
}
// Token: 0x06009286 RID: 37510 RVA: 0x00207C90 File Offset: 0x00205E90
[Token(Token = "0x6009286")]
[Address(RVA = "0x1E938D0", Offset = "0x1E922D0", VA = "0x181E938D0")]
public TlsDHKeyExchange(int keyExchange, IList supportedSignatureAlgorithms, TlsDHVerifier dhVerifier, DHParameters dhParameters)
: base(keyExchange, supportedSignatureAlgorithms)
{
TlsDssSigner tlsDssSigner = new TlsDssSigner();
TlsRsaSigner tlsRsaSigner = new TlsRsaSigner();
int num = 0;
this.mTlsSigner = num;
this.mDHVerifier = dhVerifier;
this.mDHParameters = 0;
}
// Token: 0x06009287 RID: 37511 RVA: 0x00207CD4 File Offset: 0x00205ED4
[Token(Token = "0x6009287")]
[Address(RVA = "0x1E93190", Offset = "0x1E91B90", VA = "0x181E93190", Slot = "20")]
public override void Init(TlsContext context)
{
base.Init(context);
if (this.mTlsSigner != 0)
{
}
}
// Token: 0x06009288 RID: 37512 RVA: 0x00207CF4 File Offset: 0x00205EF4
[Token(Token = "0x6009288")]
[Address(RVA = "0x1E93770", Offset = "0x1E92170", VA = "0x181E93770", Slot = "21")]
public override void SkipServerCredentials()
{
}
// Token: 0x06009289 RID: 37513 RVA: 0x00207D04 File Offset: 0x00205F04
[Token(Token = "0x6009289")]
[Address(RVA = "0x1E93400", Offset = "0x1E91E00", VA = "0x181E93400", Slot = "22")]
public override void ProcessServerCertificate(Certificate serverCertificate)
{
while (serverCertificate.Length != 0)
{
}
X509CertificateStructure[] certificateList = serverCertificate.GetCertificateList();
AsymmetricKeyParameter asymmetricKeyParameter = PublicKeyFactory.CreateKey(certificateList.SubjectPublicKeyInfo);
this.mServerPublicKey = asymmetricKeyParameter;
if (this.mTlsSigner == 0 || asymmetricKeyParameter != 0)
{
this.mDHAgreePublicKey = asymmetricKeyParameter;
this.mDHParameters = asymmetricKeyParameter;
TlsUtilities.ValidateKeyUsage(certificateList, 8);
base.ProcessServerCertificate(serverCertificate);
return;
}
throw new NullReferenceException();
}
// Token: 0x170017AE RID: 6062
// (get) Token: 0x0600928A RID: 37514 RVA: 0x00207D68 File Offset: 0x00205F68
[Token(Token = "0x170017AE")]
public override bool RequiresServerKeyExchange
{
[Token(Token = "0x600928A")]
[Address(RVA = "0x1E93A90", Offset = "0x1E92490", VA = "0x181E93A90", Slot = "24")]
get
{
if (this.mKeyExchange != 11)
{
}
return true;
}
}
// Token: 0x0600928B RID: 37515 RVA: 0x00207D84 File Offset: 0x00205F84
[Token(Token = "0x600928B")]
[Address(RVA = "0x1E93090", Offset = "0x1E91A90", VA = "0x181E93090", Slot = "25")]
public override byte[] GenerateServerKeyExchange()
{
MemoryStream memoryStream = new MemoryStream();
TlsContext mContext = this.mContext;
DHPrivateKeyParameters dhprivateKeyParameters;
this.mDHAgreePrivateKey = dhprivateKeyParameters;
((IDisposable)memoryStream).Dispose();
throw new NullReferenceException();
}
// Token: 0x0600928C RID: 37516 RVA: 0x00207DB4 File Offset: 0x00205FB4
[Token(Token = "0x600928C")]
[Address(RVA = "0x1E93670", Offset = "0x1E92070", VA = "0x181E93670", Slot = "27")]
public override void ProcessServerKeyExchange(Stream input)
{
DHParameters dhparameters = TlsDHUtilities.ReceiveDHParameters(this.mDHVerifier, input);
this.mDHParameters = dhparameters;
BigInteger bigInteger = TlsDHUtilities.ReadDHParameter(input);
DHParameters dhparameters2 = this.mDHParameters;
DHPublicKeyParameters dhpublicKeyParameters = new DHPublicKeyParameters(bigInteger, dhparameters2);
this.mDHAgreePublicKey = dhpublicKeyParameters;
}
// Token: 0x0600928D RID: 37517 RVA: 0x00207DF4 File Offset: 0x00205FF4
[Token(Token = "0x600928D")]
[Address(RVA = "0x1E937D0", Offset = "0x1E921D0", VA = "0x181E937D0", Slot = "28")]
public override void ValidateCertificateRequest(CertificateRequest certificateRequest)
{
int num;
do
{
string text = certificateRequest.ToString();
num = 0;
}
while (18446744073709551615UL > (ulong)3L && num != 64);
num++;
}
// Token: 0x0600928E RID: 37518 RVA: 0x00207E1C File Offset: 0x0020601C
[Token(Token = "0x600928E")]
[Address(RVA = "0x1E93250", Offset = "0x1E91C50", VA = "0x181E93250", Slot = "30")]
public override void ProcessClientCredentials(TlsCredentials clientCredentials)
{
if (clientCredentials == 0)
{
}
}
// Token: 0x0600928F RID: 37519 RVA: 0x00207E30 File Offset: 0x00206030
[Token(Token = "0x600928F")]
[Address(RVA = "0x1E92EA0", Offset = "0x1E918A0", VA = "0x181E92EA0", Slot = "32")]
public override void GenerateClientKeyExchange(Stream output)
{
if (this.mAgreementCredentials == (ulong)0L)
{
TlsContext mContext = this.mContext;
DHPrivateKeyParameters dhprivateKeyParameters;
this.mDHAgreePrivateKey = dhprivateKeyParameters;
}
}
// Token: 0x06009290 RID: 37520 RVA: 0x00207E5C File Offset: 0x0020605C
[Token(Token = "0x6009290")]
[Address(RVA = "0x1E931F0", Offset = "0x1E91BF0", VA = "0x181E931F0", Slot = "31")]
public override void ProcessClientCertificate(Certificate clientCertificate)
{
}
// Token: 0x06009291 RID: 37521 RVA: 0x00207E6C File Offset: 0x0020606C
[Token(Token = "0x6009291")]
[Address(RVA = "0x1E93350", Offset = "0x1E91D50", VA = "0x181E93350", Slot = "33")]
public override void ProcessClientKeyExchange(Stream input)
{
if (this.mDHAgreePublicKey == (ulong)0L)
{
BigInteger bigInteger = TlsDHUtilities.ReadDHParameter(input);
DHParameters dhparameters = this.mDHParameters;
DHPublicKeyParameters dhpublicKeyParameters = new DHPublicKeyParameters(bigInteger, dhparameters);
this.mDHAgreePublicKey = dhpublicKeyParameters;
}
}
// Token: 0x06009292 RID: 37522 RVA: 0x00207EA4 File Offset: 0x002060A4
[Token(Token = "0x6009292")]
[Address(RVA = "0x1E92F50", Offset = "0x1E91950", VA = "0x181E92F50", Slot = "34")]
public override byte[] GeneratePremasterSecret()
{
DHPrivateKeyParameters dhprivateKeyParameters;
for (;;)
{
if (this.mAgreementCredentials == 0)
{
dhprivateKeyParameters = this.mDHAgreePrivateKey;
if (dhprivateKeyParameters != 0)
{
break;
}
}
}
DHBasicAgreement dhbasicAgreement = new DHBasicAgreement();
BigInteger bigInteger = dhbasicAgreement.CalculateAgreement(dhprivateKeyParameters);
int fieldSize = dhbasicAgreement.GetFieldSize();
byte[] array;
return array;
}
// Token: 0x040061B5 RID: 25013
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x40061B5")]
protected TlsSigner mTlsSigner;
// Token: 0x040061B6 RID: 25014
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x40061B6")]
protected TlsDHVerifier mDHVerifier;
// Token: 0x040061B7 RID: 25015
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x40061B7")]
protected DHParameters mDHParameters;
// Token: 0x040061B8 RID: 25016
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x40061B8")]
protected AsymmetricKeyParameter mServerPublicKey;
// Token: 0x040061B9 RID: 25017
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x40061B9")]
protected TlsAgreementCredentials mAgreementCredentials;
// Token: 0x040061BA RID: 25018
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x40061BA")]
protected DHPrivateKeyParameters mDHAgreePrivateKey;
// Token: 0x040061BB RID: 25019
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x40061BB")]
protected DHPublicKeyParameters mDHAgreePublicKey;
}
}