我正在尝试开发fido2 iOS BLE身份验证器。截至目前,可以发布我的身份验证器并将其与webauthn客户端配对。客户端验证我的广告数据后,它将“ authenticatorGetInfo(83000104)”请求写入“ controlPoint”特征。
根据fido规范,将以下响应发送到authenticatorGetInfo,
无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) .