我在做一個遊戲私人服務器,遊戲是很老,並使用不安全的SSLv2協議進行溝通,我可以解密數據包波谷這樣的:Python的扭曲:創建的SSLv2方面
ssl_sock = ssl.wrap_socket(sock, keyfile="Certificates/bfbc2.key", certfile="Certificates/bfbc2.crt", ssl_version=SSL.SSLv2_METHOD, do_handshake_on_connect=True, ciphers="DEFAULT")
,你可以請參閱我使用兩個ssl模塊(ssl
和OpenSSL
)。 我意識到,從基本上'零'做這個巨大的項目是太多的工作,而且它在某種程度上是不可能的。
Twisted
可以做的事情比socket
模塊更好,所以我決定切換它。
這裏是問題,我不知道如何創建SSLv2上下文。 我tryed這一點:
SSLContext = ssl.DefaultOpenSSLContextFactory('Certificates/bfbc2.key', 'Certificates/bfbc2.crt', sslmethod=ssl.SSL.SSLv2_METHOD)
但它給我這個錯誤:
ValueError: No such protocol
如何獲得的SSLv2在扭曲的工作?
那麼,爲什麼我可以使用SSL,OpenSSL和套接字模塊創建SSLv2套接字? –
回溯清楚地表明你不能使用'OpenSSL'。 'ssl'和'socket'模塊實際上只是一件事,它們與'OpenSSL'包是分開的。你可以用它們做什麼以及你可以用'OpenSSL'做什麼,根據它們的實現和接口保證,必然會有所不同。 –
您的pyOpenSSL安裝可能使用比'socket' /'ssl'使用的更新版本的OpenSSL。儘管如此,從這裏很難說(也就是說,在你的問題中沒有足夠的信息來做出關於行爲不同的明確陳述)。 –