小编umg*_*ren的帖子

带有 Python SSL 套接字的自签名证书

我使用通过以下命令生成的自签名证书:

sudo make-ssl-cert generate-default-snakeoil 
Run Code Online (Sandbox Code Playgroud)

并将其复制到我的主目录。如果我在服务器端运行以下命令:

from socket import socket, AF_INET, SOCK_STREAM
import ssl

def main():
    context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
    context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
    context.verify_mode = ssl.CERT_REQUIRED
    context.load_cert_chain('/home/hfurmans/ssl-cert-snakeoil.pem', '/home/hfurmans/ssl-cert-snakeoil.key')

    host = "myipaddress"
    port = 5432
    my_socket = socket(AF_INET, SOCK_STREAM)
    my_socket.bind((host, port))
    my_socket.listen(1)
    my_socket = context.wrap_socket(my_socket, server_side=True)
    conn, addr = my_socket.accept()
    print("Connection from: " + str(addr))
    data = conn.recv(1024).decode()
    print(data)
    print("from connected user: " + str(data))
    data = str(data).upper()
    print("sending: " + str(data))
    conn.send(data.encode())
    conn.close()

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

我替换了我的 IP 地址。但是它们在服务器和客户端上是相同的。这是客户端代码:

import …
Run Code Online (Sandbox Code Playgroud)

python sockets ssl python-3.x

1
推荐指数
1
解决办法
5124
查看次数

标签 统计

python ×1

python-3.x ×1

sockets ×1

ssl ×1