有谁知道如何使用纯php解决方案来检索远程服务器支持的密码列表?
这是再次测试本地客户端(Web浏览器)的代码
$ciphers = openssl_get_cipher_methods();
foreach($ciphers as $cipher) {
echo "{$cipher}<br>";
}
以下是我需要做的事情
以下是一些建立安全连接的代码,但需要帮助来考虑上述要求。
$url = $_REQUEST['host'];
$ssloptions = array(
"capture_peer_cert" => false,
"allow_self_signed"=>false,
"CN_match"=>$url,
"verify_peer"=>false,
"SNI_enabled"=>true,
"SNI_server_name"=>$url,
);
$ctx = stream_context_create( array("ssl" => $ssloptions) );
$result = stream_socket_client("ssl://$url:443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $ctx);
$cont = stream_context_get_params($result);
以下列出了我们可以用来连接的一些密码:
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
答案 0 :(得分:0)
我需要将它添加到我的套接字数组中:
'ciphers' => $value,
我还创建了一个包含所有密码套件的数组,并通过foreach ($ciphersuites_to_test as $value)
遍历所有密码。