Пример #1
0
        private void AddFinished(OutgoingMessageBag outgoingMessages)
        {
            m_localHash.TransformFinalBlock(new byte[0], 0, 0);

              byte[] seed = m_localHash.Hash;
              m_localHash.Dispose();
              m_localHash = null;

              string label;

              if (SecurityParameters.Entity == ConnectionEnd.Server)
              {
            label = ServerFinishedLabel;
              }
              else
              {
            label = ClientFinshedLabel;
              }

              FinishedMessage finishedMessage = new FinishedMessage();

              finishedMessage.VerifyData =
            PRF.Get(SecurityParameters.MasterSecret, label, seed, FinishedMessage.VerifyDataLength);

              NetMQMessage outgoingMessage = finishedMessage.ToNetMQMessage();
              outgoingMessages.AddHandshakeMessage(outgoingMessage);
            m_lastSentMessage = HandshakeType.Finished;

              if (SecurityParameters.Entity == ConnectionEnd.Client)
              {
            HashRemote(outgoingMessage);
              }
        }
Пример #2
0
        private void AddFinished(OutgoingMessageBag outgoingMessages)
        {
            m_localHash.TransformFinalBlock(EmptyArray<byte>.Instance, 0, 0);

            byte[] seed = m_localHash.Hash;
            m_localHash.Dispose();
            m_localHash = null;

            var label = SecurityParameters.Entity == ConnectionEnd.Server ? ServerFinishedLabel : ClientFinshedLabel;

            var finishedMessage = new FinishedMessage
            {
                VerifyData = PRF.Get(SecurityParameters.MasterSecret, label, seed, FinishedMessage.VerifyDataLength)
            };

            NetMQMessage outgoingMessage = finishedMessage.ToNetMQMessage();
            outgoingMessages.AddHandshakeMessage(outgoingMessage);
            m_lastSentMessage = HandshakeType.Finished;

            if (SecurityParameters.Entity == ConnectionEnd.Client)
            {
                HashRemote(outgoingMessage);
            }
        }