Files
Dec2017-Script-Dump/Mono.Security/Security/Protocol/Tls/Handshake/Client/TlsServerCertificateRequest.cs
T
2026-06-04 11:42:34 +02:00

58 lines
1.7 KiB
C#

using System;
using System.Text;
namespace Mono.Security.Protocol.Tls.Handshake.Client
{
// Token: 0x020000AD RID: 173
internal class TlsServerCertificateRequest : HandshakeMessage
{
// Token: 0x06000683 RID: 1667 RVA: 0x00024724 File Offset: 0x00022924
public TlsServerCertificateRequest(Context context, byte[] buffer)
: base(context, HandshakeType.CertificateRequest, buffer)
{
}
// Token: 0x06000684 RID: 1668 RVA: 0x00024730 File Offset: 0x00022930
public override void Update()
{
base.Update();
base.Context.ServerSettings.CertificateTypes = this.certificateTypes;
base.Context.ServerSettings.DistinguisedNames = this.distinguisedNames;
base.Context.ServerSettings.CertificateRequest = true;
}
// Token: 0x06000685 RID: 1669 RVA: 0x00024780 File Offset: 0x00022980
protected override void ProcessAsSsl3()
{
this.ProcessAsTls1();
}
// Token: 0x06000686 RID: 1670 RVA: 0x00024788 File Offset: 0x00022988
protected override void ProcessAsTls1()
{
int num = (int)base.ReadByte();
this.certificateTypes = new ClientCertificateType[num];
for (int i = 0; i < num; i++)
{
this.certificateTypes[i] = (ClientCertificateType)base.ReadByte();
}
if (base.ReadInt16() != 0)
{
ASN1 asn = new ASN1(base.ReadBytes((int)base.ReadInt16()));
this.distinguisedNames = new string[asn.Count];
for (int j = 0; j < asn.Count; j++)
{
ASN1 asn2 = new ASN1(asn[j].Value);
this.distinguisedNames[j] = Encoding.UTF8.GetString(asn2[1].Value);
}
}
}
// Token: 0x04000320 RID: 800
private ClientCertificateType[] certificateTypes;
// Token: 0x04000321 RID: 801
private string[] distinguisedNames;
}
}