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

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

サーバーに接続すると次のエラーが発生します。

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

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

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

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

答え1

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

答え2

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

ティム・コス氏の投稿を引用するとFileZilla フォーラムスレッド:

いずれにせよ、問題はサーバーの 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

関連情報