我想要的是在psk处于活动状态时测试tls握手。 我还想看到在客户端(我的笔记本电脑)和公共服务器之间的连接期间交换的每个http标头。 现在我想知道是否有一个公共的psk tls服务器,我可以在那里进行测试。
问候。
答案 0 :(得分:3)
我怀疑在互联网上有一个使用PSK的网络服务器公开测试。我也怀疑浏览器是否支持PSK密码套件。但您可以使用带有openssl的PSK设置自己的Web服务器:
openssl s_server -psk 1a2b3c4d -nocert -www
匹配的客户端:
openssl s_client -connect 127.0.0.1:4433 -psk 1a2b3c4d
对于HTTP协议:它独立于TLS层,即如果使用PSK或使用证书的普通认证,它不会改变。
答案 1 :(得分:0)
即使某些公共TLS服务器支持PSK,您也无法使用它来测试您的客户端。公钥认证(大多数TLS服务器使用的)工作方式与PSK之间存在根本区别。
公开密钥验证: 如果公共密钥服务器认证(不涉及客户端认证的那些),服务器发送一个证书,其中包含一个公钥,客户端加密它的预主密钥并将其发送到只有服务器可以解密的服务器。通过这种方式,两者都具有相同的预主密钥,并且可以使用相同的派生集来进一步导出最终密钥。
预共享密钥: 正如名称所示,预先共享要求双方在他们之间预先共享相同的密钥。他们只是交换它们之间的ID,以指示他们将使用哪些预共享来生成最终密钥。
因此,即使有一台支持PSK的服务器,你也应该拥有相同的一组(或至少一个)密钥,这是不可能的,因为这些服务器不会与任何人分享他们的密钥。它应该与谁共享(合法的客户)。
因此,最好的方法是使用openssl的测试客户端和服务器工具并对其进行测试。