[PHP-users 33489] 証明書つきのhttpsのソケット通信

Michiyoshi Buniu buniu @ dream-link.jp
2008年 4月 25日 (金) 22:56:24 JST


はじめまして。豊丹生と申します。

はじめての質問なので、うまく説明できなかったらすみません。

OS :  FreeBSD5.4
PHP : Version 4.4.2

以下の過去ログを見ながらhttps通信をやろうとしているので、
こちらからリクエストを送っても何の反応もありません。
$fpにはリソース値が返ってきているので、
ソケット自体はオープンできていると思うのですが、
どうしたら通信できるようになるか情報を頂ければ幸いに存じます。
(そもそも何か大きな勘違いをしているかもしれませんが・・・)

http://ml.php.gr.jp/pipermail/php-users/2005-February/025051.html

スクリプトは以下の通りです。

$context = stream_context_create();
stream_context_set_option($context, 'ssl', 'local_cert', './client.pem');
stream_context_set_option($context, 'ssl', 'cafile', './ca.pem');

$purl = parse_url('https://対象サーバーアドレス/対象ファイル');
$fp = fsockopen($purl['host'], (isset($purl['port']) ? $purl['port'] : 80), 
$errno, $errstr, 5, $context);

$out = 'GET '.$purl['path'].' HTTP/1.0'."\r\n";
・・・(中略)・・・
$out .= "\r\n";
fwrite($fp, $out);

while (!feof($fp)) {
 echo fgets($fp);
}

fclose($fp);

以上、よろしくお願いします。 



PHP-users メーリングリストの案内