public void Setup()
{
X509Certificate2 certificate = new X509Certificate2("NetMQ.Testing.pfx", "1");
m_serverSecureChannel = new SecureChannel(ConnectionEnd.Server) { Certificate = certificate };
m_clientSecureChannel = new SecureChannel(ConnectionEnd.Client);
m_clientSecureChannel.SetVerifyCertificate(c => true);
IList<NetMQMessage> clientOutgoingMessages = new List<NetMQMessage>();
IList<NetMQMessage> serverOutgoingMessages = new List<NetMQMessage>();
bool serverComplete = false;
bool clientComplete = m_clientSecureChannel.ProcessMessage(null, clientOutgoingMessages);
while (!serverComplete || !clientComplete)
{
if (!serverComplete)
{
foreach (var message in clientOutgoingMessages)
{
serverComplete = m_serverSecureChannel.ProcessMessage(message, serverOutgoingMessages);
if (serverComplete)
{
break;
}
}
clientOutgoingMessages.Clear();
}
if (!clientComplete)
{
foreach (var message in serverOutgoingMessages)
{
clientComplete = m_clientSecureChannel.ProcessMessage(message, clientOutgoingMessages);
if (clientComplete)
{
break;
}
}
serverOutgoingMessages.Clear();
}
}
}