运行python HTTPServer时出现无效证书警告
我正在尝试使用自签名证书运行python3httpserver。我创建了自签名证书:运行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. 请注意,
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()