Could not establish trust relationship for the SSL/TLS secure channel with authority 'computer:9001'.
WCFHTTPS,客戶端無憑證驗證(clientCredentialType="None")。mexHttpsBinding,基址 https://computer:9001/。客戶端不信任服務端憑證的發行鏈(自簽憑證無受信任根 CA)。
public static class Util {
public static void SetCertificatePolicy() {
ServicePointManager.ServerCertificateValidationCallback += RemoteCertificateValidate;
}
private static bool RemoteCertificateValidate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors error) {
Console.WriteLine("Warning: trust any certificate");
return true; // 接受所有憑證
}
}
// 調用前執行一次
Util.SetCertificatePolicy();
var proxy = new WCFServiceClient("WSHttpBinding_IWCFService");
var result = proxy.SayHello("Frank");
makecert -n "CN=MyRootCA" -r -sv MyRootCA.pvk MyRootCA.cer)。makecert -iv MyRootCA.pvk -ic MyRootCA.cer -n "CN=WCFServer" -sky exchange -pe -sr localmachine -ss My)。