httpsのページがIE 7で表示できません

このQ&Aのポイント
  • httpsのページがIE 7で表示できない現象についての原因と解決方法を探しています
  • httpsのページがIE 7で表示できない問題に関して、apache version 2.2系で自分で建てたサーバーと使用したopensslの情報を提供しています
  • IE 7でhttpsのページを表示する際に、証明書の警告が出て閲覧ができない問題について、wiresharkのパケットダンプを調査しましたが、FIN ACKを送ることによってページが表示されないことがわかりました。原因や解決策についての情報を求めています。
回答を見る
  • ベストアンサー

httpsのページがIE 7で表示できません

httpsのページがIE 7で表示できません。 表示できないページは、apache version 2.2系で自分で建てたサーバーです。 オレオレ証明書に使ったopensslのversionは0.9.8e, private keyの鍵長は、 1024でも2048でもだめでした。 また、mozilla firefox 3.0では同様に証明書の警告が出ますが、 例外設定をすることで表示されることを確認しています。 IE 7の現象としては、 "この Web サイトのセキュリティ証明書には問題があります。" - (A) と警告が出て、閲覧を続行すると "Internet Explorer ではこのページは表示できません" - (B) といわれます。 このとき、wiresharkでパケットのダンプを見てみると、 (A), (B)の通信が両方とも以下のようなシーケンスになっていました。 1, client -> server : tcp syn 2, server -> client : syn, ack 3, client -> server : syn 4, client -> server : client hello 5, server -> client : server hello, change cipher spec, Encrypted Handshake message 6, client -> server : change cipher spec, encrypted handshake message 7, client -> server : FIN ACK 8, server -> client : ACK 9, server -> client : encrypted alert 10, server -> client : FIN ACK 11, client -> server : RST ACK [ client: IE 7 ], [ server: apache22 ] 7の段階でIEからFIN ACKを送っているためページを表示できないのだと思うのですが、 なぜFIN ACKをおくっているのかが分かりません。 問題を解決したいのですが、はまってしまって困っています。 プロトコル・原因の調査方法等々、何か知っていることがありましたらご教授ください。 よろしくお願いいたします。

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

  • ベストアンサー
  • yamuhiro
  • ベストアンサー率33% (5/15)
回答No.1

こちらのページを見てみるといいかもしれません。 http://support.microsoft.com/kb/931850/ja

参考URL:
http://support.microsoft.com/kb/931850/ja
torinya
質問者

お礼

ありがとうございます。 自己解決しました。 証明書を表示して、証明書のパスを見てみると ”この証明機関は証明書を発行する権限がないか、エンドエンティティ証明書として使うことができません。” とあったためオレオレ証明局の証明書に何か不備があるだろうと思い調べてみたところ、opensslでCAの証明書を作った際に、Subject TypeがEnd Entityになっていることがわかりました。 CA.sh -newcaでCAの証明書作っていたのですが、それではだめだったようです。 opensslでCAの証明書を作る際には、openssl.cnfにてbasicConstraints = CA:trueとしてやることで正しくSubeject typeをCAにできました。 CAでないものから署名を受けたserver証明書だったのでIE 7がTLSセッションでFIN ACKを送って終了していたということのようです。 お騒がせしました。

torinya
質問者

補足

ありがとうございます。 ”Microsoft Windows Small Business Server 2003 (Windows SBS) の自己署名入りの証明書をインストール” はやっていないですが、 ”URL を信頼済みサイトのセキュリティ ゾーンに追加します” をやってみましたが、結果は変わりませんでした。 書くのを忘れていましたが、自分で建てたサーバー以外をIE7でhttps通信を行っても正しく表示されています。 過去に同じようにオレオレ証明書を作って建てたwebサーバーにhttpsでアクセスしてみたところこちらは表示できました。 証明書の問題かなと思い。差分がないか確認してみましたが、特に差は見つけられませんでした。(見落としているだけかもしれません) また、オレオレ証明局の証明書を信頼するルートCAに登録すると、 ”この Web サイトのセキュリティ証明書には問題があります。” という警告は出なくなるので、証明書はうまくできているのではないかという気がしています。 他に何かありましたらご教授ください。

