Можно расшифровать ftps через Filezilla, но не из кода - PullRequest
1 голос
/ 26 июля 2010

Как гласит заголовок, я могу подключиться к другому компьютеру со своего сервера через FileZilla Client, но не могу через код (.Net - FTPWebRequest)

Я знаю, что код хорош, так как он работает с другогомашина.Конкретная машина, с которой у меня проблемы, находится за NAT, но SA открыла все порты для трафика от хоста, с которым мы пытаемся общаться.

Есть предложения - я что-то упустил очевидное?

Исключение, которое я получаю от попытки подключения:

"Невозможно прочитать данные из транспортного подключения: попытка подключения не удалась, поскольку подключенная сторона не ответила должным образом через некоторое время,или не удалось установить соединение, поскольку подключенный хост не смог ответить. "

И журналы с компьютера, к которому мы пытаемся подключиться, показывают:

7/26/201012:40:23 PM - (не авторизован) (xx.xx.xxx.xxx)> Подключен, отправка приветственного сообщения ...

7/26 / 2010 12:40:23 PM ((нет)вошел в систему) (xx.xx.xxx.xxx)> 220-FileZilla Server версии 0.9.32 beta

7/26/2010 12:40:23 - (не авторизован) (xx.xx.xxx.xxx)> 220 ftp.xxxxxxxxxx.com

7/26/2010 12:40:23 PM - (не зарегистрирован) (xx.xx.xxx.xxx)>AUTH TLS

7/26/2010 12:40:24 PM - (не зарегистрирован) (xx.xx.xxx.xxx)> 234 Использование типа аутентификации TLS

7/26 /2010 12:41:24 PM - (не авторизован) (xx.xx.xxx.xxx)> 421 Время входа в систему превышено.Закрытие управляющего соединения.

7/26/2010 12:41:24 PM - (не зарегистрирован) (xx.xx.xxx.xxx)> отключено.

Ответы [ 3 ]

1 голос
/ 26 августа 2010

Извините, я забыл вернуться сюда со своим решением - оно было неявным против явного SSL. Я использовал неявный для случая использования FileZilla, но явный для FTPWebRequest. К сожалению, FTPWebRequest не поддерживает неявное, и у NAT были проблемы с явным.

Короче говоря, мы использовали элемент управления FTPS Alex FTPS client , который прост в использовании для неявного или явного ssl, прост в настройке и работает безупречно.

0 голосов
/ 08 декабря 2014
Dim auth = New System.Net.NetworkCredential(userName, password)
sRet = ftps.Connect(sAddress, 990, auth, ESSLSupportMode.Implicit, AddressOf UF.ValidateServerCertificate, Nothing, 0, 0, 0, 600000, True
0 голосов
/ 24 августа 2010

Возможно, существует проблема в сертификате, который сервер отправляет во время согласования TLS / SSL, т. Е. Он не принят операционной системой и т. Д.Попробуйте запустить Wireshark, чтобы проверить, какие данные фактически передаются между клиентом и сервером.

...