我使用PyOpenSSL创建连接对象,并且设法与正在测试的库建立连接。
我正在使用bio_read和bio_write方法,因为我没有使用套接字来传输数据。
现在,我想将加密的应用程序数据传递给连接对象,并从连接对象取回未加密的应用程序数据。
这是一个代码片段,以演示我的问题:
# Prints "SSL negotiation finished successfully"
print(conn.state_string());
# I give the connection 37 bytes of data representing encrypted app data
conn.bio_write("\x17\x03\x01...")
# I ask the connection to receive the data written to the buffer
conn.recv(65536)
接下来,我该如何处理连接对象?我已经尝试过conn.read,但是尽管它没有存在,但conn.bio_read返回一个WantReadError。
谢谢您的帮助。
我不记得自己在做什么错了,因为我不再工作了,但是conn.recv(n)
返回了应用程序数据。我相信原因是conn.read
存在的,但没有记录在案,原因是该对象包装了一个套接字对象,因此此方法是套接字的一种方法,而不是OpenSSL.SSL.Connection
。这也可以解释为什么我read is not a member of NoneType
在致电时会收到一个。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句