既存の TCP エコー クライアント サーバー アプリケーションに SSL 機能を追加しようとしています。
以前の単純なサーバーでは、着信するクライアント接続ごとに新しい子を生成していました。この子には、コマンドライン引数として conn-fd (char*) を渡していました。(下に示された)
execl("./simple_server_instance", conn_fd, NULL);
ここで、安全なサーバーのために、conn_fd の代わりに CYASSL オブジェクト (有効な構造) を渡す必要があります。(下に示された)
ssl = CyaSSL_new(ctx);
CyaSSL_set_fd(ssl, connfd);
ここで「ssl」は、子プロセスに渡す必要があるオブジェクトです。私はそれを達成するために次の方法を試しましたが、うまくいきませんでした。簡単な代替手段はありますか、それともシリアル化の方法を使用する必要がありますか?
ssl オブジェクトを char* に型キャストする
バッファを作成し、構造全体の memcpy を実行します。(下に示された)
unsigned char sslobjbuf[sizeof(ssl)]; memcpy(&sslobjbuf, ssl, sizeof(ssl)); execl("./secure_server_instance", "hello", "25", sslobjbuf, NULL );
SDSD