コンテンツにスキップ

wolfSSL Error Handling and Reporting

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 API(SSL_load_error_string)との互換性の目的みで提供してあり処理は行いません。
char * wolfSSL_ERR_error_string(unsigned long errNumber, char * data)
この関数は、wolfSSL_get_error()によって返されたエラーコードをより人間が読めるエラー文字列に変換します。 引数errNumberは、wolfSSL_get_error()によって返され、引数dataはエラー文字列が配置されるバッファへのポインタです。 MAX_ERROR_SZで定義されているように、データの最大長はデフォルトで80文字です。 これはwolfssl/wolfcrypt/error.hで定義されています。
void wolfSSL_ERR_error_string_n(unsigned long e, char * buf, unsigned long sz)
この関数は、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()によって返されたエラーコードをより多くの人間が読めるエラー文字列に変換し、その文字列を出力ファイルに印刷します。ERRは、WOLFSSL_GET_ERROR()によって返され、FPがエラー文字列が配置されるファイルであるエラーコードです。
void wolfSSL_ERR_print_errors_cb(int()(const char str, size_t len, void *u) cb, void * u)
この関数は提供されたコールバックを使用してエラー報告を処理します。コールバック関数はエラー回線ごとに実行されます。文字列、長さ、およびuserdataはコールバックパラメータに渡されます。
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()を呼び出し、RETURSの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を定義します。

See:

Return:

  • 0 成功すると。
  • NOT_COMPILED_IN このビルドに対してロギングが有効になっていない場合は返されるエラーです。 Example
wolfSSL_Debugging_ON();

function wolfSSL_Debugging_OFF

void wolfSSL_Debugging_OFF(
    void 
)

この関数はランタイムロギングメッセージをオフにします。彼らがすでに消えている場合は、行動はとられません。

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()を使用して作成されたWOLFSSL構造体へのポインタ

See:

Return:

  • 呼び出し成功時、この関数は、直前の関数が失敗した理由を説明する固有のエラーコードを返します。
  • SSL_ERROR_NONE 引数retが0より大きい場合に返されます。retが0以下の場合、直前のAPIがエラーコードを返すが実際に発生しなかった場合にこの値を返す場合があります。 例としては、引数szに0を渡して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 API(SSL_load_error_string)との互換性の目的みで提供してあり処理は行いません。

Parameters:

  • なし Example
wolfSSL_load_error_strings();

See:

Return: なし

function wolfSSL_ERR_error_string

char * wolfSSL_ERR_error_string(
    unsigned long errNumber,
    char * data
)

この関数は、wolfSSL_get_error()によって返されたエラーコードをより人間が読めるエラー文字列に変換します。 引数errNumberは、wolfSSL_get_error()によって返され、引数dataはエラー文字列が配置されるバッファへのポインタです。 MAX_ERROR_SZで定義されているように、データの最大長はデフォルトで80文字です。 これはwolfssl/wolfcrypt/error.hで定義されています。

Parameters:

  • errNumber wolfSSL_get_error()によって返されたエラーコード。
  • data 人間が読めるエラー文字列を格納したバッファへのポインタ

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 sz
)

この関数は、wolfssl_err_error_string()のバッファのサイズを指定するバージョンです。 ここで、引数lenは引数bufに書き込まれ得る最大文字数を指定します。 wolfSSL_err_error_string()と同様に、この関数はwolfSSL_get_error()から返されたエラーコードをより人間が読めるエラー文字列に変換します。 人間が読める文字列はbufに置かれます。

Parameters:

  • e wolfSSL_get_error()によって返されたエラーコード。
  • buff eと一致する人間が読めるエラー文字列を含む出力バッファ。
  • len 出力バッファのサイズ

See:

Return: なし

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()によって返されたエラーコードをより多くの人間が読めるエラー文字列に変換し、その文字列を出力ファイルに印刷します。ERRは、WOLFSSL_GET_ERROR()によって返され、FPがエラー文字列が配置されるファイルであるエラーコードです。

Parameters:

  • fp に書き込まれる人間が読めるエラー文字列の出力ファイル。
  • err wolfSSL_get_error()で返されるエラーコード。

See:

Return: なし

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
)

この関数は提供されたコールバックを使用してエラー報告を処理します。コールバック関数はエラー回線ごとに実行されます。文字列、長さ、およびuserdataはコールバックパラメータに渡されます。

Parameters:

  • cb コールバック関数
  • u コールバック関数に渡されるuserdata

See:

Return: なし

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です。

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) {
    // underlying I/O has data available for reading (SSL_ERROR_WANT_READ)
}

function wolfSSL_want_write

int wolfSSL_want_write(
    WOLFSSL * 
)

この関数は、wolfSSL_get_error()を呼び出し、RETURSのSSL_ERROR_WANT_WRITEを取得するのと同じです。基礎となるエラー状態がSSL_ERROR_WANT_WRITEの場合、この関数は1を返しますが、それ以外の場合は0です。

See:

Return:

  • 1 WOLFSSL_GET_ERROR()はSSL_ERROR_WANT_WRITEを返します。基礎となるI / Oは、基礎となるSSL接続で進行状況を行うために書き込まれるデータを必要とします。
  • 0 ssl_error_want_writeエラー状態はありません。

Example

int ret;
WOLFSSL* ssl = 0;
...
ret = wolfSSL_want_write(ssl);
if (ret == 1) {
    // underlying I/O needs data to be written (SSL_ERROR_WANT_WRITE)
}

function wolfSSL_ERR_peek_last_error

unsigned long wolfSSL_ERR_peek_last_error(
    void 
)

この関数は、wolfssl_Errorに遭遇した最後のエラーの絶対値を返します。

See: wolfSSL_ERR_print_errors_fp

Return: error 最後のエラーの絶対値を返します。

Example

unsigned long err;
...
err = wolfSSL_ERR_peek_last_error();
// inspect err value

Updated on 2024-04-19 at 02:10:11 +0000