我想使用https在linux (RedHat或CentOS)上运行。我获得了一个(内部)证书,并获得了必要的中级和根证书。我把它们都放在一个文件里,server.pem。
这是我的密码:
httpd = BaseHTTPServer.HTTPServer(('localhost', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
cf = '/home/degenaro/workspace/certs/server.pem'
httpd.socket = ssl.wrap_socket (httpd.socket, certfile=cf, server_side=True)
httpd.serve_forever()结果如下:
回溯(最近一次调用): 在main httpd.socket = ssl.wrap_socket (httpd.socket,certfile=cf,server_side=True) File“/usr/lib64 64/python2.7/ssl.py”中,第934行,wrap_socket ciphers=ciphers) File“/usr/lib64 64/python2.7/ssl.py”,第934行,在wrap_socket ciphers=ciphers中。在__init__ self._context.load_cert_chain(certfile,keyfile)中,ssl.SSLError: PEM ASN1 lib (_ssl.c:2574)
我做错什么了?
发布于 2019-07-09 18:39:14
这个错误是说SSL_CTX_check_private_key失败了,因此私钥是不正确的。
确保:
600;https://stackoverflow.com/questions/56958492
复制相似问题