4

私は FTP クライアント ( WinSCP ) を実装するオープン ソース開発者です。

転送ソケットの FTP コントロール ソケットから TLS/SSL セッションを再開しようとしています。一部の FTP サーバーでは、これが必要になり始めました。

例 vsftpd:
https://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html


OpenSSL を使用して SSL レイヤーを実装しています。

SSL_get1_sessionセッションの再開を実装する明白な方法、つまりandを使用する方法を試しましSSL_set_sessionた:
https://www.linuxjournal.com/article/5487

うまくいきませんが。TLS セッションの再開を必要とする FTP サーバー (vsftpd など) にまだ接続できません。

私の場合、問題は 2 つの並列 TLS 接続があり、同じ TLS セッションを共有できないことが原因である可能性があるのではないかと疑っています。これは、他の接続が開かれる前に最初の接続が閉じられる linuxjournal.com の例とは異なります。

i2d_SSL_SESSION/を使用するなど、セッションを複製するいくつかの方法も試しましたd2i_SSL_SESSION。どちらも助けにはなりませんでした。

私は本当にここで立ち往生しています。

助けてくれてありがとう。

4

2 に答える 2

2

SSL_CTX以下を使用して、オブジェクトのクライアント セッション キャッシュを具体的に有効にする必要があります。

SSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_CLIENT);

を使用して、デフォルトのセッション キャッシュ タイムアウト (デフォルトは 300 秒) を増やす必要がある場合もありますSSL_CTX_set_timeout()

SSL(同じオブジェクトからオブジェクトを作成する必要もありSSL_CTXます)。

于 2011-10-28T00:59:13.027 に答える