Как насчет того, чтобы не изобретать велосипед заново:
import socket
import ssl
s = socket.socket(...)
secure = ssl.wrap_socket(s, keyfile="mykey", certfile="mycert")
openssl установит сеанс ssl и выполнит согласование.После этого вы можете общаться через защищенную розетку.