php – 验证curl是否使用TLS
|
在我的
PHP应用程序中,我使用
PHP的CURL和openssl,使用SOAP进行连接和通话.
我通过添加更改了我的代码: curl_setopt($objCurl,CURLOPT_SSLVERSION,CURL_SSLVERSION_TLSv1_2); 理论上应该强制卷曲使用TLSv1.2. 但是这是理论 – 我需要验证它实际使用TLS – 是否有任何方法? [url] => https://www.example.com/soap/MessagingPort [content_type] => text/xml;charset=utf-8 [http_code] => 200 [header_size] => 293 [request_size] => 882 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.164487 [namelookup_time] => 3.4E-5 [connect_time] => 3.4E-5 [pretransfer_time] => 0.000122 [size_upload] => 604 [size_download] => 178 [speed_download] => 1082 [speed_upload] => 3672 [download_content_length] => 178 [upload_content_length] => 604 [starttransfer_time] => 0.164477 [redirect_time] => 0 大大提前谢谢 简答请求卷曲到https://www.howsmyssl.com/ <?php
$ch = curl_init('https://www.howsmyssl.com/a/check');
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$data = curl_exec($ch);
curl_close($ch);
$json = json_decode($data);
echo $json->tls_version;
应该输出用于连接的TLS版本. 挖掘更深 Curl依赖于底层OpenSSL(或NSS)库来进行安全连接的协商.所以我相信在这里问的正确的问题是什么是OpenSSL库.如果可以处理TLS连接,则curl可以处理TLS连接. 那么如何弄清楚openssl(或NSS)库的能力呢? <?php $curl_info = curl_version(); echo $curl_info['ssl_version']; 这将会倾倒出来 OpenSSL/1.0.1k 然后,您可以查看该版本的发行说明,看看是否包含TLS支持. OpenSSL发行说明 – https://www.openssl.org/news/openssl-1.0.1-notes.html NSS发行说明 – https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases Spoiler警报 > openssl包括对OpenSSL 1.0.1中TLS v1.1和TLS v1.2的支持[2012年3月14日]NSS包括对3.14中TLS v1.1的支持>包括NSS支持3.15中的TLS v1.2 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
