作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
"""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] key values mismatch (_ssl.c:2846)。有没有办法知道不匹配的值?
我尝试使用 openssl verify -verbose -CAfile cert.pem
希望它能告诉我哪些值不匹配,但我不知道如何使用它,我写的命令只是打开一些交互式的各种提示。
我对证书或 Python 一无所知,我只做过 python -m SimpleHTTPServer
。这是我试图获得一个自签名证书,这样 Chrome 就可以摆脱我对某些 WebRTC 内容必须使用 HTTPS 才能在 localhost
上工作的困扰。
最佳答案
如果您指定的私钥与您尝试使用的证书中的公钥不匹配,则会出现此错误。请检查您使用的私钥是否与证书中的公钥匹配。这可以通过比较以下应该相同的命令的输出来完成:
$ openssl x509 -noout -modulus -in cert.pem
$ openssl rsa -noout -modulus -in key-no-pass.pem
关于Python SSL X509 : KEY_VALUES_MISMATCH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41655961/
"""Python HTTPS server""" from http.server import HTTPServer, SimpleHTTPRequestHandler import ssl #
我是一名优秀的程序员,十分优秀!