"""Python HTTPS server"""
from http.server import HTTPServer, SimpleHTTPRequestHandler
import ssl
# https://stackoverflow.com/a/40822838/2715716
HTTPD = HTTPServer(('localhost', 4443), SimpleHTTPRequestHandler)
# Ubuntu on Windows:
# - Generate key:
# `openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365`
# - Strip passphrase:
# `openssl rsa -in key.pem -out key-no-pass.pem`
HTTPD.socket = ssl.wrap_socket(HTTPD.socket,
keyfile='key-no-pass.pem', certfile='cert.pem', server_side=True)
HTTPD.serve_forever()
Приведенное выше выдает мне ssl.SSLError: [X509: KEY_VALUES_MISMATCH] несоответствие значений ключа (_ssl.c:2846). Есть ли способ узнать несовпадающие значения?
Я попытался использовать openssl verify -verbose -CAfile cert.pem
в надежде, что он скажет мне, какие значения не совпадают, но я не знаю, как его использовать, и написанная мной команда просто открывает своего рода интерактивную подсказку.
Я ничего не знаю о сертификатах или Python, я только python -m SimpleHTTPServer
. Это я пытаюсь получить самозаверяющий сертификат, чтобы Chrome отвлек меня от необходимости использовать HTTPS для некоторых вещей WebRTC для работы на localhost
.