gpt4 book ai didi

编码/配置 OpenSSL 服务器以获得最大兼容性

转载 作者:太空宇宙 更新时间:2023-11-03 13:55:57 28 4
gpt4 key购买 nike

我正在用 C + OpenSSL 编写一个 SSL 服务器。这非常简单,并且有很多示例可供引用。

但是,我需要与范围广泛的旧版客户端进行互操作,其中一些真的很旧,并且存在各种错误,这些错误会阻止 SSL 协商工作。联系这些客户端的用户让他们升级充其量是不切实际的。

SSL_CTX_set_options(ctx, SSL_OP_ALL);

...有帮助,但仍然有无法建立 SSL 连接的客户端。

我可以采取哪些其他措施来使 OpenSSL 尽可能互操作?

(一个有问题的客户端示例是 Windows 上的 Kermit95——我相信它是在 2003 年编译的,安装目录中有一个 libssleay.dll。虽然 Kermit95 源代码现在是免费的,但即使是维护者也不知道如何构建它在 Windows 上!)

最佳答案

据我所知,有很多事情可以提高 openSSL 的互操作性。

  1. 使用“ALL”或“ALL:EXPORT:LOW”。我还没有检查 ALL 是否真的意味着 ALL。
  2. 有一个编译时选项可以在 openSSL 中重新启用 EXPORT56 密码。您必须在 ssl/tls1.h 中将 TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES 设置为 1。默认情况下它们是禁用的
  3. 包括 RedHat 在内的一些二进制发行版遗漏了任何有专利问题的密码。
  4. 实验密码可能需要 512 位 RSA key 。请在此处查看示例代码:http://www.openssl.org/docs/ssl/SSL_CTX_set_tmp_rsa_callback.html

基本答案 - 编译你自己的 openSSL!

关于编码/配置 OpenSSL 服务器以获得最大兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7740104/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com