2008年4月26日

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

こんばんは。

SSLのクライアント側実装はやったことがないのであまり突っ込んだことはいえないのですが。
ソケット通信もやってないし。

> $fp = fsockopen($purl['host'], (isset($purl['port']) ? $purl['port'] : 80),
> $errno, $errstr, 30, $context);

これって、
$fp=fsockopen("先方サーバIPアドレス", 14100, $errno, $errstr, 30, $context);
ってなるようですが、
http://jp.php.net/manual/ja/function.fsockopen.php
をみるに第6引数は定義されていないし、動くにしてもただのTCP通信しかしてない
んじゃないですか?
http://www.php.net/manual/ja/transports.php
http://jp.php.net/manual/ja/stream.examples.php
とかでSSL/TLSの際の記述の仕方やSSL通信の例なんかもありますけれど、
こういうところは見ているんでしょうか?

参考にしたという記事はクライアント認証の例であって、参考にはなるかもしれない
けれど実装例が同じになるとは思えません。
とりあえずそれっぽいのが検索して引っかかったからコードをコピペして試してみて、
動かなかったからすぐお手上げ状態になっているように見えるんですが。。
SSLに証明書がついているのは当たり前なので、クライアント認証の話をしている
ってことなんでしょうか?

PHPでSSL通信のUA側実装を行う場合に、証明書の確認や暗号の交換、SSL
セッションの確立あたりをどう実装するのかよく分かりませんが、ちょっと調査が
不足しすぎているような気もします。


私も具体的なやりかたを知っている訳ではないですし、TLSの理解はSSLV3の
上位版程度の認識ですが、同様の実装を行うなら、いきなり本番環境のサーバに
接続しながらではなんてことはやりません。

SSL通信のできるサーバを構築して、サーバ-クライアントの環境を作ってからまず
HTTPでのソケット通信を成功させ、次にブラウザでのSSL通信を行い、最後に
PHPでのSSL/TLSソケット通信を行うと思います。
クライアント認証を行うとなればさらにこのあとでしょうか。
_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3

投稿者 xml-rpc : 2008年4月26日 01:44
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/72556
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。