0
我以前從未使用委託,但在過去2個小時一直苦苦掙扎之後瞭解基本概念。我已經創建了一個具有雙向認證的簡單SSL客戶端/服務器。現在我的實際問題:SSLStream和代表的一般用途
在example委託用於驗證服務器/客戶端。
SslStream sslStream = new SslStream(
client.GetStream(),
false,
new RemoteCertificateValidationCallback (ValidateServerCertificate),
null
);
的ValidateServerCertificate是被調用的委託時運行該方法。
public static bool ValidateServerCertificate(
object sender,
X509Certificate certificate,
X509Chain chain,
SslPolicyErrors sslPolicyErrors)
{
if (sslPolicyErrors == SslPolicyErrors.None)
return true;
Console.WriteLine("Certificate error: {0}", sslPolicyErrors);
// Do not allow this client to communicate with unauthenticated servers.
return false;
}
最讓我困惑的是如何在地獄中ValidateServerCertificate獲取參數。也許這是一個愚蠢的問題,你現在正在笑,但請忍受我。我一直坐在教程和前幾個小時的解釋之前,我沒有找到任何幫助我的東西。
在此先感謝
謝謝,我一直在想類似的事情必須發生。客戶在握手期間提供了他的證書後可能會在某處。再次感謝您的澄清。 – voskart 2014-09-25 18:08:07