TIdSSLIOHandlerSocketOpenSSL
sets a hard-coded 30 second read/write timeout on an SSL socket on Windows Vista+ when the ReadTimeout
property is <= 0, so chances are the connection is slow enough to take longer than 30 seconds to transmit data. Try setting the ReadTimeout
property to a higher value to see if it delays the error. If so, then there really is a transmission issue.
You can use a packet sniffer, such as Wireshark, to make sure data is actually being transmitted back and forth in a timely manner. Also look at the call stack when the exception is raised to see if the timeout is occurring during the SSL handshake, while sending the HTTP request, or while receiving the HTTP response. That will help determine whether it is an issue with OpenSSL, Indy, or the server.