我有 libvirt、一个客户端和一个服务器。Libvirt 使用 gnutls 实现 tls。我想使用 mitmproxy 并将其置于客户端和远程服务器之间。但 mitmproxy 使用不同的 tls 实现 - openssl。我读到他们的证书和握手过程可能彼此不兼容?
是否有任何建议应该采取哪些步骤来实现兼容性,或者我应该只为 mitmproxy 提供使用 gnutls 的 tls 层的另一个实现?
答案1
可以让 OpenSSL 与 gnutls 一起工作吗?
不,当然不是。- 是的,当然。
两者或多或少都做着同样的事情:它们是加密库,为其他应用程序提供对(相同)加密协议的不同实现支持。
Openssl 不需要也不能使用 gnutls 库,反之亦然。
另一方面:链接到 OpenSSL 库的应用程序当然可以与链接到 GnuTLS 的其他应用程序进行通信,只要
- 两个应用程序相互同意并使用相同的协议
- 所选协议在两个库中均可用且正确实现
我读到他们的证书和握手过程可能彼此不兼容?
呃,在哪里?
只要它们都正确地实现了协议,就没有理由会存在兼容性问题。