【问题标题】:Can I provide a list of acceptable hostnames to an SSLSocket?我可以向 SSLSocket 提供可接受的主机名列表吗?
【发布时间】:2014-01-01 20:48:04
【问题描述】:

我正在尝试使用自签名证书连接到没有域名的服务器。问题是,尽管使用SSLContext.load_verify_locations() 加载了服务器证书的副本,但它似乎认为它无效:

ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:550)

我很确定这只是主机名不匹配,因为我 connect()ing 到服务器的 IP,而证书在 Common Name 字段中没有 IP。有什么方法可以告诉SSLSocket“如果服务器的证书适用于这些主机名之一就可以了”?

【问题讨论】:

    标签: python ssl python-3.x openssl


    【解决方案1】:

    您可以将您的 IP 添加到主题备用名称。 this question here有很好的资料

    【讨论】:

    • 如果我不是服务器的管理员,这不起作用。
    • 在禁用主机名验证之前,您可以将主机名 + IP 添加到 /etc/hosts 文件中。我认为这是为了测试。
    猜你喜欢
    • 2022-01-08
    • 1970-01-01
    • 2015-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多