0

次の JavaScript リクエストを使用します。

navigator.credentials.create({
  publicKey: {
    // random, cryptographically secure, at least 16 bytes
    challenge: new Uint8Array(16),
    // relying party
    rp: {
      id: 'localhost',
      name: 'My website'
    },
    user: {
      id: new Uint8Array(16),
      name: 'Tang',
      displayName: 'Tang'
    },
    pubKeyCredParams: [
      {
        type: "public-key", alg: -7
      }
    ],
    attestation: "direct"
  }
})

FIDO2 互換の Yubikey 5 NFC は、体系的に"fido-u2f"認証ステートメントを返します。

%{
  "attStmt" => %{
    "sig" => <<48, 69, 2, 33, 0, 132, 31, 225, 91, 58, 61, 190, 47, 66, 168, 8,
      177, 18, 136, 106, 100, 219, 54, 52, 255, 103, 106, 156, 230, 141, 240,
      82, 130, 167, 204, 128, 100, 2, 32, 61, 159, 126, 9, 244, 55, 100, 123,
      169, ...>>,
    "x5c" => [
      <<48, 130, 2, 188, 48, 130, 1, 164, 160, 3, 2, 1, 2, 2, 4, 3, 173, 240,
        18, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 11, 5, 0, 48, 46, 49,
        44, 48, 42, 6, 3, 85, 4, 3, 19, ...>>
    ]
  },
  "authData" => <<73, 150, 13, 229, 136, 14, 140, 104, 116, 52, 23, 15, 100,
    118, 96, 91, 143, 228, 174, 185, 162, 134, 50, 199, 153, 92, 243, 186, 131,
    29, 151, 99, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...>>,
  "fmt" => "fido-u2f"
}

代わりにFIDO2"packed"証明書ステートメントを受け取るにはどうすればよいですか?

4

3 に答える 3

0

現在の仕様/標準によると、(依拠当事者として行動している) あなたがオーセンティケーター (つまり「デバイス」) から受け取る証明書ステートメントの形式を「選択」できるとは思いません。これは、Authenticator によって行われる決定です。

Chromeデスクトップを介したMacBook Pro TouchIDプラットフォームオーセンティケーターは、「パックされた」構成証明ステートメントを送信していると思います。

于 2019-01-07T20:23:39.970 に答える