Siena. です。 サンプルを使って問題点の切り分けができました。 文末にあるように、require 'openssl' では openssl.rb がロードされないためのようです。 》とりあえず、OpenSSLのバージョンはなんでしょうか。 》# 0.9.7 以上をメインのターゲットにしていて、0.9.6 でも make 》# が通ることまでは確認しています。 書き忘れていました。すみません。 $ openssl version OpenSSL 0.9.7a Feb 19 2003 バイナリパッケージを使用しています。いろいろと道具が 足りなくて、自分で新しい版をビルドするのは難しい状況です。 # OS/2 用フリーソフトアーカイブサイト Hobbes より # http://hobbes.nmsu.edu/cgi-bin/h-viewer?sh=1& # fname=/pub/os2/util/encrypt/openssl-0.9.7a-os2-bin.zip 》> ext/openssl 単体のテストコードはどこかにあるでしょうか? 》sample/openssl/echo_svr.rb に同様のコードがあるので試すこと 》ができると思います。 ありがとうございます。sample の下は未確認でした。 》> $ ruby runner.rb drb/test_drbssl.rb 》> T:/lib/ruby/1.8/drb/ssl.rb:83:in `setup_certificate': 》> undefined method `create_extension' for 》> #<OpenSSL::X509::ExtensionFactory:0x44d0dc> (NoMethodError) 》 》X509::ExtensionFactory#create_extension は 》ext/openssl/lib/openssl/x509.rb で定義されています。考えられ 》るのは、ファイルがちゃんとコピーできていないか、site_ruby 等 》に入っている古い openssl を読んでいるか、くらいですかねえ。 一応、古い版はディレクトリごとリネームして、 新規導入しているので混在してはいないはずです。 また、コピーもきちんと行なわれているようです。 $ type ruby ruby is t:/bin/ruby.exe $ ls t:/lib/ruby/1.8/openssl/ bn.rb cipher.rb ssl.rb buffering.rb digest.rb x509.rb T: は仮想ドライブなので念のため実体を調べてみても導入先は一致しています。 # 実ドライブ中へのシンボリックリンクの塊みたいなファイルシステム $ tvdir t:/bin/ruby.exe | grep ruby | cut -c40-100 ruby.exe --> F:\Usr\Prog\Ruby\bin\ruby.exe $ tvdir T:/lib/ruby/1.8 | grep openssl | cut -c40-100 openssl --> F:\Usr\Prog\Ruby\lib\ruby\1.8\openssl openssl.rb --> F:\Usr\Prog\Ruby\lib\ruby\1.8\openssl.rb おかしいなと思って、openssl.rb と openssl/x509.rb に puts を 埋め込んで sample/openssl/echo_svr.rb で調べてみました。 require 'openssl' で openssl.rb がロードされていないようです。 同様にエラーになります。 $ ruby echo_svr.rb ..................................... echo_svr.rb:31: undefined method `create_extension' for #<OpenSSL::X509::ExtensionFactory:0x33bf18> (NoMethodError) 拡張ライブラリを静的にリンクしているのですが、そのせいでしょうか。 openssl.rb を opensslx.rb にコピーして echo_svr.rb を require 'opensslx' と書き換えたところ、正常に実行されたようです。 また、明示的に require 'openssl.rb' としても正常に実行されたようです。 $ ruby echo_svr.rb ............................................................... !!! WARNING: PEER CERTIFICATE WON'T BE VERIFIED !!! 問題点が分かりました。ありがとうございます。 これはどのようにすべきでしょうか。 --- Siena. <mailto:siena / faculty.chiba-u.jp>