1
我使用tcp套接字编程使用RSA加密的客户端 - 服务器通信。我生成公钥和私钥,但是当我想客户端和服务器之间交换的公共密钥我得到这个错误:Python 2.7中的套接字错误,向客户端发送公共rsa密钥
类型错误:必须可以转换成一个缓冲,不公钥
这是服务器端的代码:
import socket
import rsa
print "Generating keys"
(public, private) = rsa.newkeys(1024, poolsize=2)
print "Keys generated."
tcpSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcpSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
tcpSocket.bind(("0.0.0.0", 1025))
tcpSocket.listen(1)
print "Waiting for client..."
(client, (ip, port)) = tcpSocket.accept()
print "Connection received from: ", ip
client.send(public) #This is where I get the error
我已经试过这一行太:
client.send(str(public))
有了这个,我可以把在p ublic键,但是我不能用它来加密数据(因为现在公钥是一个字符串)。
谢谢你的帮助!
正是我需要的,谢谢。我有一个问题pickleing公钥,但我解决了这个帖子:http://stackoverflow.com/questions/2204155/why-am-i-getting-an-error-about-my-class-defining-slots - 当 - 试图对pickl – lapatatandante 2015-04-01 15:31:30