protected override void ProcessAsSsl3()
        {
            ServerContext context = (ServerContext)this.Context;

            byte[]           rgbSignature     = this.ReadBytes((int)this.ReadInt16());
            SslHandshakeHash sslHandshakeHash = new SslHandshakeHash(context.MasterSecret);

            sslHandshakeHash.TransformFinalBlock(context.HandshakeMessages.ToArray(), 0, (int)context.HandshakeMessages.Length);
            if (!sslHandshakeHash.VerifySignature((RSA)context.ClientSettings.CertificateRSA, rgbSignature))
            {
                throw new TlsException(AlertDescription.HandshakeFailiure, "Handshake Failure.");
            }
        }
		protected override void ProcessAsSsl3()
		{
			ServerContext	context		= (ServerContext)this.Context;
			byte[]			signature	= this.ReadBytes((int)this.Length);

			// Verify signature
			SslHandshakeHash hash = new SslHandshakeHash(context.MasterSecret);			
			hash.TransformFinalBlock(
				context.HandshakeMessages.ToArray(), 
				0, 
				(int)context.HandshakeMessages.Length);

			if (!hash.VerifySignature(context.ClientSettings.CertificateRSA, signature))
			{
				throw new TlsException(AlertDescription.HandshakeFailiure, "Handshake Failiure.");
			}
		}
        protected override void ProcessAsSsl3()
        {
            var context   = (ServerContext)Context;
            int length    = ReadInt16();
            var signature = ReadBytes(length);

            // Verify signature
            var hash = new SslHandshakeHash(context.MasterSecret);

            hash.TransformFinalBlock(
                context.HandshakeMessages.ToArray(),
                0,
                (int)context.HandshakeMessages.Length);

            if (!hash.VerifySignature(context.ClientSettings.CertificateRSA, signature))
            {
                throw new TlsException(AlertDescription.HandshakeFailiure, "Handshake Failure.");
            }
        }