意外的pyssl证书错误



我正在编写一个小型SSL代理服务器,并不断从android应用程序客户端而不是浏览器获取ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] sslv3 alert certificate unknown (_ssl.c:661)。我确实设置了ssl.CERT_NONE。这是我的测试代码:

SSLcontext = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
SSLcontext.load_cert_chain('server.crt', 'server.key')
SSLcontext.verify_mode = ssl.CERT_NONE
SSLcontext.check_hostname = False
s = socket.socket()
s.bind(('127.0.0.1', 443))
s.listen(5)
c = s.accept()[0]
c = SSLcontext.wrap_socket(c, server_side = True)
print c.recv(1024)

这是因为证书固定在安卓应用程序上还是我做错了什么?

我确实设置了ssl。CERT_NONE

这根本不会影响客户端验证服务器证书的方式。服务器无法指示客户端不验证证书,如果服务器可以这样做,这将是一个严重的安全问题。

SSLV3_ALERT_CERTIFICATE_UNKNOWN。。。来自android应用程序客户端,但不是浏览器。

不知道您在这里使用的是哪种证书。如果这是一个自签名的应用程序,你可能已经将其作为受信任的应用程序添加到浏览器中,或者添加了一个明确的异常,但你没有为Android应用程序这样做。如果这是一个由公共CA颁发的证书,那么您可能缺少链证书。桌面浏览器通常可以解决服务器端的问题,而大多数其他客户端则不能。

相关内容

  • 没有找到相关文章

最新更新