0

我正在考虑通过非 TCP连接实现 TLS 的可能性。这个想法是使用SSLEngine,它提供了加密/解密数据到内存缓冲区的可能性,并通过我们想要的可靠传输来发送它们。

我必须实现 SSL 协议定义的所有握手(客户端问候、服务器问候......等)。

如果我这样做,我将如何测试我的实现是否有效?是否有一些我可以运行的“官方 TLS 测试套件”?

感谢您的建议

4

1 回答 1

1

您明确排除 TCP 的事实使事情变得更加复杂。TLS 对底层传输的工作方式有一些假设。您可以查看 QUIC 基本上如何通过 UDP 提供 TLS 及其约束。

至于官方的“测试套件”,我有一些想法可以提供,由于 TCP 依赖关系,这可能不会像开箱即用那样工作,但它们可能是一个开始:

在更抽象的层面上(我不知道它们是否是使用它的工具,但它们可能存在),当起草 TLS 1.3 的同时创建一个文档来收集典型的握手消息,以便您可以将它们用作示例.

在这里找到它:https ://datatracker.ietf.org/doc/draft-ietf-tls-tls13-vectors/

它的摘要是:

显示了 TLS 1.3 握手的示例。提供了私钥和输入,以便可以复制这些握手。
显示了包括秘密、流量密钥和 IV 在内的中间值,
以便可以根据
这些值逐步检查实现。

于 2018-12-13T19:16:07.287 回答