Мое приложение предназначено для .NET 4.6.1, и я пытаюсь использовать FtpWebRequest для подключения к серверу Filezilla с использованием TLS. Однако, когда включена опция возобновления сеанса TLS, приведенный ниже код завершился неудачно с сообщением «450 сеанс TLS для подключения к данным не возобновлен или сеанс не соответствует контрольному соединению». Если я отключаю эту опцию, код работает. Что удивительно, так это то, что код работал до тех пор, пока нам не нужно перезагрузить сервер для его обновления! Мы пытались использовать SSL-код с использованием PHP, и он работает также при включенной опции.
'System.Net.ServicePointManager.SecurityProtocol = Net.SecurityProtocolType.Tls12
System.Net.ServicePointManager.ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AddressOf myCertificateValidation)
' Set up the request
Dim ftpRequest As System.Net.FtpWebRequest = CType(System.Net.WebRequest.Create("ftp://myserver.mydomain.eu"), System.Net.FtpWebRequest)
ftpRequest.EnableSsl = True
ftpRequest.KeepAlive = False
ftpRequest.UsePassive = False
'ftpRequest.ServicePoint.ConnectionLimit = 1
' use the provided credentials
ftpRequest.Credentials = New System.Net.NetworkCredential("MyUser", "MyPwd")
' List the directory content
ftpRequest.Method = System.Net.WebRequestMethods.Ftp.ListDirectoryDetails
' Send the request
Dim ftpResponse As System.Net.FtpWebResponse = CType(ftpRequest.GetResponse, System.Net.FtpWebResponse)
Я пытался установить несколько параметров, но это всегда один и тот же результат.
Любая помощь будетприветствуется.
С уважением,
Этьен.