diverta / onecard-fido

MIT License
0 stars 0 forks source link

[改善] 認証器から応答された文字列データをチェック #775

Closed makmorit closed 1 year ago

makmorit commented 1 year ago

概要

認証器から戻された文字列データが不正の場合、その旨のエラーをユーザーに報告できるよう、チェック用関数を新設したいと思います。 具体的には配列のバイトが32126の範囲内でない場合、エラーと判定します。 またエラーと判定した場合は、その配列のダンプをログファイル出力させるようにします。

makmorit commented 1 year ago

対応結果の確認

d03cad2までの対応の結果、認証器から戻された文字列データが不正の場合、エラーメッセージが表示され、データ内容がログ出力されるようになった事を確認いたしました。

本件では、OATH機能のアカウント一覧データに含まれる「アカウント名」の文字列チェックを実行するよう実装しています。

2023-04-12 11:15:16.670 [info] OATHアカウント一覧の取得を開始します。
2023-04-12 11:15:16.674 [info] FIDO認証器に接続しました(CCIDデバイス名: Diverta Inc. Secure Dongle)
2023-04-12 11:15:16.683 [error] Invalid string bytes (72 bytes)
48 ce 3d 02 01 06 08 2a 86 48 ce 3d 03 01 07 03 
42 00 04 16 5e 4d 3e a4 36 92 01 0c c4 18 82 f7 
2a b5 02 8c 39 49 53 47 94 09 2d ae 92 57 43 4e 
53 6f a7 fa bf 0e bc 2e d3 37 8c 42 c2 df 1d a4 
48 82 97 0f d9 cf 36 b1 
2023-04-12 11:15:16.685 [info] FIDO認証器から切断しました(CCIDデバイス名: Diverta Inc. Secure Dongle)
2023-04-12 11:15:16.686 [error] 認証器から取得したOATHアカウント一覧のデータが不正です。
2023-04-12 11:15:16.686 [error] OATHアカウント一覧の取得が失敗しました。