我有连接的python服务器(在asyncio和websockets模块的帮助下)和js客户端(在websockets库的帮助下)。问题是我需要这个连接是安全的(我正在处理密码),但我没有成功建立与wss的连接(web socket安全) - 代码只运行ws。 我甚至试图用RSA和AES建立自己的加密,但这也没有用。 我真的很喜欢它,所以如果有人做过它或者对它有所了解,请帮我弄清楚它有什么问题,或者指出一个可行的安全连接的方法。
这是我的服务器:
async def app(websocket, path):
while True :
data = await websocket.recv()
if (data== "close"):
print("connection with client closed.")
break
data = data.encode()
arr = data.split("~".encode())
for i in range(0,4):
arr[i]=arr[i].decode()
resualt=algo(arr)
await websocket.send(resualt)
start_server = websockets.serve(app,'0.0.0.0',6169)
和我的客户:
var socket = new WebSocket("ws://127.0.0.1:6169/");
socket.onopen = function (evt) {
socket.send(st);
};
socket.onmessage = function (evt) {
alert("scrool extension page down to see the password");
$('#res').val(evt.data);
socket.send("close");
};
socket.onerror = function (evt) {
alert("the error is: "+evt.data);
};
在python脚本中我们尝试使用ssl:
c = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
c.load_default_certs(目的= ssl.Purpose.CLIENT_AUTH)
start_server = websockets.serve(app,'0.0.0.0',6169,ssl = c)
并且在js sciprt中我们写了而不是ws,wss:
"ws://127.0.0.1:6169/")
我们得到的错误:
WebSocket connection to 'wss://127.0.0.1:6169/' failed: Error in connection
establishment: net::ERR_CONNECTION_CLOSED