0

データを送受信するための独自のルーチンを持つ C++ アプリケーションがあります。OpenSSL を使用して、このデータの一部に AES 暗号化を適用したいと考えています。残念ながら、ほとんどの例のように接続全体を OpenSSL に渡すことはできず、OpenSSL にデータを読み取るためのソケットを与えることさえできません。

データをメモリ バッファとして出し入れしたいのですが、キーも個別に送信します。OpenSSL API でこれを行う方法の例はありますか?

OpenSSL の内部ポインターと構造をいじるコードを見たことがありますが、特定の OpenSSL バージョンに依存していたため、それを避けたいと考えています。

4

2 に答える 2

1

cryptlib http://www.cs.auckland.ac.nz/~pgut001/cryptlib/を見てみるべきだと思います

以下は、cryptlib Web サイトの例のリンクからの抜粋です。

CRYPT_SESSION cryptSession;

/* Create the session */
cryptCreateSession( &cryptSession, cryptUser, CRYPT_SESSION_SSL_SERVER );

/* Add the server key/certificate and activate the session */
cryptSetAttribute( cryptSession, CRYPT_SESSINFO_PRIVATEKEY, privateKey );
cryptSetAttribute( cryptSession, CRYPT_SESSINFO_ACTIVE, 1 );

簡単に思えますが、私にとっては、cryptlib でやりたいことを行う方法を学ぶのに時間がかかりました (そして、まだ時間がかかります)。あなたの悩みを解決してくれると思います!ソース コードが利用可能で、DLL には C API があります。試してみる。(コマーシャルのように聞こえますが、私はcryptlibのユーザーであることを除いて、cryptlibとは何の関係もありません)。

于 2012-04-11T16:48:05.020 に答える