FTPS 証明書チェッカー

FTPS サーバーの TLS 証明書を調べます。有効期限、発行者、サブジェクト、自己署名かどうかを確認できます。

暗号化モード

よくあるエラーの解説

550

SSL/TLS required on the control channel. 暗黙的モード(ポート 990)を使っていますが、サーバーは明示的 FTPS(ポート 21 で AUTH TLS)を使っています。暗号化モードを明示的(Explicit)/STARTTLS に切り替え、ポートを 21 にしてください。

TLS

TLS ハンドシェイクの失敗、またはポート 990 での接続拒否。サーバーはポート 990 の暗黙的 FTPS ではなく、ポート 21 の明示的 FTPS を使っています。モードを明示的(Explicit)/STARTTLS に切り替えてください。

534

Request denied for policy reasons. 上の 550 と同じです。ポート 21 の明示的モードに切り替えてみてください。

サーバーがどちらのモードか分からないときは、FTP ポートチェッカーでどのポートが開いているかを確かめるか、サーバーの管理画面を確認してください。

このツールで確認できる項目

  • 証明書のサブジェクト:証明書の発行対象のドメインまたはホスト名。
  • Subject Alternative Names:証明書がカバーするほかのホスト名や IP アドレス。
  • 発行者と CA チェーン:証明書が信頼できる認証局によって署名されているか。
  • 有効期限:証明書が切れるまでの残り日数。
  • 鍵のアルゴリズムと長さ:証明書の公開鍵の種類(例:RSA)とビット長。
  • 署名アルゴリズム:証明書の署名に使われたハッシュアルゴリズム(例:sha256RSA)。
  • シリアル番号:認証局が割り当てた一意の識別子。
  • 自己署名フラグ:証明書が自己署名かどうか(プライベートな FTP 環境でよく見られます)。
  • 拇印(Thumbprint):ピン留めや手動での照合に使う SHA-1 フィンガープリント。
  • 証明書のバージョン:証明書の X.509 バージョン(最近の証明書の多くは v3)。

コマンドラインで確認する

OpenSSL でも同じ証明書を読めます。Git for Windows(Git Bash)に含まれているほか、多くの Linux や macOS にも入っています。ポート 21 の明示的 FTPS と、ポート 990 の暗黙的 FTPS は、それぞれ次のとおりです。

openssl s_client -connect ftp.example.com:21 -starttls ftp </dev/null | openssl x509 -noout -subject -issuer -dates
openssl s_client -connect ftp.example.com:990 </dev/null | openssl x509 -noout -subject -issuer -dates

出力には、証明書の発行先、発行者、有効期間が表示されます。比較用のフィンガープリントがほしい場合は、openssl x509 の部分に -fingerprint -sha256 を追加してください。

自己署名の証明書だからといって、それ自体が問題なわけではありません。プライベートなサーバーの多くが使っています。大切なのは、そのフィンガープリントを一度サーバーの管理者と照合しておくことと、変わったときにクライアントが知らせてくれることです。FTPie は FTPS の証明書を初めて見たときに表示し、変わったときにも再び表示します。