如何查看卷曲密码列表?

如何查看卷曲密码列表?

我的理解是,在ssl协商期间,客户端(即curl)向服务器发送一个密码列表,然后服务器回复其首选选择。

如何查看curl 发送的密码列表?

答案1

有一个网站提供curl 密码请求检测作为服务:

curl https://www.howsmyssl.com/a/check

但是,它并不接受所有密码 - 如果它们接受的密码之一不在您的curl发送的列表中,那么您将根本无法得到响应。

答案2

您可以使用Wireshark。例如,如果您设置“tcp port 443”的数据包过滤器,然后将显示过滤器设置为“ssl”,您将得到如下输出:

显示 TLS 客户端 Hello 的 Wireshark 屏幕截图

您可以看到“Client Hello”数据包显示了诸如 之类的密码套件TLS_AES_128_GCM_SHA256

答案3

这个答案 [1] 是一个好的开始,但它掩盖了如何实际创建自签名证书,并且如果没有这一部分,答案就无法工作。此外,他们链接到的文章 [2] 以及有关如何创建自签名证书的说明正在使用 OpenSSL,这对于某些目的很有用,但对于创建自签名证书可能并不理想,因为它使过程变得更加困难比它需要的要多。为此,我找到了另一个工具 [3],那要简单得多:

generate_cert -host localhost

它只是用 Go 编写的单个文件,没有外部依赖项。运行上述命令后,您可以使用 OpenSSL 或类似的命令来启动服务器:

openssl s_server -msg -accept 8080 -cert cert.pem -key key.pem 

然后提出这样的请求:

curl -k https://localhost:8080
  1. https://unix.stackexchange.com/a/667824
  2. https://netburner.com/learn/creating-a-self-signed-certificate-for-secure-iot-applications
  3. https://github.com/golang/go/blob/go1.17.4/src/crypto/tls/generate_cert.go

相关内容