Я пытаюсь создать простой HTTPS-сервер с Python3, используя модули socket
и ssl
. У меня есть самозаверяющий сертификат и файлы закрытого ключа, сгенерированные OpenSSL, и я пытался использовать их с модулем ssl, но каждый раз, когда я пытаюсь это сделать, я получаю « ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] sslv3 предупреждение о неизвестном сертификате (_ssl. c: 1076)"ошибка. Мой код:
import socket
import ssl
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
context.load_cert_chain(certfile='cert.pem', keyfile='my_key.key')
context.verify_mode = ssl.CERT_NONE
sock = socket.socket()
sock.bind(('', 443))
sock.listen(5)
while True:
new_conn, addr = sock.accept()
ssl_conn = context.wrap_socket(new_conn, server_side=True)
print(ssl_conn.recv(1024).decode()) # this is where i get the error
Я получаю ошибку:
File "C:\AllInOne\PortableApps\Python374\lib\ssl.py", line 1139, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] sslv3 alert certificate unknown (_ssl.c:1076)
Кто-нибудь знает, почему это происходит или как это исправить?