1

我在 OpenSSL 中同时使用服务器和客户端身份验证。

SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, NULL);

但是客户端通常没有有效的域名,所以我想在验证过程中跳过域名检查。定制的验证回调函数可能会,但鉴于我对 OpenSSL 的了解有限,我会寻求一些帮助。非常感谢。

4

1 回答 1

1

如何在 OpenSSL 中跳过域名验证?

没有必要跳过它,因为它不是由当前的 OpenSSL 实现执行的。当前的实现包括 0.9.8、1.0.0 和 1.0.1。

但是,根据OpenSSL Change Log,OpenSSL 1.0.2 和 1.1.0 将包括主机名验证:

*) 将主机名、电子邮件地址和 IP 地址检查与证书验证相结合。支持签入 opensl 实用程序的新验证选项。[史蒂夫汉森]

*) 对主机名和电子邮件检查功能的修复和通配符匹配支持。添加手册页。[Florian Weimer(红帽产品安全团队)]

*) 根据证书检查主机名电子邮件或 IP 地址的新功能。添加选项 x509 实用程序以打印针对证书的检查结果。[史蒂夫汉森]

根据更改日志,有一个-verify_name选项,但我没有看到它被合并到哪里。apps.c似乎响应-verify_hostname开关。但s_client不响应任一开关,因此不清楚如何为客户端实施或调用主机名检查。

于 2013-12-02T04:50:37.180 回答