AuthenticatorAttestationResponse:attestationObject 属性

安全上下文:此功能仅在安全上下文(HTTPS)中可用,且仅在某些或所有支持的浏览器中可用。

attestationObject 属性是 AuthenticatorAttestationResponse 接口的一个属性,它返回一个 ArrayBuffer,其中包含新的公钥,以及对整个 attestationObject 的签名,该签名使用存储在身份验证器(在制造时)中的私钥生成。

作为 CredentialsContainer.create() 调用的一部分,身份验证器将创建一个新的密钥对以及该密钥对的 attestationObject。与创建证明签名的私钥相对应的公钥是众所周知的;但是,对于不同的生态系统(例如,Android 或 TPM 证明),存在各种众所周知的证明公钥链。

解码 CBOR 编码的 ArrayBuffer 后,生成的 JavaScript 对象将包含以下属性

authData

操作的身份验证器数据。请注意,在 AuthenticatorAssertionResponse 中,authenticatorData 作为 JavaScript 对象中的属性公开(请参阅 AuthenticatorAssertionResponse.authenticatorData),而在 AuthenticatorAttestationResponse 中,authenticatorDataCBOR 映射中的属性。

相同的 AuthenticatorAssertionResponse.authenticatorData 字段由 AuthenticatorAttestationResponseAuthenticatorAssertionResponse 使用。在证明中使用时,它包含一个可选字段 attestedCredentialData。在 AuthenticatorAssertionResponse 中使用时,不包含此字段。attestedCredentialData 字段包含 credentialIdcredentialPublicKey

fmt

指示 attStmt 格式的文本字符串。WebAuthn 规范定义了许多格式;但是,格式也可以在其他规范中定义并在 IANA 注册表 中注册。WebAuthn 定义的格式为

  • "packed"
  • "tpm"
  • "android-key"
  • "android-safetynet"
  • "fido-u2f"
  • "none"
attStmt

一个证明语句,其格式由 "fmt" 定义。目前,请参阅 WebAuthn 规范以了解每种格式的详细信息

示例

有关详细示例,请参阅 使用 WebAuthn API 创建公钥凭据

规范

规范
Web 身份验证:访问公钥凭据的 API - 3 级
# dom-authenticatorattestationresponse-attestationobject

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅

  • CredentialsContainer.create():用于创建包含身份验证器签名的加密 challenge 语句的方法(该签名包含在 attStmt 中),并使用指定的 attestation 传输选项。