<分区>
我的任务是在 2 个人与中间人之间建立安全通信。 消息必须使用公钥和私钥加密,并且应该为每个用户创建一个 X.509 证书,该证书由第三方存储。 我目前正在通过套接字在用户之间发送消息。
有人可以推荐一个易于理解的库,我可以用它来执行简单的加密吗?任何有关图书馆的适当阅读资源也会有所帮助。
<分区>
我的任务是在 2 个人与中间人之间建立安全通信。 消息必须使用公钥和私钥加密,并且应该为每个用户创建一个 X.509 证书,该证书由第三方存储。 我目前正在通过套接字在用户之间发送消息。
有人可以推荐一个易于理解的库,我可以用它来执行简单的加密吗?任何有关图书馆的适当阅读资源也会有所帮助。
最佳答案
SSL: http://docs.python.org/dev/library/ssl.html
ssl.wrap_socket将加密层添加到普通套接字。
this 的答案中有一些代码示例相关问题:
client, addr = listeningSocket.accept()
client.recv(32)
client.send(b'hello')
client.setblocking(0)
while True:
try:
client.do_handshake()
break
except ssl.SSLError, err:
if err.args[0] == ssl.SSL_ERROR_WANT_READ:
select.select([client], [], [])
elif err.args[0] == ssl.SSL_ERROR_WANT_WRITE:
select.select([], [client], [])
else:
raise
sslSocket = ssl.wrap_socket(client, do_handshake_on_connect=False, keyfile='key.pem', certfile='cert.pem', server_side=True, ssl_version=ssl.PROTOCOL_TLSv1)
sslSocket.write(b'hello')
关于Python 开源密码学工具包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9778006/