fido2 iOS BLE オーセンティケーターを開発しようとしています。今のところ、オーセンティケーターをアドバタイズして、webauthn クライアントとペアリングできます。クライアントが広告データを検証した後、「controlPoint」特性に「authenticatorGetInfo(83000104)」リクエストを書き込みます。
以下の応答をauthenticatorGetInfoに送信するfido仕様に従って、
cborなし
{
3 = "EF6CF220-7066-4808-AA22-345C7888BC3F";
1 = (「FIDO_2_0」);
}
cbor エンコーディングで
[162, 1, 129, 104, 70, 73, 68, 79, 95, 50, 95, 48, 3, 120, 36, 69, 70, 54, 67, 70, 50, 50, 48, 45, 55 , 48, 54, 54, 45, 52, 56, 48, 56, 45, 65, 65, 50, 50, 45, 51, 52, 53, 67, 55, 56, 56, 56, 66, 67, 51 、70]
応答を送信した後、Fido2 準拠ツールによってスローされた次のエラーを受け取りました。私の質問は、CBOR エンコーディングに問題はありますか? または私はここで何が間違っていますか?
Authr-Generic-1 Generic FIDO protocol tests
P-1 Send a valid CTAP2 GetInfo request, wait for the response and check that: (a) CTAP2 responseCode is CTAP1_ERR_SUCCESS(0x00) (b) Check that version(0x01) field is presented and is set to "FIDO_2_0" (c) Check that aaguid(0x03) field is presented and is 16 bytes long (d) If GetInfo contains extensions(0x03) field, check that its of type SEQUENCE, and only contains STRINGS (e) If GetInfo contains options(0x04) field, check that its of type MAP (f) If GetInfo contains maxMsgSize(0x05) field, check that its of type NUMBER (g) If GetInfo contains pinProtocols(0x06) field, check that its of type SEQUENCE, and only contains NUMBERS
‣
TypeError: Cannot read property '1' of undefined
at r.it (eval at compileCode (js/sandbox.js:25:26), <anonymous>:3465:58)
at e (js/vendor/mocha.min.js:1:39758)
at s.run (js/vendor/mocha.min.js:1:39694)
at h.runTest (js/vendor/mocha.min.js:1:45264)
at file:///Applications/fido-conformance-tools-electron.app/Contents/Resources/app/app/js/vendor/mocha.min.js:1:46126
at r (js/vendor/mocha.min.js:1:44576)
at file:///Applications/fido-conformance-tools-electron.app/Contents/Resources/app/app/js/vendor/mocha.min.js:1:44645
at r (js/vendor/mocha.min.js:1:44051)
at file:///Applications/fido-conformance-tools-electron.app/Contents/Resources/app/app/js/vendor/mocha.min.js:1:44463
at c (js/vendor/mocha.min.js:1:1064)
P-2 If GetInfo contains Options field: Check that every option in options is of type Boolean. Additionally: (a) If "up" is set to true, check that metadata.userVerificationDetails contains VerificationMethodDescriptor that has "userVerification" set to USER_VERIFY_PRESENCE (b) If "uv" is set to true, check that metadata.userVerificationDetails contains VerificationMethodDescriptor that has "userVerification" set to either of USER_VERIFY_PASSCODE/FINGERPRINT/VOICEPRINT/FACEPRINT/EYEPRINT/HANDPRINT/PATTERN (c) If "uv" and "up" is false, check that metadata.userVerificationDetails contains VerificationMethodDescriptor that has "userVerification" set to either of USER_VERIFY_NONE
‣
TypeError: Cannot read property '4' of undefined
at r.it (eval at compileCode (js/sandbox.js:25:26), <anonymous>:3501:55)
at e (js/vendor/mocha.min.js:1:39758)
at s.run (js/vendor/mocha.min.js:1:39694)
at h.runTest (js/vendor/mocha.min.js:1:45264)
at file:///Applications/fido-conformance-tools-electron.app/Contents/Resources/app/app/js/vendor/mocha.min.js:1:46126
at r (js/vendor/mocha.min.js:1:44576)
at file:///Applications/fido-conformance-tools-electron.app/Contents/Resources/app/app/js/vendor/mocha.min.js:1:44645
at r (js/vendor/mocha.min.js:1:44051)
at file:///Applications/fido-conformance-tools-electron.app/Contents/Resources/app/app/js/vendor/mocha.min.js:1:44463
at c (js/vendor/mocha.min.js:1:1064)
P-3 If GetInfo contains PinProtocols, and it is not empty, check that Metadata.userVerificationDetails contains VerificationMethodDescriptor set to USER_VERIFY_PASSCODE
‣
TypeError: Cannot read property '6' of undefined
at r.it (eval at compileCode (js/sandbox.js:25:26), <anonymous>:3537:60)
at e (js/vendor/mocha.min.js:1:39758)
at s.run (js/vendor/mocha.min.js:1:39694)
at h.runTest (js/vendor/mocha.min.js:1:45264)
at file:///Applications/fido-conformance-tools-electron.app/Contents/Resources/app/app/js/vendor/mocha.min.js:1:46126
at r (js/vendor/mocha.min.js:1:44576)
at file:///Applications/fido-conformance-tools-electron.app/Contents/Resources/app/app/js/vendor/mocha.min.js:1:44645
at r (js/vendor/mocha.min.js:1:44051)
at file:///Applications/fido-conformance-tools-electron.app/Contents/Resources/app/app/js/vendor/mocha.min.js:1:44463
at c (js/vendor/mocha.min.js:1:1064) .