Exemplo n.º 1
0
        private void OnCertificate(NetMQMessage incomingMessage, OutgoingMessageBag outgoingMessages)
        {
            if (m_lastReceivedMessage != HandshakeType.ServerHello || m_lastSentMessage != HandshakeType.ClientHello)
            {
                throw new NetMQSecurityException(NetMQSecurityErrorCode.HandshakeUnexpectedMessage, "Certificate received when expecting another message");
            }

              HashLocalAndRemote(incomingMessage);

              CertificateMessage certificateMessage = new CertificateMessage();
              certificateMessage.SetFromNetMQMessage(incomingMessage);

              if (!VerifyCertificate(certificateMessage.Certificate))
              {
            throw new NetMQSecurityException(NetMQSecurityErrorCode.HandshakeUnexpectedMessage,  "Unable to verify certificate");
              }

              RemoteCertificate = certificateMessage.Certificate;
        }
Exemplo n.º 2
0
        private void AddCertificateMessage(OutgoingMessageBag outgoingMessages)
        {
            CertificateMessage certificateMessage = new CertificateMessage();
              certificateMessage.Certificate = LocalCertificate;

              NetMQMessage outgoingMessage = certificateMessage.ToNetMQMessage();
              HashLocalAndRemote(outgoingMessage);
              outgoingMessages.AddHandshakeMessage(outgoingMessage);
            m_lastSentMessage = HandshakeType.Certificate;
        }