0

私が使用していてSSL_Connect()、戻りコードは "-1" で、SSL_get_error()エラーがSSL_ERROR_WANT_READ.

あるフォーラムでの提案によるとSSL_connect()、このエラーが発生するまで呼び出しを続けることを提案しました。この最初の呼び出しの変更により、エラー WANT_READ が発生し、2 番目の呼び出しでエラーが発生しますSSL_ERROR_SSL。その後、後続のすべての呼び出しについてSSL_ERROR_SSLのみであり、このエラーの説明によると、で何か問題が発生したように見えますSSL library

解決SSL_connectに成功した人は、何らかの助けを提供できますか。

私のコードは呼び出しの単純なシーケンスです:
1. SSL_library_init()
2. このメソッドを使用してメソッド (v23) とコンテキストを作成します
3. コンテキストは変更されておらず、作成されたままです。
4. この単純な ctx を使用して SSL オブジェクトが作成され、SSL_set_fd() を呼び出した後、この ssl で ssl_connect が呼び出されます。

このシーケンスで何か間違ったことをしている場合、または何か不足している場合はお知らせください。

証明書などのさまざまなものをロードctxして、使用する前に場所を確認する必要がありますか? はいの場合、最低限必要なものは何ですか?

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

4

1 に答える 1

1

読み取りが必要な場合は、読み取りを行うか、非ブロックの場合は OP_READ が起動するまで select() でブロックしてから、SSL_Connect() を再度呼び出す必要があります。書き込みが必要な場合は、書き込みを行うか、非ブロックの場合は OP_WRITE が起動するまで select() でブロックしてから、SSL_Connect() を再度呼び出す必要があります。

ここを参照してください。

于 2011-07-15T06:04:23.380 に答える