Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何在Mac OS上测试远程服务器是否支持tls1.2_Macos_Openssl - Fatal编程技术网

Macos 如何在Mac OS上测试远程服务器是否支持tls1.2

Macos 如何在Mac OS上测试远程服务器是否支持tls1.2,macos,openssl,Macos,Openssl,我在谷歌上搜索并找到了 , 命令: openssl s_client -connect google.com:443 -tls1_2 由于“未知选项-tls1_2”错误,无法在MacOS上工作。您可以使用curl对其进行测试。我相信curl是通过命令行工具安装在OSX上的 $ curl https://google.com/ --tlsv1.2 --verbose * Trying 46.134.192.54... * Connected to google.com (46.134.192

我在谷歌上搜索并找到了

,

命令:

openssl s_client -connect google.com:443 -tls1_2

由于“未知选项-tls1_2”错误,无法在MacOS上工作。

您可以使用
curl
对其进行测试。我相信
curl
是通过命令行工具安装在OSX上的

$ curl https://google.com/ --tlsv1.2 --verbose
*   Trying 46.134.192.54...
* Connected to google.com (46.134.192.54) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
* Server certificate: *.google.com
* Server certificate: Google Internet Authority G2
* Server certificate: GeoTrust Global CA
> GET / HTTP/1.1
> Host: google.com
> User-Agent: curl/7.43.0
> Accept: */*
多亏了本页上的,我编写了这个简单的脚本来测试服务器对TLS1.0、1.1和1.2的支持。我想这应该适用于任何linux/unix风格,而且肯定适用于Mac,因为我正在用它来测试它

$ tls_test.sh tls1test.salesforce.com
TLS1.2 is supported on tls1test.salesforce.com
TLS1.1 is supported on tls1test.salesforce.com
### TLS1.0 is NOT SUPPORTED on tls1test.salesforce.com ###
tls_test.sh
#/usr/bin/env bash
死()
{
回音“$*”
出口
}
#让服务器进行测试,并以秒为单位超时
伺服器=$1
超时时间(以秒为单位)=${2:-20}
中的大小写“$timeout_in_seconds”
“|*[!0-9]*)死亡”您的超时值应为整数值,而不是“$2”
以撒
#记录完整响应的位置
dump_file=${3:-/tmp/_dump_tls_info}
rm-f“$dump_文件”
显示帮助()
{
me=$(基本名称“$0”)
信息=$(cat>“$dump\u文件”
如果[-n“$OUT_TIMEOUT”];则
echo“与$server的连接在$timeout\u(秒)后超时”
fi
如果[-n“$OUT\u CURL\u OLD”];则
echo“您的curl版本太旧,无法测试TLS$TLS支持”
返回;
fi
如果[-n“$OUT_TLS”];则
echo“####TLS$tlsDisplay在$server###上不受支持”
其他的
如果[-n“$OUT\u TLS\u握手”];则
echo“####TLS$tlsDisplay在$server###上不受支持”
其他的
echo“TLS$tlsDisplay在$server上受支持”
fi
fi
}
testtls1.2
testtls1.1
testtls1.0

您可以尝试以下方法:

nmap --script ssl-cert,ssl-enum-ciphers -p 443,465,993,995 www.google.com

这可能是因为<强>你的OpenSSL是旧的\强>,它没有TLSv1.2更新。请考虑升级OpenSSL,然后它应该工作。


我已经在我的Mac上测试过了。同样,现在市场上有TLSv1.3,但我还没有将我的Openssl升级到最新版本,所以对于
-tls1_3
,我得到了相同的错误在google.com上尝试过,它说v1.0、v1.1和v1.2不支持
。但是当我做了一个cURL时,我得到了使用TLS_ECDHE_ECDSA_W的
tls1.2连接ITH_AES_128_GCM_SHA256
@Abhilashk-我已经用一个本地脚本更新了这个脚本,其中有一些小改动-对我来说,它可以与Google配合使用(说它支持所有tls版本,而tls1test.salesforce.com不支持)谢谢你的时间。尝试了更新的脚本,对我来说仍然是不受支持的-@Abhilashk-hmmm…我已经在两台计算机上尝试过了,它对我有效-你能再试一次,然后把你在文件
/tmp/\u dump\u tls\u info
中看到的输出转储到网上的某个地方,这样我就可以看到你得到的东西了吗?嗯…我看了看,然后我似乎您的输出表明您只能进行TLS v1.0连接-可能您的openssl阻止了TLSv1.1和TLSv1.2?我会仔细看,fyiI意识到这是一个旧线程,但我最近遇到了相同的问题。任何愿意安装powershell的人,现在OSX上支持powershell,Linux和Windows都可以利用我编写的脚本输出客户端能够成功使用的SSL/TLS协议,以使用fqdn或ip连接到服务器。我希望这对其他人有所帮助。您的意思是
-tls1_3
,对吗?您的openssl命令可能会因拼写错误而失败(无提示)。
nmap --script ssl-cert,ssl-enum-ciphers -p 443,465,993,995 www.google.com