• 締切済み

SSLのを使った通信の際に起こるエラーについて

unixにOpenSSL0.9.6aをインストールして、その中のデモプログラムを 実行したのですが、どうしてもSSL_connect()がうまくいきません。 サーバ側、クライアント側には、以下のようなメッセージが出ます。 クライアント側 3232:error:24064064:random number generator:SSLEAY_RAND_BYTES:PRNG not seeded:md_rand.c:474:You need to read the OpenSSL FAQ, http://www.openssl.org/support/faq .html Program exited with code 02. サーバ側 3233:error:140EC0E5:SSL routines:SSL2_READ_INTERNAL:ssl handshake failure:s2_pkt .c:142: クライアント側に出ているURLにアクセスし、呼んでみたのですが・・・いまいちよくわかりません。そのURLの日本語訳の載っているHPもあったので、そちらも参照したのですが、やはりよくわかりませんでした。 どのように対処したらよいのか、どなたかわかりましたら教えていただけるとうれしいです。 よろしくお願いします。

みんなの回答

  • hyde_la
  • ベストアンサー率50% (1/2)
回答No.1

randomデーモン動いてますか? 暗号化に必要な乱数生成器からの乱数を得られないように見えますが、 もっと確実にはエラーメッセージ中に「FAQを読む必要があるぞ」とあります。

参考URL:
http://www.modssl.org/docs/2.8/ssl_faq.html#ToC15
yoyomi
質問者

お礼

