如何列出客户端支持的所有HTTP Cyphers

我有一个HTTPS客户端(一个GSM调制解调器),我需要知道支持的密码来configuration我的nginx。 但是请求只是失败,甚至没有列在我的nginx日志中。

有没有简单的方法来设置一个服务器,只是告诉我连接客户端支持什么密码?

考虑到它可能与OpenSSL相关,我build议openssl ciphers -V

对于更一般的答案,这在很大程度上取决于软件是否提供这样的命令,但在Linux上,OpenSSL是相当普遍的。

编辑:没有注意到你想从服务器做到这一点,但在这种情况下,我会build议运行openssl s_server ,这将给你所有的SSL / TLS连接build立,包括客户端公布的密码。

我将使用Wiresharkloggingstream量,然后查看握手以查看失败的位置。 那就是客户会告诉你他在说什么的地方。

首先,我想起来,把网上一个Apache,并启用密码logging。 从源代码编译启用它默认情况下,在extra / httpd-ssl.conf你看到这个:

 CustomLog "/opt/apache-2.2.20-p3/logs/ssl_request_log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" 

然后连接到您的设备将在您的日志文件上显示用于连接的密码。