web-dev-qa-db-ja.com

FileZillaが「GnuTLSエラー-48:証明書のキー使用法違反を検出しました」と報告する

サーバーに接続すると、次のエラーが表示されます。

GnuTLSエラー-48:証明書のキー使用法違反が検出されました。サーバーに接続できませんでした

この問題は、すべてのアップデートを適用したWindows 10 Proを実行しているPCでWindows用のFilezilla v3.24.0にアップグレードした後に発生しました。 Macバージョン(v3.24.0も)は正常に動作し、エラーは発生しません。最近、サーバーは変更されていません。

接続情報:プロトコル:FTP-ファイル転送プロトコルの暗号化:TLS経由の明示的なFTPが必要ログインタイプ:パスワードを要求

サーバーに対してテストされたFtptest.netには、関連する問題はありません。プレーンFTP(暗号化されていない)でも機能しますが、それはお勧めできません。 Googleでこの問題の解決策を見つけることができませんでした。助言がありますか?

5
Sandy Gettings

Filezillaフォーラムでこの投稿を参照してください: https://forum.filezilla-project.org/viewtopic.php?t=4279

0
Alain Sirois

これはサーバー側の問題であり、以前のバージョンのFileZillaには、このチェックを行わないGnuTLSバージョンが付属していたため、以前は表示されませんでした。

FileZillaフォーラムスレッドでTim Kosseの投稿を引用

いずれの場合でも、問題はサーバーのX.509証明書チェーンにあります。サーバー証明書自体またはチェーン内の別の証明書に、キーの使用制限に違反しています。たとえば、署名にキー使用制限がある証明書は、TLS接続の認証に使用できません。 RFC 5280のセクション4.2.1.3を参照してください。

これは、Microsoftの証明書生成の問題ですIIS(ただし、別の方法で証明書を誤って生成した場合にも発生する可能性があります)。証明書をデジタル署名に使用できないためです。 OpenSSLはこの点ではるかに緩和されており、そのため失敗しないため、他のアプリで動作する可能性があります。

クライアント側では、TLSを無効にするか、FileZillaの以前のバージョンにダウングレードするか(潜在的なセキュリティリスクのため、どちらも推奨されません)、OpenSSLなどの別のライブラリを使用する別のクライアントを使用できます。

IISで有効な証明書を生成する方法

これは明らかにサーバー側で行う必要があります。管理者でない場合は、これらの手順を管理者に転送してください。

IISフォーラム の投稿によると、問題がMicrosoftによって修正されるまで、代わりにPowerShellで証明書を生成できます:

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
5
nyuszika7h