リモートサーバーとの直接通信も可能なC言語のSSLクライアントライブラリがありますか?サーバとの直接通信を可能にするCのHTTPライブラリですか?
私は、クライアントがサーバーでセッションを開始するためにHTTPを使用し、サーバーからHTTPへの接続を別のプロトコルに切り替えるように指示するクライアントサーバーアプリケーションを持っています。すべての通信はSSLでカプセル化されています。これはPerlで書かれていますが、私はC言語でクライアントを実装しようとしています。
libcurlは下位ソケットにアクセスできますが、SSL要件のため十分ではありません。
必要な機能はCurl_ssl_getsessionidですが、これは文書化されていないようです。ですから、私の答えは、文書化されていないインターフェイスの使用に関する制限がない場合にのみ、オプションです。 –
この方向に私を指摘してくれてありがとう。私はCurl_ssl_getsessionidをどのように使うことができるかわかりませんが、CURLセッションは実際には接続のキャッシュを格納する "struct SessionHandle"へのポインタであることがわかります。だから理論的には、私はこのようなものをSSLチャネルに直接書くことができるはずです: 'CURL * curl = ...; struct SessionHandle * handle =(struct SessionHandle *)curl; struct connectdata * conn = handle-> state.connc [0]; SSL * ssl = conn-> ssl [0] .handle; ' – Joni
私はむしろCURLOPT_CONNECT_ONLYを見てからcurl_easy_recv/curl_easy_sendを調べるといいでしょう。ソースを突き止めたり、APIの外に出たりする必要はありません。 –