2

OpenSSLには、X.509証明書ベースの認証用のSSL_set_connect_state()/ SSL_set_accept_state()に代わるものはありますか?

問題は、私のアプリケーションでは、クライアントとサーバーがソケットを使用して通信せず、それらの間の直接接続を確立できないことです。したがって、OpenSSLに必要なのは、中間SSLコンテキスト確立メッセージを「公開」して、それを相手側に伝達することです。

ご協力いただきありがとうございます!

4

2 に答える 2

2

これには、OpenSSLBIOインターフェイスを使用できます。

  1. BIO_new_bio_pair()接続された BIO ペアを作成するために使用します。1 つの BIO は SSL ルーチンによって読み書きされ、もう 1 つの BIO はアプリケーションによって読み書きされます (必要な方法でデータを相手側に渡すことができます)。

  2. 新しい SSL オブジェクトで使用SSL_set_bio()して、読み取りと書き込みの両方の BIO を、生成されたペアの BIO の 1 つに設定します。

  3. BIO_read()ペアのもう一方の BIO でとを使用BIO_write()して、SSL プロトコル データを読み書きします。

  4. SSL オブジェクトではSSL_accept()、 、SSL_connect()SSL_read()およびを通常どおり使用します。SSL_write()

于 2010-03-25T00:47:04.177 に答える
0

はい、SSL ソケット層のものと同じ X.509 検証ルーチンを使用できます。

http://openssl.org/docs/crypto/x509.html

ここでは、ドキュメントが少し不足しているようです... (1.0 ですべてが終了したと思われるでしょう)。ライブラリのこの側面に精通しているとは言えませんが、openssl にはコマンド ライン x509 検証ツールが付属しています。それを行う方法については、ソースコードを覗くことができるはずです。

http://openssl.org/docs/apps/verify.html

于 2010-03-30T03:29:44.923 に答える