wolfSSLエラー処理と報告
Functions
| Name | |
|---|---|
| int | wolfSSL_Debugging_ON(void ) ビルド時にロギングが有効になっている場合、この関数は実行時にロギングを有効にします。ビルド時にロギングを有効にするには、–enable-debugを使用するか、DEBUG_WOLFSSLを定義します。 |
| void | wolfSSL_Debugging_OFF(void ) この関数は、実行時のロギングメッセージを無効にします。既に無効になっている場合、何も行われません。 |
| int | wolfSSL_get_error(WOLFSSL * ssl, int ret) この関数は、前回のAPI関数呼び出し(wolfSSL_connect、wolfSSL_accept、wolfSSL_read、wolfSSL_write等)がエラーリターンコード(SSL_FAILURE)になった理由を説明する一意のエラーコードを返します。前回の関数の戻り値は、retを通じてwolfSSL_get_errorに渡されます。wolfSSL_get_errorが呼び出されて一意のエラーコードを返した後、wolfSSL_ERR_error_string()を呼び出して、人間が読めるエラー文字列を取得できます。詳細については、wolfSSL_ERR_error_string()を参照してください。 |
| void | wolfSSL_load_error_strings(void ) この関数はOpenSSL互換性(SSL_load_error_string)のためのものであり、何も動作を行いません。 |
| char * | wolfSSL_ERR_error_string(unsigned long errNumber, char * data) この関数はwolfSSL_get_error()によって返されたエラーコードを、より人間が読みやすいエラー文字列に変換します。errNumberはwolfSSL_get_error()によって返されたエラーコードであり、dataはエラー文字列が配置される格納バッファです。dataの最大長はデフォルトで80文字であり、wolfssl/wolfcrypt/error.hのMAX_ERROR_SZで定義されています。 |
| void | wolfSSL_ERR_error_string_n(unsigned long e, char * buf, unsigned long len) この関数はwolfSSL_ERR_error_string()のバージョンであり、lenはbufに書き込まれる最大文字数を指定します。wolfSSL_ERR_error_string()と同様に、この関数はwolfSSL_get_error()から返されたエラーコードをより人間が読みやすいエラー文字列に変換します。人間が読みやすい文字列はbufに配置されます。 |
| void | wolfSSL_ERR_print_errors_fp(XFILE fp, int err) この関数は、wolfSSL_get_error()によって返されたエラーコードを、より人間が読みやすいエラー文字列に変換し、その文字列を出力ファイルfpに出力します。errはwolfSSL_get_error()によって返されたエラーコードであり、fpはエラー文字列が配置されるファイルです。 |
| void | wolfSSL_ERR_print_errors_cb(int()(const char str, size_t len, void *u) cb, void * u) この関数は、提供されたコールバックを使用してエラーレポートを処理します。コールバック関数は、各エラー行に対して実行されます。文字列、長さ、およびユーザデータがコールバックパラメータに渡されます。 |
| int | wolfSSL_want_read(WOLFSSL * ) この関数は、wolfSSL_get_error()を呼び出してSSL_ERROR_WANT_READが返される場合と同様です。基礎となるエラー状態がSSL_ERROR_WANT_READの場合、この関数は1を返し、それ以外の場合は0を返します。 |
| int | wolfSSL_want_write(WOLFSSL * ) この関数は、wolfSSL_get_error()を呼び出してSSL_ERROR_WANT_WRITEが返される場合と同様です。基礎となるエラー状態がSSL_ERROR_WANT_WRITEの場合、この関数は1を返し、それ以外の場合は0を返します。 |
| unsigned long | wolfSSL_ERR_peek_last_error(void ) この関数は、WOLFSSL_ERRORから発生した最後のエラーの絶対値を返します。 |
Functions Documentation
function wolfSSL_Debugging_ON
int wolfSSL_Debugging_ON(
void
)
ビルド時にロギングが有効になっている場合、この関数は実行時にロギングを有効にします。ビルド時にロギングを有効にするには、–enable-debugを使用するか、DEBUG_WOLFSSLを定義します。
Parameters:
- none パラメータなし。
See:
Return:
- 0 成功時。
- NOT_COMPILED_IN このビルドでロギングが有効になっていない場合に返されるエラーです。
Example
wolfSSL_Debugging_ON();
function wolfSSL_Debugging_OFF
void wolfSSL_Debugging_OFF(
void
)
この関数は、実行時のロギングメッセージを無効にします。既に無効になっている場合、何も行われません。
Parameters:
- none パラメータなし。
See:
Return: none 戻り値なし。
Example
wolfSSL_Debugging_OFF();
function wolfSSL_get_error
int wolfSSL_get_error(
WOLFSSL * ssl,
int ret
)
この関数は、前回のAPI関数呼び出し(wolfSSL_connect、wolfSSL_accept、wolfSSL_read、wolfSSL_write等)がエラーリターンコード(SSL_FAILURE)になった理由を説明する一意のエラーコードを返します。前回の関数の戻り値は、retを通じてwolfSSL_get_errorに渡されます。wolfSSL_get_errorが呼び出されて一意のエラーコードを返した後、wolfSSL_ERR_error_string()を呼び出して、人間が読めるエラー文字列を取得できます。詳細については、wolfSSL_ERR_error_string()を参照してください。
Parameters:
- ssl wolfSSL_new()で作成されたSSLオブジェクトへのポインタ。
- ret エラーリターンコードになった前回の関数の戻り値。
See:
- wolfSSL_ERR_error_string
- wolfSSL_ERR_error_string_n
- wolfSSL_ERR_print_errors_fp
- wolfSSL_load_error_strings
Return:
- 正常に完了した場合、この関数は前回のAPI関数が失敗した理由を説明する一意のエラーコードを返します。
- SSL_ERROR_NONEは、ret > 0の場合に返されます。ret <= 0の場合、前回のAPIがエラーコードを返したように見えても実際にはエラーが発生していなかった場合に、この値が返されることがあります。例えば、szパラメータがゼロのwolfSSL_read()を呼び出した場合です。wolfSSL_read()からの0の戻り値は通常エラーを示しますが、この場合はエラーは発生していません。その後wolfSSL_get_error()を呼び出すと、SSL_ERROR_NONEが返されます。
Example
int err = 0;
WOLFSSL* ssl;
char buffer[80];
...
err = wolfSSL_get_error(ssl, 0);
wolfSSL_ERR_error_string(err, buffer);
printf("err = %d, %s\n", err, buffer);
function wolfSSL_load_error_strings
void wolfSSL_load_error_strings(
void
)
この関数はOpenSSL互換性(SSL_load_error_string)のためのものであり、何も動作を行いません。
Parameters:
- none パラメータはありません。
See:
- wolfSSL_get_error
- wolfSSL_ERR_error_string
- wolfSSL_ERR_error_string_n
- wolfSSL_ERR_print_errors_fp
- wolfSSL_load_error_strings
Return: none 返り値はありません。
Example
wolfSSL_load_error_strings();
function wolfSSL_ERR_error_string
char * wolfSSL_ERR_error_string(
unsigned long errNumber,
char * data
)
この関数はwolfSSL_get_error()によって返されたエラーコードを、より人間が読みやすいエラー文字列に変換します。errNumberはwolfSSL_get_error()によって返されたエラーコードであり、dataはエラー文字列が配置される格納バッファです。dataの最大長はデフォルトで80文字であり、wolfssl/wolfcrypt/error.hのMAX_ERROR_SZで定義されています。
Parameters:
- errNumber wolfSSL_get_error()によって返されたエラーコード。
- data errNumberに一致する人間が読みやすいエラー文字列を含む出力バッファ。
See:
Return:
- success 正常に完了した場合、この関数はdataで返されるのと同じ文字列を返します。
- failure 失敗時には、この関数は適切な失敗理由msgを含む文字列を返します。
Example
int err = 0;
WOLFSSL* ssl;
char buffer[80];
...
err = wolfSSL_get_error(ssl, 0);
wolfSSL_ERR_error_string(err, buffer);
printf("err = %d, %s\n", err, buffer);
function wolfSSL_ERR_error_string_n
void wolfSSL_ERR_error_string_n(
unsigned long e,
char * buf,
unsigned long len
)
この関数はwolfSSL_ERR_error_string()のバージョンであり、lenはbufに書き込まれる最大文字数を指定します。wolfSSL_ERR_error_string()と同様に、この関数はwolfSSL_get_error()から返されたエラーコードをより人間が読みやすいエラー文字列に変換します。人間が読みやすい文字列はbufに配置されます。
Parameters:
- e wolfSSL_get_error()によって返されたエラーコード。
- buff eに一致する人間が読みやすいエラー文字列を含む出力バッファ。
- len bufに書き込まれる最大文字数。
See:
Return: none 返り値はありません。
Example
int err = 0;
WOLFSSL* ssl;
char buffer[80];
...
err = wolfSSL_get_error(ssl, 0);
wolfSSL_ERR_error_string_n(err, buffer, 80);
printf("err = %d, %s\n", err, buffer);
function wolfSSL_ERR_print_errors_fp
void wolfSSL_ERR_print_errors_fp(
XFILE fp,
int err
)
この関数は、wolfSSL_get_error()によって返されたエラーコードを、より人間が読みやすいエラー文字列に変換し、その文字列を出力ファイルfpに出力します。errはwolfSSL_get_error()によって返されたエラーコードであり、fpはエラー文字列が配置されるファイルです。
Parameters:
- fp 人間が読みやすいエラー文字列が書き込まれる出力ファイル。
- err wolfSSL_get_error()によって返されたエラーコード。
See:
Return: none 戻り値なし。
Example
int err = 0;
WOLFSSL* ssl;
FILE* fp = ...
...
err = wolfSSL_get_error(ssl, 0);
wolfSSL_ERR_print_errors_fp(fp, err);
function wolfSSL_ERR_print_errors_cb
void wolfSSL_ERR_print_errors_cb(
int(*)(const char *str, size_t len, void *u) cb,
void * u
)
この関数は、提供されたコールバックを使用してエラーレポートを処理します。コールバック関数は、各エラー行に対して実行されます。文字列、長さ、およびユーザデータがコールバックパラメータに渡されます。
Parameters:
- cb コールバック関数。
- u コールバック関数に渡すユーザデータ。
See:
Return: none 戻り値なし。
Example
int error_cb(const char *str, size_t len, void *u)
{ fprintf((FILE*)u, "%-*.*s\n", (int)len, (int)len, str); return 0; }
...
FILE* fp = ...
wolfSSL_ERR_print_errors_cb(error_cb, fp);
function wolfSSL_want_read
int wolfSSL_want_read(
WOLFSSL *
)
この関数は、wolfSSL_get_error()を呼び出してSSL_ERROR_WANT_READが返される場合と同様です。基礎となるエラー状態がSSL_ERROR_WANT_READの場合、この関数は1を返し、それ以外の場合は0を返します。
Parameters:
- ssl wolfSSL_new()で作成されたSSLセッションへのポインタ。
See:
Return:
- 1 wolfSSL_get_error()がSSL_ERROR_WANT_READを返す場合。基礎となるI/Oに読み取り可能なデータがあります。
- 0 SSL_ERROR_WANT_READエラー状態がない場合。
Example
int ret;
WOLFSSL* ssl = 0;
...
ret = wolfSSL_want_read(ssl);
if (ret == 1) {
// 基礎となるI/Oに読み取り可能なデータがあります(SSL_ERROR_WANT_READ)
}
function wolfSSL_want_write
int wolfSSL_want_write(
WOLFSSL *
)
この関数は、wolfSSL_get_error()を呼び出してSSL_ERROR_WANT_WRITEが返される場合と同様です。基礎となるエラー状態がSSL_ERROR_WANT_WRITEの場合、この関数は1を返し、それ以外の場合は0を返します。
Parameters:
- ssl wolfSSL_new()で作成されたSSLセッションへのポインタ。
See:
Return:
- 1 wolfSSL_get_error()がSSL_ERROR_WANT_WRITEを返す場合。基礎となるSSL接続で進行するために、基礎となるI/Oにデータを書き込む必要があります。
- 0 SSL_ERROR_WANT_WRITEエラー状態がない場合。
Example
int ret;
WOLFSSL* ssl = 0;
...
ret = wolfSSL_want_write(ssl);
if (ret == 1) {
// 基礎となるI/Oにデータを書き込む必要があります(SSL_ERROR_WANT_WRITE)
}
function wolfSSL_ERR_peek_last_error
unsigned long wolfSSL_ERR_peek_last_error(
void
)
この関数は、WOLFSSL_ERRORから発生した最後のエラーの絶対値を返します。
Parameters:
- none パラメータはありません。
See: wolfSSL_ERR_print_errors_fp
Return: error 最後のエラーの絶対値を返します。
Example
unsigned long err;
...
err = wolfSSL_ERR_peek_last_error();
// err値を検査
Updated on 2025-12-12 at 03:08:16 +0000