FTPS 憑證檢查工具

檢視 FTPS 伺服器的 TLS 憑證:到期日、簽發者、主體,以及憑證是否為自我簽署。

加密模式

常見錯誤說明

550

SSL/TLS required on the control channel. 你使用的是隱含式模式(連接埠 990),但伺服器使用的是明確式 FTPS(在連接埠 21 上使用 AUTH TLS)。請把加密模式切換為明確式(Explicit)/STARTTLS,並把連接埠設為 21。

TLS

TLS 交握失敗,或連接埠 990 拒絕連線。你的伺服器用的是連接埠 21 上的明確式 FTPS,而不是連接埠 990 上的隱含式 FTPS。請把模式切換為明確式(Explicit)/STARTTLS。

534

Request denied for policy reasons. 和上面的 550 一樣:試著改用連接埠 21 的明確式模式。

不確定伺服器用的是哪種模式?可以用 FTP 連接埠檢查工具看看哪些連接埠是開的,或查看伺服器的管理介面。

這個工具會檢查什麼?

  • 憑證主體:憑證簽發給哪個網域或主機名稱。
  • Subject Alternative Names:憑證另外涵蓋的主機名稱或 IP 位址。
  • 簽發者與 CA 憑證鏈:憑證是否由受信任的憑證授權單位簽署。
  • 到期日:距離憑證到期還剩幾天。
  • 金鑰演算法與長度:憑證公開金鑰的類型(例如 RSA)與位元長度。
  • 簽章演算法:簽署憑證所用的雜湊演算法(例如 sha256RSA)。
  • 序號:憑證授權單位指派的唯一識別碼。
  • 自我簽署標記:憑證是否為自我簽署(私人 FTP 環境中很常見)。
  • 指紋(Thumbprint):用於釘選(pinning)和手動核對的 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 憑證時會顯示它,憑證改變時也會再顯示一次。