68user's page 掲示板

Prev< No. 5024〜5027> Next  [最新発言に戻る] [過去ログ一覧]
No. 5024 # 鈴木 [E-mail] 2009/08/26 (水) 01:28:17
68userさん はじめまして、鈴木と申します。

SSLクライアント接続のプログラムを作成していた友人から
「SSL_connect() を実行すると -1 が返る。」という相談を受けて、調べている中で、
68userさんの下記ページの、RAND_seed() の説明で解決することができました。

http://x68000.q-e-d.net/~68user/net/ssl-1.html

本当にありがとうございました。

今回、書き込みさせていただいたのは、その続きなのですが
もし、ご存知でしたら教えていただけないでしょうか。


【質問の内容】
  (1)XPでは、RAND_seed()を実行しなくても、乱数の種が不足することはないのでしょうか?
  
  (2)ユーザプログラムでRAND_seed()実行しない場合、OpenSSLは、OS(Windows)からどのようにして
        乱数の種を取得するのでしょうか?

  以下に、質問に至った経緯を記します。

【友人との話の経緯】

当初、前述の友人が作成したRAND_seed()していないSSLクライアントプログラムを
私の環境(WindowsXP Pro(SP2))で実行しても、SSL_connect()ではエラー(-1)は
発生しませんでした。

友人の環境を確認するとWindowsNT4.0ワークステーション(SP3)でした。
どうしても、この古い環境でSSLクライアント接続のプログラムを動かしたいとのこと。

結局、友人の環境(WindowsNT4.0ワークステーション(SP3))では発生しますが、
私の環境(WindowsXP Pro(SP2))では100回ほどテストしましたが発生しませんでした。

  
【試した内容】

  前述の内容を下記にまとめます。

    (友人の環境) WindowsNT4.0ワークステーション(SP3):× SSL_connect() ⇒ (-1)が返る
    (私の環境) WindowsXP Professional(SP2) :○ SSL_connect() ⇒ 正常

    どちらも、PCの電源オン後に自動ログインして、SSLクライアントプログラムを
    自動起動するようにしています。
    使っているOpenSSLのバージョンは私も友人も0.9.8Gです。


    という経緯があって、以下の点についてご存じであれば教えていただけないでしょうか。

    ・XPでは、RAND_seed()を実行しなくても、乱数の種が不足することはないのでしょうか?
    ・ユーザプログラムでRAND_seed()実行しない場合、OpenSSLは、OS(Windows)からどのようにして
        乱数の種を取得するのでしょうか?

  何卒よろしくお願い致します。
    

No. 5025 # 68user 2009/08/26 (水) 11:01:56
>>5024 鈴木
Windows に詳しくないので直接の回答はできませんが、
    - 前提として、RAND_poll(3) は呼んでいますか?
    - プログラムの各部分に RAND_status(3) を実行し、
        seed の状況を確認することで、何を行うと十分な
        seed がたまるか確認できるのではないでしょうか。
    - Windows 用の RAND_poll(3) や RAND_add(3) のソースは
            http://cvs.openssl.org/fileview?f=openssl/crypto/rand/rand_win.c&v=1.46
        にありますので、眺めてみてはどうでしょうか。
    - RAND_seed(3) は最終的には RAND_add(3) を呼ぶ…と思うのですが、
        ソースを見てもそのつながりがよくわかりませんでした。
と思いました。

No. 5027 # sep 2009/09/20 (日) 20:34:31
UNIXの初歩的なことですみません。

UNIXで、viを使用するときシェルの環境変数の設定などは
必要なのでしょうか。

cronを編集しようとして、「crontab -e」を実行したの
ですが、正しく表示されませんでした。
「crontab -l」では、正しく見れます。
環境変数のEDITORに、”vi”を設定し、「crontab -e」を
行うと、正しく表示されます。

ここでなのですが、unixにログインし、コマンドラインから、
viを起動すると問題なく使用できるのですが、ログインの場合
環境変数のEDITORは関係ないのでしょうか。
それとも、そういうものなのでしょうか。

環境は、
solaris8
bシェル

Prev< No. 5024〜5027> Next  [最新発言に戻る] [過去ログ一覧]