67 lines
1.8 KiB
C#
67 lines
1.8 KiB
C#
using System;
|
|
|
|
namespace Mono.Security.Protocol.Tls.Handshake.Server
|
|
{
|
|
// Token: 0x020000BA RID: 186
|
|
internal class TlsServerHello : HandshakeMessage
|
|
{
|
|
// Token: 0x060006B9 RID: 1721 RVA: 0x00025B14 File Offset: 0x00023D14
|
|
public TlsServerHello(Context context)
|
|
: base(context, HandshakeType.ServerHello)
|
|
{
|
|
}
|
|
|
|
// Token: 0x060006BA RID: 1722 RVA: 0x00025B20 File Offset: 0x00023D20
|
|
public override void Update()
|
|
{
|
|
base.Update();
|
|
TlsStream tlsStream = new TlsStream();
|
|
tlsStream.Write(this.unixTime);
|
|
tlsStream.Write(this.random);
|
|
base.Context.ServerRandom = tlsStream.ToArray();
|
|
tlsStream.Reset();
|
|
tlsStream.Write(base.Context.ClientRandom);
|
|
tlsStream.Write(base.Context.ServerRandom);
|
|
base.Context.RandomCS = tlsStream.ToArray();
|
|
tlsStream.Reset();
|
|
tlsStream.Write(base.Context.ServerRandom);
|
|
tlsStream.Write(base.Context.ClientRandom);
|
|
base.Context.RandomSC = tlsStream.ToArray();
|
|
tlsStream.Reset();
|
|
}
|
|
|
|
// Token: 0x060006BB RID: 1723 RVA: 0x00025BDC File Offset: 0x00023DDC
|
|
protected override void ProcessAsSsl3()
|
|
{
|
|
this.ProcessAsTls1();
|
|
}
|
|
|
|
// Token: 0x060006BC RID: 1724 RVA: 0x00025BE4 File Offset: 0x00023DE4
|
|
protected override void ProcessAsTls1()
|
|
{
|
|
base.Write(base.Context.Protocol);
|
|
this.unixTime = base.Context.GetUnixTime();
|
|
base.Write(this.unixTime);
|
|
this.random = base.Context.GetSecureRandomBytes(28);
|
|
base.Write(this.random);
|
|
if (base.Context.SessionId == null)
|
|
{
|
|
this.WriteByte(0);
|
|
}
|
|
else
|
|
{
|
|
this.WriteByte((byte)base.Context.SessionId.Length);
|
|
base.Write(base.Context.SessionId);
|
|
}
|
|
base.Write(base.Context.Negotiating.Cipher.Code);
|
|
this.WriteByte((byte)base.Context.CompressionMethod);
|
|
}
|
|
|
|
// Token: 0x0400032F RID: 815
|
|
private int unixTime;
|
|
|
|
// Token: 0x04000330 RID: 816
|
|
private byte[] random;
|
|
}
|
|
}
|