4

私が開発したクライアントとサーバーの間でsslを使用して接続を設定しようとしています。これに基づいて: http://bobthegnome.blogspot.fr/2007/08/making-ssl-connection-in-python.html 簡単な接続を作成しましたが、動作します。しかし、クライアント認証を追加して改善したいと考えています。そのため、 socket.warp_socket を使用している人がいることがわかりました。

例を次に示します。

bindsocket = socket.socket()
bindsocket.bind(('127.0.0.1', 9998))
bindsocket.listen(5)

while True:
    newsocket, fromaddr = bindsocket.accept()
    connstream = ssl.wrap_socket(newsocket,
                            server_side=True,
                            certfile="srv.crt",
                            keyfile="srv.key",
                            ssl_version=ssl.PROTOCOL_TLSv1)
    deal_with_client(connstream)    

これら2つの違いは何ですか?(私の場合)魔女が一番ですか?

ありがとう

4

1 に答える 1

2

違いはありません。

socket.ssl()下で呼び出す非推奨のメソッドであり、socket.wrap_socket()Python が SSL サポート付きでコンパイルされているかどうかを確認するだけです (これimport sslは、いずれの場合でも実行されます)。

def ssl(sock, keyfile=None, certfile=None):
    # we do an internal import here because the ssl
    # module imports the socket module
    import ssl as _realssl
    warnings.warn("socket.ssl() is deprecated.  Use ssl.wrap_socket() instead.",
                  DeprecationWarning, stacklevel=2)
    return _realssl.sslwrap_simple(sock, keyfile, certfile)
于 2013-01-23T03:11:51.923 に答える