![]() | |
![]() |
| | Thread Tools | Search this Thread | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hello, Problem: SslStream seems to try to open http connections to various machines on the internet unrelated to the address of the SSL server requested. This fails for machines not connected to the internet and causes delays. Details: I am using the SslStream class to create an SSL connection to a server program written by a partner of ours. The server is actually running on the same machine as the client. The connection uses the address 127.0.0.1. The machine in question has no connection to the internet. When the client calls AuthenticateAsClient, there is sometimes a delay of 15 seconds (detailed here http://tinyurl.com/yskvum) sometimes there is not. Looking at the network traffic with Wireshark I see that each time there is a delay there are three attempted http requests at the same time as the call to AuthenticateAsClient. When there is a delay, they are there, when they are not there, neither is the delay. I also tried connecting the machine up to the internet, the request is there (it succeeds) and there is no delay. Once the http connection succeeds, it is never retried again. The addresses targeted by these requests vary each time I run the client. They are public addresses on the internet. I have done whois lookups on the IP addresses, they are registered to Microsoft, or various other companies) Here are some of examples: 207.46.212.28 64.62.216.41 62.41.80.48 Questions: Does anyone know what these http connection attempts might be? How can I tell SslStream not to do that, or at least to fail quickly? Thank you. |
#3
| |||
| |||
|
|
I would guess that the SslStream is checking the revocation status of the remote certificate. |
#4
| |||
| |||
|
#5
| |||
| |||
|
|
On Mar 27, 4:06 pm, "Henning Krause [MVP - Exchange]" newsgroups_rem... (AT) this (DOT) infinitec.de> wrote: I would guess that the SslStream is checking the revocation status of the remote certificate. That is what I thought too. This is what I am doing currently: TcpClient client = new TcpClient("127.0.0.1", 50051); SslStream ssl = new SslStream(client.GetStream(), false, new RemoteCertificateValidationCallback(ValidateServer Certificate), null); ssl.AuthenticateAsClient("", null, System.Security.Authentication.SslProtocols.Ssl3, false); My ValidateServerCertificate does simply: return true; So it really should not be checking the revocation list... (I guess that it is possible that it is the SSL server doing the check...) Thanks for your help |
#6
| |||
| |||
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
| |