IISのFTPサーバで中間証明書を渡す


はまったのでメモ。

Windowsサーバの「ローカルコンピュータ」アカウントの証明書ストアに中間証明書を入れたあとに、IISにサーバ証明書をインポートすることで、FTP over SSLがサーバ証明書と一緒に中間証明書を渡してくれるようになる。
順序が逆だとサーバ証明書しか渡してくれないので、各クライアントが中間証明書を別のところから調達しないといけない。

とはいえ……。 Windowsクライアントの証明書ストア「信頼されたルート証明機関」を使った証明書の検証をやってくれるFTPクライアントのいいのが見つからない。 WinSCP、FileZilla, FFFTP を試したのだけれど。

そこで。

openssl s_client -showcerts -starttls ftp -connect ftpserver:21 -CAfile root.cer

と接続してみて、 サーバ証明書-中間証明書-ルート証明書 がつながれば OK ってでてくるので、これで確認できるかな。

Internet Explorer はサーバ証明書に記載された中間証明書URLに接続して持ってくるとか、
WindowsOSはWindowsUpdateにあるルート証明書は、削除しても必要に応じて補っちゃうなど、
動作確認はいろいろ暗黙の仕様があって面倒でした。