簡體   English   中英

Python SSL X509:KEY_VALUES_MISMATCH

[英]Python SSL X509: KEY_VALUES_MISMATCH

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM