stream_socket_server()を使用してソケット サーバーを作成しようとしています。
通常の接続は正常に機能しますが、証明書なしで接続を暗号化するサーバーを作成したいと考えています。これは ADH 暗号で達成できることを知っています。はい、理論的には証明書よりも安全性が低いことを知っています...
最初にこのサーバーを作成する理由は、クライアントが接続する別のサーバーをモックすることです (このプロトコルを介して、疑問に思っている場合)。
クライアントは、最初に証明書を要求し、ADH にフォールバックするように構成されています。実物でテストしたところ、問題なく接続されたので、問題はソケット サーバーにあります。
これまでに試したことはすべて、「ハンドシェイクの失敗」エラーが発生しました。
私が試した構成のいくつか:
<?php
$server = stream_socket_server(
"tls://127.0.0.1:6667",
$errorno,
$errstr,
STREAM_SERVER_BIND | STREAM_SERVER_LISTEN,
stream_context_create(
array('ssl' => array('ciphers' => 'ADH'))
)
);
?>
<?php
$server = stream_socket_server(
"tls://127.0.0.1:6667",
$errorno,
$errstr,
STREAM_SERVER_BIND | STREAM_SERVER_LISTEN,
stream_context_create(
array('ssl' => array('ciphers' => '-COMPLEMENTOFALL ADH'))
)
);
?>
また、テストのために、(上記の 2 番目の例のように) 無条件に ADH を使用するようにクライアントを調整しようとしましたが、それも失敗しました。
これは、私が試したすべての PHP バージョンで発生し、最新のものは 5.5.0 です。
何か案は?