【问题标题】:Is there a way to use socket library securely有没有办法安全地使用套接字库
【发布时间】:2020-03-19 08:59:25
【问题描述】:

伙计们,我正在寻找一种方法来安全地连接我的 python 套接字程序。
我想象过类似以下内容:

from socket import *
server = socket(AF_INET, SOCK_STREAM, cert="cetificate.pem")
server.bind(("192.168.2.100",8080))
server.listen()
while True:
  client, addr = socket.accept()
  client.sendall(b"Hello, World!")

我在 github 上找到了替代解决方案,但它非常复杂,我不明白。 请大家帮帮我

【问题讨论】:

  • 低级 socket 库只是通过网络发送和接收单个字节。您似乎正在寻找具有加密功能的更高级别的应用层协议。可能会查看 TLS 或 SSH,或者更详细地说明它们是如何不合适的。
  • 谢谢,我会试试那些。

标签: python sockets ssl


【解决方案1】:

我找到了解决办法:

import socket
import ssl
context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
context.load_cert_chain('/path/to/certchain.pem', '/path/to/private.key')

with socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0) as sock:
    sock.bind(('127.0.0.1', 8443))
    sock.listen(5)
    with context.wrap_socket(sock, server_side=True) as ssock:
        conn, addr = ssock.accept()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    相关资源
    最近更新 更多