From: Tanaka Akira Date: 2005-02-11T09:48:30+09:00 Subject: [ruby-dev:25671] Re: openssl binding for SSL_CTX_set_default_verify_paths and X509_STORE_set_default_paths In article <20050211.053825.291449071.gotoyuzo@sawara.does.notwork.org>, GOTOU Yuuzou writes: > SSL_CTX_set_default_verify_pathsはOpenSSL::SSL::SSLContextの > 構造の都合で提供していません。この関数は、例えば次のように用 > いられます。 > > if (!SSL_CTX_load_verify_locations(ctx,CAfile,CApath)){ > if (!SSL_CTX_set_default_verify_paths(ctx)){ > /* error */ > } > } > > (すでにご存知だと思いますが)OpenSSL::SSL::SSLContextにパラメー > タを設定する各メソッドは、直接にはSSL_CTX構造体に反映せずに > インスタンス変数だけをセットします。実際に反映されるのは > SSLSocketが開始される時なので、対応するコードを次のように書 > くことができません。 ふむ。ぜんぜんご存知ではありませんでした。 > 一方、X509_STORE_set_default_pathsは抜けているだけなので、 > OpenSSL::X509::Store#set_default_pathsを追加します。 > 証明書検証まわりのパラメータはOpenSSL::X509::Storeにセットし > て、OpenSSL::SSL::SSLContext#cert_store=で渡せば > SSL_CTX_set_default_verify_pathsを呼んだのと同様に動くと思い > ます。 なるほど。 > ところで、verify_modeのデフォルトはOpenSSLライブラリに任せて > いるのですが、net/httpsではSSL_VERIFY_PEERをデフォルトにすべ > きだったと考えるようになりました。せめてopen-uriではそうして > はどうでしょうか。 そうするつもりです。 -- [田中 哲][たなか あきら][Tanaka Akira]