运行python HTTPServer时出现无效证书警告

运行python HTTPServer时出现无效证书警告,python,https,openssl,Python,Https,Openssl,我正在尝试使用自签名证书运行python3httpserver。我创建了自签名证书: openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.localhost.pem -out cert.localhost.pem 然后我使用python SimpleHTTPRequestHandler: 让我们尝试从以下位置的web服务器加载一些内容:https://localhost:9443/tests. 请注意,

我正在尝试使用自签名证书运行python3httpserver。我创建了自签名证书:

openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 
 -keyout key.localhost.pem -out cert.localhost.pem
然后我使用python SimpleHTTPRequestHandler:

让我们尝试从以下位置的web服务器加载一些内容:https://localhost:9443/tests.

请注意,我们得到了一个不安全的

单击红色“不安全”按钮,我们将获得更多信息:

让我们看看“证书无效”的详细信息:


哪些步骤我做得不正确?

当我在谷歌中搜索时,我发现自签名证书不可信。 您必须接受web浏览器中的异常才能使用它

要创建可信证书,您必须生成一个RootCA并使用它来签署您的证书。但即使在这里,您也必须将RootCA作为可信证书添加到系统中

所有这些都是出于安全考虑。如果你能如此轻松地创建一个可信证书,那么黑客就会使用它

顺便说一句:我在Gooogle上找到的一个链接:


当我在谷歌搜索信息时,我发现自签名证书不可信。您必须在web浏览器中接受异常才能使用它。要创建可信证书,您必须生成RootCA,并使用它对您的证书进行签名。但即使在这里,您也必须将RootCA作为可信证书添加到系统中。所有这些都是出于安全原因——如果您可以如此轻松地创建tursted证书,那么黑客就会使用它@furas尼斯链接:似乎有几个额外的小步骤来正确地完成这项工作。请随便回答
#!/usr/bin/env python3 
from http.server import HTTPServer, SimpleHTTPRequestHandler
import ssl
import socketserver

import sys
port = int(sys.argv[1])
# httpd = HTTPServer(('localhost', port), BaseHTTPRequestHandler)
httpd = socketserver.TCPServer(('localhost', port), SimpleHTTPRequestHandler)

keyfile="/Users/steve/key.localhost.pem" ;certfile='/Users/steve/cert.localhost.pem'
httpd.socket = ssl.wrap_socket (httpd.socket, 
       keyfile="/Users/steve/localhost.key", certfile='/Users/steve/localhost.crt', server_side=True)

httpd.serve_forever()