解答ありがとうございます。 実は・・・unix初心者なもので・・・(^^; randomデーモンって、どうやったら動かせますかね? インターネットでいろいろ回ってみたのですが、 いまいちわからなくて・・・。 よろしくおねがいします。

関連するQ&A

  • SSLライブラリを用いたプログラミングについて

    サーバクライアント構成で、通信にOpenSSLを 用いることを考えています。 SSL_CTX SSL_load_error_strings() SSLeay_add_ssl_algorithms() など、用意されている構造体や関数のマニュアルが 欲しいのですが、検索してみてもあまり出てきません。 できれば日本語での詳しい説明が欲しいのですが、 どこかよいページをご存知の方いらっしゃいますでしょうか。

  • mod_ssl but certificate errorについて

    どうか教えて下さい! 症状としてはあるサイトのURLに対して、PCのブラウザから見た場合はきちんとhttps通信が可能なのに、 i-MODEの503iからだと「SSL通信が切断されました」となってしまうのです。当然httpでは問題ありません。 あとどの503端末で試してみてもダメでした。 こういった症状を経験された方はいらっしゃらないでしょうか!?または考えられる原因がありましたら 教えて下さい。 日本ベリサインのセキュウア・サーバID申請をもらって、mod_sslを使っております。OSはFreeBSD4.3でApacheです。 [エラーログの内容] [error] OpenSSL: error:14094412:SSL routines:SSL3_READ_BYTES:sslv3 alert bad certificate [Hin t: Subject CN in certificate not server name or identical to CA!?]

  • SSLによる通信について

    WWWにおける、公開鍵方式による暗号化について質問です。 SSLを使ったHPでは ブラウザ→サーバー  暗号化されている サーバー→ブラウザ  ??? あるHPにおいてブラウザから個人情報を入力し、 サーバーに送信すると、SSLを使っている場合、 情報は暗号化されて送られますよね。 逆に、個人情報の変更などをする場合、サーバーに保存されてあった 個人情報が、クライアント側に送られてくるわけですが、 このときには情報は暗号化されているのでしょうか? しくみまで詳しく分かっているかた教えてください。 おねがいいたします。

  • SSL通信を行っている際のURLのパラメータについて

    今回、SSL(Secure Sockets Layer)を使用してWebサイトを作成する事に なりました。SSLの事は勉強している段階です。 そこで現在不明な点がありますので、御質問させて頂きます。 <質問> SSLとは、[Webサーバ]-[クライアント]間でデータを暗号化して通信されますが、 URLに任意の情報(パラメータ)を付加した場合、URL自身も暗号化されるので しょうか? それとも、第3者からは丸見えなのでしょうか? 暗号化される対象がどの範囲までかよくわかりません。 皆様、御教授お願い致します。

  • ブラウザからのSSL通信の動きについて

    【環境】 ・Windows XP SP2 ・Microsoft Internet Explorer 6 6.0.2900.2180 HTTPS接続において、client helloが送出されないと考えられる事象が発生しています。 HTTPサーバの遅延が発生した為、サーバに接続しているスイッチでサーバへの全パケットを取得したところ、HTTP接続のパケットは確認出来るが、その後のSSL接続のclient helloがクライアントより送付されない事象が確認できました。 HTTPサーバのログを確認すると、ほとんどのスレッドがSSL client hello待ちでWaitしている状態です。Wait中なので、遅延が発生している間、サーバCPUは、ほぼ0%の状態です。 サーバ側でSSL client helloがタイムアウトするまでWebサーバ遅延が持続する状況です。 通常、https://リンクをクリックした時点で、HTTPプロトコルのconnectが始まると同時に、SSL client helloパケットがクライアントから送付されると考えています。 送付されないのはブラウザのバグでしょうか? Internet Explorer6のバグ情報を探ってみたが、該当すると思われる情報は見つけられませんでした。一般的なブラウザでこのようなバグが発覚せずに使われているのも信じがたいです。 【1】.一般的にクライアントのブラウザから、SSL client helloパケットが送付されるトリガーは何でしょうか。 (https://のアドレスをクリックする事かと考えてます。) 【2】.ブラウザの不具合によるSSLclient helloが送付されない事象をご存知ないでしょうか。 【3】.その他にSSLclient helloが送付されない原因として思い当たる事はないでしょうか 以上、よろしくお願いします。

  • エラーログの意味

    自分で運営しているサイトで次のようなエラーログがでています。 mod_ssl: SSL handshake failed (server www.xxxx.com:443, client xxx.xx.xxx.xx) (OpenSSL library error follows) これって何が原因でしょうか MacOSX,safariの場合にでるようですが、理由が分かりません。教えて下さい。お願いします。

  • fsockopenを使った証明書付きのSSL通信

    お世話になっております。 fsockopenを使って、証明書付きのSSL通信をして表示内容を取得したいのです。 いろいろ見て回って、下記のようなソースを作りました。 ------------------------------------------------------------------------ $context = stream_context_create(); stream_context_set_option($context, 'ssl', 'local_cert', './client.pem'); stream_context_set_option($context, 'ssl', 'cafile', './ca.pem'); $host = "aaa.bbb.ne.jp"; $fp = fsockopen("ssl://{$host}", 443, $errno, $errstr, 10, $context); ------------------------------------------------------------------------ すると、 Warning: fsockopen() expects at most 5 parameters, 6 given と怒られます。fsockopenに6つ目のパラメータは渡せないってことですよね? 仕方がないので、 $contextをはずしてみると、当然証明ができないので怒られます。 Warning: fsockopen(): SSL operation failed with code 1. OpenSSL Error messages: error:14094410:SSL routines:func(148):reason(1040) in xxxxxxx~ Warning: fsockopen(): Failed to enable crypto in xxxxxxx~ Warning: fsockopen(): unable to connect to ssl://aaa.bbb.ne.jp:443 (Unknown error) in xxxxxxx~ まる一日解決方法を探し続けているのですが、だめです。 漠然とした内容で申し訳ありませんが、どなたかご教授願えませんでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • POP3SへTLS1.2接続する方法

    SSL3.0の脆弱性を回避する目的で、POP3Sの接続をTLS接続に切り替えようと思っているのですが、エラーが発生し上手くいきません。 openssl ciphers -vで確認したところ、プロトコルがSSLv3とTLSv1.2しかないようで、 # openssl s_client -tls1_2 -connect localhost:995 -> ○ # openssl s_client -tls1_1 -connect localhost:995 -> × # openssl s_client -tls1 -connect localhost:995 -> × # openssl s_client -ssl3 -connect localhost:995 -> ○ # openssl s_client -ssl2 -connect localhost:995 -> × という結果となりました。 Windowsクライアントよりメールソフト(becky!)を利用し接続すると、接続に失敗し下記エラーがでます。 認証設定が「over TLS 1.0」でしたので、TLS1.0接続の為、上記テスト結果の-tls1と同じ状況なのかと思っています。 そこで、お知恵をお借りしたいのですが、 1. WindowsクライアントよりTLS1.2接続でpop3s接続できるメールソフトは存在するのでしょうか。 2. opensslの暗号化プロトコルにTLS1.0を追加する事は可能でしょうか。 お知恵をお持ちでしたらお助け頂けませんでしょうか。 宜しくお願い致します。 [エラー内容] qpopper[3102]: TLS handshake Error qpopper[3102]: TLS/SSL Handshake failed: -1 [qpopper.config] set clear-text-password = always set reverse-lookup = false set tls-support = alternate-port set tls-private-key-file = /usr/local/etc/apache22/ssl.key/server.key set tls-server-cert-file = /usr/local/etc/apache22/ssl.crt/server.crt set shy = true [環境] qpopper-4.1.0_3 OpenSSL 1.0.1e-freebsd FreeBSD 10R

  • HTTPS(SSL)通信とサーブレットについて

    ショッピングサイトなどで、買い物カゴに入れたあと、支払いするときにHTTPS(SSL)通信になりますが、この場合の仕組みがよくわかりません。 (1)これは、WebサーバをHTTP用とHTTPS(SSL)用の2台構成として、買い物カゴにいれるまでは、HTTP用のWebサーバでアクセスしておいて、支払いするときにHTTPS(SSL)用のWebサーバにアクセスさせることで実現してるのでしょうか? (2)ショッピングサイトを見ると、URLはHTTP://がHTTPS://に変わるだけで、サーバが変わっているようには見えませんが、これは、apacheなどのWebサーバが持つバーチャルホスト機能で実現してるのでしょうか? (3)アプリケーションを開発する側としては、HTTP通信を行うサーブレットはHTTP用のサーバに配置して、HTTPS(SSL)通信を行うサーブレットはHTTPS(SSL)用のサーバに配置しておいて、HTTPS(SSL)通信をしたいときは、HTTP用のサーバに配置したサーブレットから、HTTPS(SSL)用のサーバに配置したサーブレットを呼びだすだけでOKでしょうか? (4)また、(3)が正しい場合、サーブレットの配置さえ気にしていれば、特にHTTPS(SSL)用のプログラムを組む必要はないでしょうか? 調べたのですが、最初からHTTP(SSL)通信する場合の方法しか記載がなくて困っています。

  • SSLを使ったプログラミング

    SSLを使った通信のプログラムを作っています。 ソケットを使ったサーバとクライアントのやり取りを、 SSLで暗号化して送受信したいのです。 が、どうもサーバ側のプログラミングの手順がわからないのです。 わかる方がいましたら、教えていただけないでしょうか? もしくは、 そんな説明がある良いサイトを教えていただけないでしょうか? 英語サイトでもいいので、情報をください。 (できれば日本語サイトがいいですが・・・探してもないんですよね。) よろしくお願いします。