使用Visual Studio 2005 - C# 2.0,
以下是代码的简化版本:
这是我收到的错误信息:
底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。
当请求发出时,我没有太多控制权来查看发生了什么。有人告诉我它已经到达了正确的目的地,但出现了“证书错误”。这据说是因为我的请求中的 IP 地址与解析出的 URL 不匹配。我有多个 IP 地址需要轮询,所以指定 URL 表示不可行。我没有附加证书,也不应该根据终端点所有者的说法。按照“他们”的说法,证书错误是“正常的”,我应该忽略它。
问题中涉及的证书据说是我们服务器上的许多 Verisign 证书之一。我看了一下 .net WebService, bypass ssl validation!,它有点描述了我的问题,但也有点不一样,因为我不知道应该引用哪个证书(如果有)。
有没有办法让我忽略错误,而不必真正知道/关心哪个证书导致了问题?
请小心操作,使用简单易懂的语言和“白痴式”的代码,因为我并不是一个专业人士。
这个流量是通过专用线路传输的,所以我理解忽略证书错误不像在公开互联网上那么重要。
System.Net.WebClient.UploadData(Uri address, byte[] data)
,Windows Server 2003。以下是代码的简化版本:
static string SO_method(String fullRequestString)
{
string theUriStringToUse = @"https://10.10.10.10:443"; // populated with real endpoint IP:port
string proxyAddressAndPort = @"http://10.10.10.10:80/"; // populated with a real proxy IP:port
Byte[] utf8EncodedResponse; // for the return data in utf8
string responseString; // for the return data in utf16
WebClient myWebClient = new WebClient(); // instantiate a web client
WebProxy proxyObject = new WebProxy(proxyAddressAndPort, true);// instantiate & popuylate a web proxy
myWebClient.Proxy = proxyObject; // add the proxy to the client
myWebClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); // stick some stuff in the header
UTF8Encoding utf8Encoding = new UTF8Encoding(false);// create a utf8 encoding
Byte[] utf8EncodedRequest = HttpUtility.UrlEncodeToBytes(fullRequestString, utf8Encoding); // convert the request data to a utf8 byte array
try
{
utf8EncodedResponse = myWebClient.UploadData(theUriStringToUse, "POST", utf8EncodedRequest); // pass the utf8-encoded byte array
responseString = utf8Encoding.GetString(utf8EncodedResponse); // get a useable string out of the response
}
catch (Exception e)
{
// some other error handling
responseString = "<CommError><![CDATA[" + e.ToString() + "]]></CommError>";// show the basics of the problem
}
return responseString;// return whatever ya got
}
这是我收到的错误信息:
底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。
当请求发出时,我没有太多控制权来查看发生了什么。有人告诉我它已经到达了正确的目的地,但出现了“证书错误”。这据说是因为我的请求中的 IP 地址与解析出的 URL 不匹配。我有多个 IP 地址需要轮询,所以指定 URL 表示不可行。我没有附加证书,也不应该根据终端点所有者的说法。按照“他们”的说法,证书错误是“正常的”,我应该忽略它。
问题中涉及的证书据说是我们服务器上的许多 Verisign 证书之一。我看了一下 .net WebService, bypass ssl validation!,它有点描述了我的问题,但也有点不一样,因为我不知道应该引用哪个证书(如果有)。
有没有办法让我忽略错误,而不必真正知道/关心哪个证书导致了问题?
请小心操作,使用简单易懂的语言和“白痴式”的代码,因为我并不是一个专业人士。
这个流量是通过专用线路传输的,所以我理解忽略证书错误不像在公开互联网上那么重要。