Files
Apr2020-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Tls/TlsDHKeyExchange.cs
T
niko 8fc35183db a
2026-04-11 22:19:20 +02:00

236 lines
8.1 KiB
C#

using System;
using System.Collections;
using System.IO;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
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: 0x02001B6C RID: 7020
[Token(Token = "0x2001B6C")]
public class TlsDHKeyExchange : AbstractTlsKeyExchange
{
// Token: 0x0600AE5F RID: 44639 RVA: 0x0025F364 File Offset: 0x0025D564
[Token(Token = "0x600AE5F")]
[Address(RVA = "0x1982040", Offset = "0x1980E40", VA = "0x181982040")]
[Obsolete]
public TlsDHKeyExchange(int keyExchange, IList supportedSignatureAlgorithms, DHParameters dhParameters)
{
DefaultTlsDHVerifier defaultTlsDHVerifier = new DefaultTlsDHVerifier();
}
// Token: 0x0600AE60 RID: 44640 RVA: 0x0025F378 File Offset: 0x0025D578
[Token(Token = "0x600AE60")]
[Address(RVA = "0x1981F20", Offset = "0x1980D20", VA = "0x181981F20")]
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: 0x0600AE61 RID: 44641 RVA: 0x0025F3BC File Offset: 0x0025D5BC
[Token(Token = "0x600AE61")]
[Address(RVA = "0x19817E0", Offset = "0x19805E0", VA = "0x1819817E0", Slot = "20")]
public override void Init(TlsContext context)
{
base.Init(context);
if (this.mTlsSigner != 0)
{
}
}
// Token: 0x0600AE62 RID: 44642 RVA: 0x0025F3DC File Offset: 0x0025D5DC
[Token(Token = "0x600AE62")]
[Address(RVA = "0x1981DC0", Offset = "0x1980BC0", VA = "0x181981DC0", Slot = "21")]
public override void SkipServerCredentials()
{
}
// Token: 0x0600AE63 RID: 44643 RVA: 0x0025F3EC File Offset: 0x0025D5EC
[Token(Token = "0x600AE63")]
[Address(RVA = "0x1981A50", Offset = "0x1980850", VA = "0x181981A50", 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: 0x17001BAF RID: 7087
// (get) Token: 0x0600AE64 RID: 44644 RVA: 0x0025F450 File Offset: 0x0025D650
[Token(Token = "0x17001BAF")]
public override bool RequiresServerKeyExchange
{
[Token(Token = "0x600AE64")]
[Address(RVA = "0x19820E0", Offset = "0x1980EE0", VA = "0x1819820E0", Slot = "24")]
get
{
if (this.mKeyExchange != 11)
{
}
return true;
}
}
// Token: 0x0600AE65 RID: 44645 RVA: 0x0025F46C File Offset: 0x0025D66C
[Token(Token = "0x600AE65")]
[Address(RVA = "0x19816E0", Offset = "0x19804E0", VA = "0x1819816E0", 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: 0x0600AE66 RID: 44646 RVA: 0x0025F49C File Offset: 0x0025D69C
[Token(Token = "0x600AE66")]
[Address(RVA = "0x1981CC0", Offset = "0x1980AC0", VA = "0x181981CC0", 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: 0x0600AE67 RID: 44647 RVA: 0x0025F4DC File Offset: 0x0025D6DC
[Token(Token = "0x600AE67")]
[Address(RVA = "0x1981E20", Offset = "0x1980C20", VA = "0x181981E20", 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: 0x0600AE68 RID: 44648 RVA: 0x0025F504 File Offset: 0x0025D704
[Token(Token = "0x600AE68")]
[Address(RVA = "0x19818A0", Offset = "0x19806A0", VA = "0x1819818A0", Slot = "30")]
public override void ProcessClientCredentials(TlsCredentials clientCredentials)
{
if (clientCredentials == 0)
{
}
}
// Token: 0x0600AE69 RID: 44649 RVA: 0x0025F518 File Offset: 0x0025D718
[Token(Token = "0x600AE69")]
[Address(RVA = "0x1981570", Offset = "0x1980370", VA = "0x181981570", Slot = "32")]
public override void GenerateClientKeyExchange(Stream output)
{
if (this.mAgreementCredentials == (ulong)0L)
{
TlsContext mContext = this.mContext;
DHPrivateKeyParameters dhprivateKeyParameters;
this.mDHAgreePrivateKey = dhprivateKeyParameters;
}
}
// Token: 0x0600AE6A RID: 44650 RVA: 0x0025F544 File Offset: 0x0025D744
[Token(Token = "0x600AE6A")]
[Address(RVA = "0x1981840", Offset = "0x1980640", VA = "0x181981840", Slot = "31")]
public override void ProcessClientCertificate(Certificate clientCertificate)
{
}
// Token: 0x0600AE6B RID: 44651 RVA: 0x0025F554 File Offset: 0x0025D754
[Token(Token = "0x600AE6B")]
[Address(RVA = "0x19819A0", Offset = "0x19807A0", VA = "0x1819819A0", 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: 0x0600AE6C RID: 44652 RVA: 0x0025F58C File Offset: 0x0025D78C
[Token(Token = "0x600AE6C")]
[Address(RVA = "0x1981620", Offset = "0x1980420", VA = "0x181981620", Slot = "34")]
public override byte[] GeneratePremasterSecret()
{
DHPrivateKeyParameters dhprivateKeyParameters;
for (;;)
{
if (this.mAgreementCredentials == 0)
{
dhprivateKeyParameters = this.mDHAgreePrivateKey;
if (dhprivateKeyParameters != 0)
{
break;
}
}
}
return TlsDHUtilities.CalculateDHBasicAgreement(this.mDHAgreePublicKey, dhprivateKeyParameters);
}
// Token: 0x04006FF8 RID: 28664
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4006FF8")]
protected TlsSigner mTlsSigner;
// Token: 0x04006FF9 RID: 28665
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4006FF9")]
protected TlsDHVerifier mDHVerifier;
// Token: 0x04006FFA RID: 28666
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4006FFA")]
protected DHParameters mDHParameters;
// Token: 0x04006FFB RID: 28667
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4006FFB")]
protected AsymmetricKeyParameter mServerPublicKey;
// Token: 0x04006FFC RID: 28668
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4006FFC")]
protected TlsAgreementCredentials mAgreementCredentials;
// Token: 0x04006FFD RID: 28669
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006FFD")]
protected DHPrivateKeyParameters mDHAgreePrivateKey;
// Token: 0x04006FFE RID: 28670
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006FFE")]
protected DHPublicKeyParameters mDHAgreePublicKey;
}
}