関連するQ&A

  • windowsでSYN/ACKを返すプログラム

    以下の現象が発生して、大変困っております。 <現象> クライアントからhttpsアクセスをしようとして、 ブラウザに「ページが表示できません」エラーとなることがある。 <調査状況> クライアント、OS上でWireSharkを仕掛けて、TCPの通信をキャッチしたところ、 問題が発生した通信は「SYN」がOSまでは来ているが、 「SYN/ACK」が返ってきていない。 <環境> サーバ:windows2003server,Apache クライアントOS:WindowsXP <質問内容> クライアントからの「SYN」要求に対して、「SYN/ACK」を返すのは、具体的に何が返しているのでしょうか。 (windowsのソケットプログラム?) また、その調査方法があれば教えて頂けないでしょうか。 よろしくお願い致します。

  • FINパケット、RSTパケットが返却される理由?

    アパッチのヘルスチェックにて、パケットをみました。 シーケンス番号を追っていきましたが、下記のような 通常ではない動作がありました。 <ケース1> (1)サーバからのHTTPのGETに対して、クライアントがFIN.ACKパケットを返却する。 (2)サーバがFIN.ACKパケットをクライアントに送る。 (3)クライアントからRSTパケットが返却される。 ※RSTパケット内にて、broken tcpとの記載あり <ケース2> (1)サーバからのFIN.ACKパケットに対して、クライアントからRST.ACKパケットが返却される。 ・質問1 それぞれについて、正常な動作とはおもえないのですが、 異常でしょうか? ・質問2 FIN.ACKパケット又はRSTパケットが返却されるのはどんな場合が想定されるのでしょうか? ・質問3 FIN.ACKパケット→RST.ACKパケットは異常な動作でしょうか? よろしくお願いします。

  • 3ウェイハンドシェイクの流れを変える方法

    OS「fedora 5」、言語「C」で、ソケットプログラミングを使い、3ウェイハンドシェイクの流れ <3ウェイハンドシェイク> クライアント     サーバ  syn    →→→        ←←← syn/ack  ack    →→→ これを クライアント     サーバ   syn     →→→         ←←←  rst         ←←←  syn syn/ack   →→→         ←←←  ack の流れにしようと考えています。 参考書を読んだり、ソケットプログラムのことについて調べたのですが、お手上げ状態です。 コントロールフラグの変更の仕方はどうやるのでしょうか? また理論上は3ウェイハンドシェイクを変えることきているのですが、実際は流れ自体変える事は不可能なことなのでしょうか?

  • openssh に ログインできない

    windows2008 server で ssh を使いたいために、 cygwin をインストールしました。 私のパソコンからは、何の問題もなく接続できるのですが、 一部のパソコンではパスワード要求の画面が表示されません。 いろいろ調べていくうち、 > telnet server 22 としたところ、 私のパソコンでは、  SSH-2.0-OpenSSH と、表示を返しますが、 接続できないパソコンでは、 何も返しません。 wireshark でパケットを調べましたら、 接続できないパソコンは、 SYN+ACK で接続した後、 FIN パケットを返しています。 サーバー側の問題か、クライアント側の問題か、 切り分けができていません。 何か想定できる原因を教えていただけませんでしょうか。

  • IEだけ特定のHTTPページが表示されない。HTTPSにすると表示される

    IE7でhttp://のページを表示しようとしているのですが、何も表示されません。 Apacheのaccess_logを見ても何も表示されません。 IEのヘッダー情報を表示するieHTTPHeadersを使ってアクセスされいるか確認しましたが、何もログが表示されないため、サーバーにアクセス事態していない感じです。 URLをhttps://に変更すると問題なく表示されます。 何が原因か分かりますでしょうか? よろしくお願い致します。

  • FIN,ACKとACKについて

    はじめまして。5月よりTCPソケット通信を勉強しているものです。 クライアントとサーバーのプログラムを作り試行錯誤しながら動かしているのですが一つ不思議な現象が起きたので質問させて頂きます。 処理が終わり、通信を切断する時なのですが、ソケット通信に関連する書籍やWebページを見ていると接続を切断するときにFIN,ACKを送信して相手側がACKを送信し、FIN,ACKを送信して最後にACKを送信するとなっています。図にすると以下のような感じでしょうか。 PCA       PCB FIN,ACK送信 → FIN,ACK受信 ACK受信   → ACK送信 FIN,ACK受信 → FIN,ACK送信 ACK送信   → ACK受信 この手順でPCA,PCBともに切断されるとあるのですが、自分が作ったプログラムを実行させて、etherealでパケットをモニタリングすると以下のような状態で終わってしまいます。 PCA       PCB FIN,ACK送信 → FIN,ACK受信 FIN,ACK受信 → FIN,ACK送信 ACK送信   → ACK受信 PCAからのFIN,ACK受信に対してのACKの送信が省略されて、いきなりFIN,ACKを送信してしまいます。その後PCAからはACKが返されて終了となります。 プログラム的には希望通り動作しているので問題は無いのですが、なぜ途中のACKが省略されてしまうのか原因が知りたいです。また、自分の認識が間違っている場合のご指摘等頂ければと思います。 つたない文章で申し訳ありませんがご存知の方がいらっしゃいましたら教えて下さい。

  • IEで「このページは表示できません」のエラー

    WindowsXP+Apache2.2でウェブサイトの作成をしています。 (これは開発環境で、本番環境はまた別のサーバです) ログインページ等でHTTPSを使うので、 開発環境では自己署名証明書を作ってテストしています。 そのため、IEで開くと「証明書のエラー」(証明書は信頼できません)のエラーが出ますが、 ひとまず開くことはできるので、問題はありません。 ただ、ある事情により開発環境にインストールしたVMWarePlayer上のWindowsから この開発環境のサイトにアクセス・テストする必要が出ました。 そして実際にHTTPSを使っているページにアクセスしようとすると、 「InternetExplorerではこのページは表示できません」というエラーが表示されます。 HTTPだと問題無いのですが・・・ (試しにChromeでもやってみましたが、SSL接続エラーと表示されてNGでした) 1点気になるのが、VM上からHTTPSでアクセスした時、 IEのセキュリティゾーンが「インターネット」になっていることです。 VM上からではなくホストOS上からであれば、HTTPもHTTPSも「ローカルイントラネット」です。 VM上からでもHTTPであれば「ローカルイントラネット」です。 HTTPSにした途端に「インターネット」に切り替わってしまいます・・・ なお、URLはFQDNやIPアドレスではなくコンピュータ名を使っています。 (FQDNやIPアドレスだとインターネット扱いになるのがIEの仕様だそうなので) 何とかVM上からHTTPSでもアクセスできるようにする方法は無いでしょうか。 というか何が問題になっているんでしょうか。 そもそも自己署名証明書では、ローカルでしかテストできないとか? 原因の切り分け方も見当がつかず困っています。 よろしくお願い致します。

  • WiresharkのFlow Graph

    現在WiresharkのFlow Graphという機能を使用して、クライアント端末がサーバー端末へのTCP通信での3ウェイハンドシェイクのパケットやりとりを観測したいと思っています。 次のようなパケットをモニターしました。 |Time | 192.168.1.111 | | | | 192.168.1.222 | |6.402 | PSH, ACK - Len: 1212 |Seq = 1 Ack = 1 | |(6057) ------------------> (5000) | |6.606 | PSH, ACK - Len: 1212 |Seq = 1 Ack = 1 | |(6057) ------------------> (5000) | |6.835 | PSH, ACK - Len: 1212 |Seq = 1 Ack = 1213 | |(6057) <------------------ (5000) | |7.039 | ACK | |Seq = 1213 Ack = 1213 | |(6057) ------------------> (5000) | |7.150 | ACK | |Seq = 1213 Ack = 1213 このパケットのやりとりを観ていて思ったのですが、TCP通信は3ウェイハンドシェイクは SYN--->SYN ACK---> ACK という順序でのパケットのやりとりをクライアントとサーバー間で行うと思っていたのですが、 PSH, ACK ----> PSH, ACK ----> ACK ----> ACK このような順序になっているように思うのですが、これはなぜなのかご教授頂けないでしょうか? どうぞ、よろしくお願い致します。

  • TCPのsynとかっていつ・何回位するのでしょうか

    ネットワークの勉強中の中年です。 入門編のTCP/IPですが、コネクション確立(syn→ack/syn→syn)などは 普通に手動で作業をする場合、いつ、何回位されるのでしょうか。 たとえばftpなどですが、 もちろん最初にクライアントからサーバーに接続する際にはとは思うのですか、 パスワードを送るたび、ファイルを送受信するたびに行うものなのでしょうか。 また、finを送るのは、byeでftpを閉じる時でしょうか。 パスワードの送信後とか、ファイルのやり取り後といったタイミングで 発生するのでしょうか。 それともパケットトレースで見るように1秒間に何十回というように されるものなのでしょうか。 挙動についていろいろ資料等があるのですが、 実際に使っているイメージではいつ何をしているかわからず… よろしくお願いいたします。

  • BBルータでTCP通信のデータ部が捨てられている?

    インターネット上のServerと自宅PC間でWebを併用したデータ交換をしているのですが、ある限られたデータ部のみ、自宅のBBルータにより毎回捨てられているようで受信できません。 Serverと自宅PC(Client)にEtherealを同時に仕掛けPacketをモニタリングしました。 Server側のLogを見る限り、Serverは該当データを正しく送り、BBルータも正しく受信しているようです。 しかし、Client側のLogを見ると、その部分は Len=0 になっており、ヘッダ部だけのPacketが送信されて来たかのようになっております。 BBルータの設定可能項目では、いたって通常の設定になっており、また、自宅PCはWindowsXP SP2でFirewallはOff、ウィルス対策ソフトもアンインストール状態で実験しております。今回のトラブル以外は全てにおいて不具合は発生しておりません。 何か単純なTCP規則違反に該当しているのではとRFC793も確認したのですが原因がわかりません。 該当部分のEtherealのLogは以下の通りです。 何か大事なことを忘れていそうなのですが、どなたかご教授をお願い致します。 <Server側Log> ※No.292~294は3way handshakeです。 ※()内はTCP詳細部の内容抜粋です。 ※Server側のPortはWeb併用なので80番をそのまま使用。 No. SRC  DIST  Prot  Info 295 Client Server HTTP Continuation or non-HTTP Trafic 296 Server Client HTTP Continuation or non-HTTP Trafic (http > 62327 [PSH,ACK] Seq=1 Ack=24 Win=65512 Len=90) 297 Server Client TCP http > 62327 [FIN,ACK] Seq=91 Ack=24 Win=65512 Len=0 298 Client Server TCP 62327 > http [ACK] Seq=24 Ack=92 Win=65535 Len=0 299 Client Server TCP 62327 > http [FIN,ACK] Seq=24 Ack=92 Win=65535 Len=0 300 Server Client TCP http > 62327 [ACK] Seq=92 Ack=25 Win=65512 Len=0 <Client側Log> ※No.295と297~300はServer側Logと矛盾はありません。 No. SRC  DIST  Prot  Info 296 Server Client TCP http > 1157 [PSH,ACK] Seq=1 Ack=24 Win=65512 Len=0 以上