Python SSL X509:KEY_VALUES_MISMATCH

2024-05-21

"""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.


如果您指定的私钥与您尝试使用的证书中的公钥不匹配,则会出现此错误。请检查您使用的私钥与证书中的公钥是否匹配。这可以通过比较以下命令的输出来完成,这些命令应该是相同的:

$ openssl x509 -noout -modulus -in cert.pem
$ openssl rsa -noout -modulus -in key-no-pass.pem
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python SSL X509:KEY_VALUES_MISMATCH 的相关文章

随机推荐