delegateでSSLのクライアント認証を代理する方法
SSLでクライアント認証を要求してくるWebサーバに、クライアント認証をサポートしていないクライアントから接続したいと思い、
client --(http)--> delegated --(https)--> WebServer
という接続を考えています。
そこで、delegatedを以下のオプションで起動しているのですが、サーバから証明書を受信した直後からの挙動がおかしく、全くデータを取得しないままdelegatedとの接続がタイムアウトで終了してしまいます。
./src/delegated -vv -cert client-cert.pem -key client-key.pem -pass passflaise -P8000 SERVER=http FSV=sslway
■delegatedのデバッグメッセージ(抜粋)
07/01 17:51:21.58 [26938] 1+2: -- Fork(FSV): 26936 -> 26938
07/01 17:51:21.58 [26938] 1+2: #### execFilter[FSV] [/path/to/delegate/lib/sslway]sslway
07/01 17:51:21.58 [26938] 1+2: #### [/home/komatsu/delegate/lib/sslway](1) sslway
07/01 17:51:21.58 [26938] 1+2: FSV arg[0] sslway
## SSLway[26938](localhost) server's cert. = **subject<< ..(省略).. >>
07/01 17:51:22.16 [26936] 1+2: PollIn.POLLHUP (11) errno=0
07/01 17:51:22.16 [26936] 1+2: HTTP realy_response: EOF at start
07/01 17:51:22.16 [26936] 1+2: relay_response()=-10001, cache=0, httpStat=P DontTruncate=0
07/01 17:51:22.16 [26936] 1+2: #HT11 EOF from the server
07/01 17:51:22.16 [26936] 1+2: #HT11 close svsokcs[17,18]
クライアント認証を必要としないSSLサーバからは正常にデータを取得できます。
解決法をご存知の方、よろしくご教授ください。
お礼
とても参考になります! ただ、証明期間によりクライアント証明書を発行したのですが、[保留中の証明書の確認]より取得しようとしても、「保留中の証明書の要求はありません。 」というメッセージが表示されて取得できません。 こんな事象はおきなかったでしょうか?