本文整理汇总了C#中HandshakeType类的典型用法代码示例。如果您正苦于以下问题:C# HandshakeType类的具体用法?C# HandshakeType怎么用?C# HandshakeType使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
HandshakeType类属于命名空间,在下文中一共展示了HandshakeType类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: VerifyMessage
protected override bool VerifyMessage (HandshakeType type)
{
switch (type) {
case HandshakeType.ServerHello:
return hello == null;
case HandshakeType.Certificate:
return hello != null && certificate == null && certificateRequest == null && done == null;
case HandshakeType.ServerKeyExchange:
if (!UsingServerKeyExchange)
return false;
return hello != null && certificate != null && certificateRequest == null && done == null;
case HandshakeType.CertificateRequest:
if (UsingServerKeyExchange && serverKeyExchange == null)
return false;
return hello != null && certificate != null && certificateRequest == null && done == null;
case HandshakeType.ServerHelloDone:
if (UsingServerKeyExchange && serverKeyExchange == null)
return false;
return hello != null && done == null;
default:
return false;
}
}
示例2: GetMessage
public override HandshakeMessage GetMessage(HandshakeType type)
{
// Create and process the record message
HandshakeMessage msg = this.createServerHandshakeMessage(type);
return msg;
}
示例3: ReadMessage
public static HandshakeMessage ReadMessage (TlsContext context, HandshakeType handshakeType, TlsBuffer incoming)
{
HandshakeMessage message;
switch (handshakeType) {
case HandshakeType.HelloRequest:
message = new TlsHelloRequest ();
break;
case HandshakeType.ServerHello:
return new TlsServerHello (context, incoming);
case HandshakeType.Certificate:
return new TlsCertificate (incoming);
case HandshakeType.ServerHelloDone:
message = new TlsServerHelloDone ();
break;
case HandshakeType.Finished:
return new TlsFinished (incoming);
case HandshakeType.ClientHello:
return new TlsClientHello (context, incoming);
case HandshakeType.ClientKeyExchange:
return new TlsClientKeyExchange (context, incoming);
case HandshakeType.CertificateRequest:
return new TlsCertificateRequest (context.NegotiatedProtocol, incoming);
case HandshakeType.CertificateVerify:
return new TlsCertificateVerify (context.NegotiatedProtocol, incoming);
case HandshakeType.ServerKeyExchange:
return new TlsServerKeyExchange (context, incoming);
default:
throw new TlsException (AlertDescription.UnexpectedMessage, "Unknown server handshake message received: {0}", handshakeType);
}
message.Read (incoming);
return message;
}
示例4: Handshake
public Handshake(HandshakeType type, ushort payloadSize)
{
MessageId = type;
PayloadSize = payloadSize;
MajorVersion = Majorversion;
MinorVersion = Minorversion;
}
示例5: NextProtocolNegotiationMessage
/// <summary>
/// Prevents a default instance of the <see cref="NextProtocolNegotiationMessage"/> class from being created.
/// </summary>
/// <param name="type">The message type.</param>
/// <param name="selectedProtocol">The selected during NPN protocol.</param>
public NextProtocolNegotiationMessage(HandshakeType type, string selectedProtocol)
: base(type, null)
{
this.selectedProtocol = selectedProtocol;
this.padding = this.CalcPadding(this.selectedProtocol);
this.fragment = this.FormByteFragment();
}
示例6: SendRecord
public virtual void SendRecord(HandshakeType type)
{
IAsyncResult ar = this.BeginSendRecord(type, null, null);
this.EndSendRecord(ar);
}
示例7: HandshakeMessage
public HandshakeMessage(
Context context,
HandshakeType handshakeType,
byte[] data) : base(data)
{
this.context = context;
this.handshakeType = handshakeType;
}
示例8: CheckType
void CheckType(HandshakeType type)
{
if (type == HandshakeType.ServerHelloDone)
HasServerHelloDone = true;
else if (type == HandshakeType.Finished)
_hasFinished = true;
else if (type == HandshakeType.HelloRequest)
_hasHelloRequest = true;
}
示例9: VerifyMessage
protected override bool VerifyMessage (HandshakeType type)
{
switch (type) {
case HandshakeType.ClientHello:
return hello == null;
default:
return false;
}
}
示例10: VerifyMessage
protected override bool VerifyMessage (HandshakeType type)
{
switch (type) {
case HandshakeType.ChanceCipherSpec:
return changeCipher == null;
case HandshakeType.Finished:
return changeCipher != null && finished == null;
default:
return false;
}
}
示例11: UpdateVerify
private void UpdateVerify(HandshakeType type, uint length, byte[] body)
{
if (type == HandshakeType.Finished)
{
state.ComputeHandshakeVerify();
}
state.UpdateHandshakeVerify(new[] {(byte) type}, 0, 1);
state.UpdateHandshakeVerify(EndianBitConverter.Big.GetBytes(length), 1, 3);
state.UpdateHandshakeVerify(body, 0, body.Length);
}
示例12: Read
private HandshakeMessage Read(HandshakeType type, byte[] body)
{
switch (type)
{
case HandshakeType.ClientHello:
return ClientHelloMessage.Read(state, body);
case HandshakeType.ClientKeyExchange:
return state.KeyExchange.ReadClientKeyExchange(body);
case HandshakeType.Finished:
return FinishedHandshakeMessage.Read(state, body);
default:
throw new ArgumentOutOfRangeException(nameof(type), type, null);
}
}
示例13: SendRecord
public override void SendRecord(HandshakeType type)
{
// Create the record message
HandshakeMessage msg = this.createServerHandshakeMessage(type);
msg.Process();
// Write record
this.SendRecord(msg.ContentType, msg.EncodeMessage());
// Update session
msg.Update();
// Reset message contents
msg.Reset();
}
示例14: HelloMessage
protected HelloMessage(HandshakeType type, TlsVersion version, byte[] randomBytes, byte[] sessionId, HelloExtension[] extensions) : base(type)
{
Version = version;
SecurityAssert.NotNull(randomBytes);
SecurityAssert.SAssert(randomBytes.Length == 32);
RandomBytes = randomBytes;
SecurityAssert.NotNull(sessionId);
SecurityAssert.SAssert(sessionId.Length >= 0 && sessionId.Length <= 32);
SessionId = sessionId;
SecurityAssert.NotNull(extensions);
SecurityAssert.SAssert(extensions.Length >= 0 && extensions.Length <= 0xFFFF);
Extensions = extensions;
}
示例15: VerifyMessage
protected override bool VerifyMessage (HandshakeType type)
{
switch (type) {
case HandshakeType.ClientKeyExchange:
return keyExchange == null;
case HandshakeType.Certificate:
return keyExchange == null && certificate == null;
case HandshakeType.ChanceCipherSpec:
return keyExchange != null && cipherSpec == null;
case HandshakeType.Finished:
return cipherSpec != null && finished == null;
case HandshakeType.CertificateVerify:
return keyExchange != null && certificate != null && certificateVerify == null && finished == null;
default:
return false;
}
}