我正在尝试连接到具有自签名证书且没有域名的服务器。问题是,尽管已经使用SSLContext.load_verify_locations()
加载了服务器证书的副本,但它似乎认为它无效:
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:550)
我很确定这只是一个主机名不匹配,因为我connect()
到服务器的IP,而证书在Common Name
字段中没有IP。有没有办法告诉SSLSocket
“如果服务器的证书是针对其中一个主机名的话,那没关系”?