2017-05-18 11 views
1

したがって、ERR_error_string_n apiは次の形式で出力します。openssl ERR_error_string_n api returnのすべてのエラー文字列を取得するファイル(場所)はありますか?

error:[error code]:[library name]:[function name]:[reason string]

私は、製品のアプリケーションを開発していますし、私の要件は、私はそのエラーが直面している人のための、より読みやすく、抽象的で、ログファイル、ではなく、1に出力としての私自身の文字列を与える必要があるということですSSLダンプ

ので、代わりの:

error:14082174:SSL routines:ssl3_check_cert_and_algorithm:dh key too small 

私はダンプすることができますだけで:私はSSLダンプ可能なすべてのエラー文字列を取得する場合、私は、この文字列にマッチするマップを持つことができます

error: Handshake failure. dh key too small. 

私のカスタムストリング。

グーグルとopensslコードの閲覧に少し失敗しましたが、エラー文字列を格納している場所を取得できませんでした。

これを達成する方法はありますか?

答えて

2

ERR_reason_error_string()関数は、残りのすべてではなく、エラーメッセージの最後のビットを返します。その他のコンポーネントは、生のエラーコード、ライブラリ(ERR_lib_error_string())と関数(ERR_func_error_string()を使用)だけです。

これらの機能を使用することで、必要なコンポーネント部品を使用するだけでカスタムエラーメッセージを作成できます。

2

あなたはエラーを取得するために

unsigned long ERR_get_error(void); 

を使用して、ユーザーに提示する方法を決定することができます。あなたがエラーコードから詳細情報を取得することができ

は、これらの機能を使用して、その関数から返さ:

ERR_GET_LIB(l)   
ERR_GET_FUNC(l)   
ERR_GET_REASON(l)  
ERR_FATAL_ERROR(l) 
関連する問題