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~
まる一日解決方法を探し続けているのですが、だめです。
漠然とした内容で申し訳ありませんが、どなたかご教授願えませんでしょうか。
よろしくお願いいたします。