• ベストアンサー

VB.NETのFTPダウンロードについて

お世話になっております VB.NETでFTPサーバからファイルをダウンロードするアプリを作っていますが、FTPのセキュリティ設定でSSLを使用することになりました(FTPSです)。 もともとは普通のFTPだったので、ここ→http://dobon.net/vb/dotnet/internet/ftpwebrequest.htmlを参考にしながら作成していましたがFTPSになると、なにか特殊な処理が必要になるのでしょうか? ちなみにFTPサーバーはIIS7.0です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

「vb.net ftp ssl」とか「c# ftp ssl」 で調べて出てきたサンプルを試してみましたか? 何かうまくいかなかった部分がありましたか?

lc-f
質問者

お礼

返答ありがとうございます 質問者のlc-fです。 質問がいい加減ですみませんでした。 自分のPC内でテストをしているのですが、IISで自己署名入り証明書の作成で、仮のSSL証明書を作りました。 それをFTPのSSL設定で証明書として設定しました。 それから先述しましたFtpWebRequestを使用してダウンロードのテストをしてみたのですが、普通にダウンロードできました。 ちなみにSSLを適用する前のソースと同じソースです。 そこで思ったのが、SSLを適用したのに、うんともすんとも言わずにすんなり通ってしまったことに不安を感じました。 というのが昨日までの流れなんですが、質問投稿後にまた疑惑が浮上し、「本当にSSLが適用できているのか?」思い、確認してみたところ、おそらく適用されていないように思います。 確認したのはIEでFTPサーバーにアクセス後、右クリック→プロパティで確認したところ、「暗号化なし」となっていました。 まずはここからですね。 あとIISは7.0ではなく7.5でした。 失礼しました。

lc-f
質問者

補足

お礼の後ですが・・・ サーバーの設定で暗号化できました。 次にVBでアクセスしてみたところエラーが表示されました。 内容は「リモート サーバーがエラーを返しました: (534) 534-Policy requires SSL. Win32 error: Access is denied. Error details: SSL policy requires SSL for control channel. 534 End」 です 以下ソースです Dim szRequest As FtpWebRequest = CType(System.Net.WebRequest.Create(u), System.Net.FtpWebRequest) szRequest.Credentials = New System.Net.NetworkCredential("ftpuser", "psw") szRequest.Method = WebRequestMethods.Ftp.GetFileSize Dim szResponse As FtpWebResponse = CType(szRequest.GetResponse(), System.Net.FtpWebResponse) ←ここでエラー発生 調べた結果以下のように追加したらうまくいきました Dim szRequest As FtpWebRequest = CType(System.Net.WebRequest.Create(u), System.Net.FtpWebRequest) szRequest.Credentials = New System.Net.NetworkCredential("ftpuser", "psw") szRequest.Method = WebRequestMethods.Ftp.GetFileSize szRequest.EnableSsl = True ←☆この行を追加しました☆ Dim szResponse As FtpWebResponse = CType(szRequest.GetResponse(), System.Net.FtpWebResponse)

関連するQ&A