Как создать действительный сертификат с помощью IIS

Как создать действительный сертификат с помощью IIS

При подключении к нашему серверу возникает следующая ошибка:

Ошибка GnuTLS -48: Обнаружено нарушение использования ключа в сертификате. Не удалось подключиться к серверу

Эта проблема появилась после обновления до Filezilla v3.24.0 для Windows на ПК под управлением Windows 10 Pro со всеми обновлениями. Версия для Mac (также v3.24.0) работает нормально, без ошибок. В последнее время на сервере не было никаких изменений.

Информация о подключении: Протокол: FTP - протокол передачи файлов Шифрование: Требуется явный FTP через TLS Тип входа: Запрос пароля

Ftptest.net протестировал наш сервер, и никаких проблем не обнаружено. Обычный FTP (незашифрованный) работает, но это не очень хорошая идея. Я не смог найти решение этой проблемы в Google. Есть предложения?

решение1

Пожалуйста, ознакомьтесь с этим постом на форуме Filezilla:https://forum.filezilla-project.org/viewtopic.php?t=42790

решение2

Это проблема на стороне сервера, и ранее она не возникала, поскольку более ранние версии FileZilla поставлялись с версией GnuTLS, которая не выполняла эту проверку.

Цитируя пост Тима Коссе вТема форума FileZilla:

В любом случае проблема в цепочке сертификатов X.509 вашего сервера: либо сам сертификат сервера, либо другой сертификат в цепочке имеет ограничение на использование ключа, которое нарушается. Например, сертификат с ограничением на использование ключа для подписи не может использоваться для аутентификации соединений TLS. См. раздел 4.2.1.3 RFC 5280.

Это проблема с генерацией сертификатов Microsoft IIS (но может также произойти, если вы неправильно сгенерировали сертификат другим методом), так как он не позволяет использовать сертификаты для цифровых подписей. OpenSSL гораздо более спокоен в этом отношении и не будет из-за этого давать сбои, поэтому он может работать с другими приложениями.

На стороне клиента вы можете отключить TLS, перейти на более раннюю версию FileZilla (ни один из этих вариантов не рекомендуется из-за потенциальных рисков безопасности) или использовать другой клиент, который на данный момент использует другую библиотеку, например OpenSSL.

Как создать действительный сертификат с помощью 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

Связанный контент