Skip to content

TLS连接redis返回握手失败 #322

Open

Description

@yuThomas

使用这个库连接redis是必须要使用cert/key文件么

  1. 调用代码如下:
    `acl::acl_cpp_init();
    acl::log::stdout_open(true);

    acl::redis_client c("redis:6379");
    c.set_password("");

    acl::polarssl_conf::set_libpath("/usr/loca/lib/libpolarssl.so");
    auto conf = new acl::mbedtls_conf;
    c.set_ssl_conf(conf);

    const char *key = "OBD:ALKDJFLAKDJADSK";

    acl::redis conn;
    conn.set_client(&c);

    auto ret = conn.set(key, "1", 10, SETFLAG_NX | SETFLAG_EX);`

  2. 调用返回错误如下:
    polarssl_conf.cpp(208), polarssl_dll_load: /usr/local/lib/libpolarssl.so loaded! polarssl_io.cpp(447), handshake: ssl_handshake failed: -0x7200

Activity

  1. zhengshuxin commented on Jan 2, 2024

    @zhengshuxin
    Member

    是的,而且需要有ca证书,可以参考:#155 中讨论的。

  2. yuThomas commented on Jan 2, 2024

    @yuThomas
    Author

    是的,而且需要有ca证书,可以参考:#155 中讨论的。

    好的,感谢

  3. yuThomas commented on Jan 2, 2024

    @yuThomas
    Author

    是的,而且需要有ca证书,可以参考:#155 中讨论的。

    再次请问,是否有提供单向认证功能,即客户端不携带证书。
    我尝试使用单向认证(也就是上面的代码),也查看了相关的issue,没有找到类似的信息。但是从源码中samples的redis_ssl示例中,发现并没有对客户端认证文件的强校验,我推测应该是支持此种功能,或是我的理解有问题。谢谢

  4. zhengshuxin commented on Jan 2, 2024

    @zhengshuxin
    Member

    是的,而且需要有ca证书,可以参考:#155 中讨论的。

    再次请问,是否有提供单向认证功能,即客户端不携带证书。 我尝试使用单向认证(也就是上面的代码),也查看了相关的issue,没有找到类似的信息。但是从源码中samples的redis_ssl示例中,发现并没有对客户端认证文件的强校验,我推测应该是支持此种功能,或是我的理解有问题。谢谢

    这个双向验证似乎是redis-server要求的。

  5. yuThomas commented on Jan 3, 2024

    @yuThomas
    Author

    是的,而且需要有ca证书,可以参考:#155 中讨论的。

    再次请问,是否有提供单向认证功能,即客户端不携带证书。 我尝试使用单向认证(也就是上面的代码),也查看了相关的issue,没有找到类似的信息。但是从源码中samples的redis_ssl示例中,发现并没有对客户端认证文件的强校验,我推测应该是支持此种功能,或是我的理解有问题。谢谢

    这个双向验证似乎是redis-server要求的。

    1. redis-server我这边配置的是单向认证,同时我尝试以其他语言如GoLang进行单向认证连接测试,可以通过。
    2. 在使用acl::redis_client::set_ssl_conf()这个接口时,我使用的是polarssl,acl::polarssl_conf构造函数中第二个参数为不校验,理解为应该是客户端不校验服务端证书,但是从实际输出看,应该还是做的双向校验
  6. 41405465 commented on Jul 20, 2025

    @41405465

    同问,一样的现象
    其它语言支持不配证书

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions