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

241 lines
8.2 KiB
C#

using System;
using System.Collections;
using System.IO;
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: 0x02001C4C RID: 7244
[Token(Token = "0x2001C4C")]
public class TlsDHKeyExchange : AbstractTlsKeyExchange
{
// Token: 0x0600B22D RID: 45613 RVA: 0x002684CC File Offset: 0x002666CC
[Token(Token = "0x600B22D")]
[Address(RVA = "0x4A03D0", Offset = "0x49F3D0", VA = "0x1804A03D0")]
[Obsolete]
public TlsDHKeyExchange(int keyExchange, IList supportedSignatureAlgorithms, DHParameters dhParameters)
{
DefaultTlsDHVerifier defaultTlsDHVerifier = new DefaultTlsDHVerifier();
}
// Token: 0x0600B22E RID: 45614 RVA: 0x002684E0 File Offset: 0x002666E0
[Token(Token = "0x600B22E")]
[Address(RVA = "0x4A02B0", Offset = "0x49F2B0", VA = "0x1804A02B0")]
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: 0x0600B22F RID: 45615 RVA: 0x00268524 File Offset: 0x00266724
[Token(Token = "0x600B22F")]
[Address(RVA = "0x49FB70", Offset = "0x49EB70", VA = "0x18049FB70", Slot = "20")]
public override void Init(TlsContext context)
{
base.Init(context);
if (this.mTlsSigner != 0)
{
}
}
// Token: 0x0600B230 RID: 45616 RVA: 0x00268544 File Offset: 0x00266744
[Token(Token = "0x600B230")]
[Address(RVA = "0x4A0150", Offset = "0x49F150", VA = "0x1804A0150", Slot = "21")]
public override void SkipServerCredentials()
{
}
// Token: 0x0600B231 RID: 45617 RVA: 0x00268554 File Offset: 0x00266754
[Token(Token = "0x600B231")]
[Address(RVA = "0x49FDE0", Offset = "0x49EDE0", VA = "0x18049FDE0", 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: 0x17001C4C RID: 7244
// (get) Token: 0x0600B232 RID: 45618 RVA: 0x002685B8 File Offset: 0x002667B8
[Token(Token = "0x17001C4C")]
public override bool RequiresServerKeyExchange
{
[Token(Token = "0x600B232")]
[Address(RVA = "0x4A0470", Offset = "0x49F470", VA = "0x1804A0470", Slot = "24")]
get
{
if (this.mKeyExchange != 11)
{
}
return true;
}
}
// Token: 0x0600B233 RID: 45619 RVA: 0x002685D4 File Offset: 0x002667D4
[Token(Token = "0x600B233")]
[Address(RVA = "0x49FA70", Offset = "0x49EA70", VA = "0x18049FA70", 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: 0x0600B234 RID: 45620 RVA: 0x00268604 File Offset: 0x00266804
[Token(Token = "0x600B234")]
[Address(RVA = "0x4A0050", Offset = "0x49F050", VA = "0x1804A0050", 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: 0x0600B235 RID: 45621 RVA: 0x00268644 File Offset: 0x00266844
[Token(Token = "0x600B235")]
[Address(RVA = "0x4A01B0", Offset = "0x49F1B0", VA = "0x1804A01B0", 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: 0x0600B236 RID: 45622 RVA: 0x0026866C File Offset: 0x0026686C
[Token(Token = "0x600B236")]
[Address(RVA = "0x49FC30", Offset = "0x49EC30", VA = "0x18049FC30", Slot = "30")]
public override void ProcessClientCredentials(TlsCredentials clientCredentials)
{
if (clientCredentials == 0)
{
}
}
// Token: 0x0600B237 RID: 45623 RVA: 0x00268680 File Offset: 0x00266880
[Token(Token = "0x600B237")]
[Address(RVA = "0x49F880", Offset = "0x49E880", VA = "0x18049F880", Slot = "32")]
public override void GenerateClientKeyExchange(Stream output)
{
if (this.mAgreementCredentials == (ulong)0L)
{
TlsContext mContext = this.mContext;
DHPrivateKeyParameters dhprivateKeyParameters;
this.mDHAgreePrivateKey = dhprivateKeyParameters;
}
}
// Token: 0x0600B238 RID: 45624 RVA: 0x002686AC File Offset: 0x002668AC
[Token(Token = "0x600B238")]
[Address(RVA = "0x49FBD0", Offset = "0x49EBD0", VA = "0x18049FBD0", Slot = "31")]
public override void ProcessClientCertificate(Certificate clientCertificate)
{
}
// Token: 0x0600B239 RID: 45625 RVA: 0x002686BC File Offset: 0x002668BC
[Token(Token = "0x600B239")]
[Address(RVA = "0x49FD30", Offset = "0x49ED30", VA = "0x18049FD30", 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: 0x0600B23A RID: 45626 RVA: 0x002686F4 File Offset: 0x002668F4
[Token(Token = "0x600B23A")]
[Address(RVA = "0x49F930", Offset = "0x49E930", VA = "0x18049F930", 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: 0x040071B1 RID: 29105
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40071B1")]
protected TlsSigner mTlsSigner;
// Token: 0x040071B2 RID: 29106
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40071B2")]
protected TlsDHVerifier mDHVerifier;
// Token: 0x040071B3 RID: 29107
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40071B3")]
protected DHParameters mDHParameters;
// Token: 0x040071B4 RID: 29108
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40071B4")]
protected AsymmetricKeyParameter mServerPublicKey;
// Token: 0x040071B5 RID: 29109
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40071B5")]
protected TlsAgreementCredentials mAgreementCredentials;
// Token: 0x040071B6 RID: 29110
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40071B6")]
protected DHPrivateKeyParameters mDHAgreePrivateKey;
// Token: 0x040071B7 RID: 29111
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40071B7")]
protected DHPublicKeyParameters mDHAgreePublicKey;
}
}