Это проблема на стороне сервера, и она не появлялась ранее, поскольку более ранние версии FileZilla поставлялись с версией GnuTLS, которая не выполняла эту проверку.
Цитирую сообщение Тима Коссе в ветке форума FileZilla:
В любом случае проблема заключается в цепочке сертификатов X.509 вашего сервера: либо сам сертификат сервера, либо другой сертификат в цепочке имеет ограничение на использование ключа, которое нарушается. Например, сертификат с ограничением использования ключа для подписи не может использоваться для аутентификации соединений TLS. См. Раздел 4.2.1.3 RFC 5280.
Это проблема с созданием сертификата Microsoft IIS (но может также произойти, если вы сгенерировали сертификат неправильно с другим методом), так как это не позволяет использовать сертификаты для цифровых подписей. OpenSSL гораздо более раскован по этому поводу и не потерпит неудачу из-за этого, поэтому может работать с другими приложениями.
На стороне клиента вы можете либо отключить TLS, либо перейти на более раннюю версию FileZilla (ни одна из них не рекомендуется из-за потенциальных угроз безопасности), либо использовать другой клиент, который сейчас использует другую библиотеку, например OpenSSL.
Как создать действительный сертификат с IIS
Это должно быть сделано на стороне сервера, очевидно. Если вы не являетесь администратором, отправьте им эти инструкции.
Согласно сообщению на форумах IIS, вы можете генерировать сертификат с помощью PowerShell, пока проблема не будет устранена Microsoft:
New-SelfSignedCertificate -CertStoreLocation cert:\LocalMachine\My -dnsname ftp.example.com
Замените ftp.example.com
на имя хоста вашего сервера.
Вы получите отпечаток пальца, скопируйте это. Установите пароль для закрытого ключа:
$password = ConvertTo-SecureString -String "password goes here" -Force -AsPlainText
Теперь экспортируйте его (вы можете изменить C:\cert.pfx
на путь, по которому вы хотите его сохранить, просто убедитесь, что он заканчивается на .pfx
):
Export-PfxCertificate -cert cert:\LocalMachine\My\FINGERPRINT -FilePath C:\cert.pfx -Password $password