2025-11-05 17:04:23 -03:00

231 lines
8.4 KiB
Plaintext

# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# Contributing to Chrome DevTools Protocol: https://goo.gle/devtools-contribution-guide-cdp
# This domain allows configuring virtual authenticators to test the WebAuthn
# API.
experimental domain WebAuthn
type AuthenticatorId extends string
type AuthenticatorProtocol extends string
enum
# Universal 2nd Factor.
u2f
# Client To Authenticator Protocol 2.
ctap2
type Ctap2Version extends string
enum
ctap2_0
ctap2_1
type AuthenticatorTransport extends string
enum
# Cross-Platform authenticator attachments:
usb
nfc
ble
cable
# Platform authenticator attachment:
internal
type VirtualAuthenticatorOptions extends object
properties
AuthenticatorProtocol protocol
# Defaults to ctap2_0. Ignored if |protocol| == u2f.
optional Ctap2Version ctap2Version
AuthenticatorTransport transport
# Defaults to false.
optional boolean hasResidentKey
# Defaults to false.
optional boolean hasUserVerification
# If set to true, the authenticator will support the largeBlob extension.
# https://w3c.github.io/webauthn#largeBlob
# Defaults to false.
optional boolean hasLargeBlob
# If set to true, the authenticator will support the credBlob extension.
# https://fidoalliance.org/specs/fido-v2.1-rd-20201208/fido-client-to-authenticator-protocol-v2.1-rd-20201208.html#sctn-credBlob-extension
# Defaults to false.
optional boolean hasCredBlob
# If set to true, the authenticator will support the minPinLength extension.
# https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#sctn-minpinlength-extension
# Defaults to false.
optional boolean hasMinPinLength
# If set to true, the authenticator will support the prf extension.
# https://w3c.github.io/webauthn/#prf-extension
# Defaults to false.
optional boolean hasPrf
# If set to true, tests of user presence will succeed immediately.
# Otherwise, they will not be resolved. Defaults to true.
optional boolean automaticPresenceSimulation
# Sets whether User Verification succeeds or fails for an authenticator.
# Defaults to false.
optional boolean isUserVerified
# Credentials created by this authenticator will have the backup
# eligibility (BE) flag set to this value. Defaults to false.
# https://w3c.github.io/webauthn/#sctn-credential-backup
optional boolean defaultBackupEligibility
# Credentials created by this authenticator will have the backup state
# (BS) flag set to this value. Defaults to false.
# https://w3c.github.io/webauthn/#sctn-credential-backup
optional boolean defaultBackupState
type Credential extends object
properties
binary credentialId
boolean isResidentCredential
# Relying Party ID the credential is scoped to. Must be set when adding a
# credential.
optional string rpId
# The ECDSA P-256 private key in PKCS#8 format.
binary privateKey
# An opaque byte sequence with a maximum size of 64 bytes mapping the
# credential to a specific user.
optional binary userHandle
# Signature counter. This is incremented by one for each successful
# assertion.
# See https://w3c.github.io/webauthn/#signature-counter
integer signCount
# The large blob associated with the credential.
# See https://w3c.github.io/webauthn/#sctn-large-blob-extension
optional binary largeBlob
# Assertions returned by this credential will have the backup eligibility
# (BE) flag set to this value. Defaults to the authenticator's
# defaultBackupEligibility value.
optional boolean backupEligibility
# Assertions returned by this credential will have the backup state (BS)
# flag set to this value. Defaults to the authenticator's
# defaultBackupState value.
optional boolean backupState
# The credential's user.name property. Equivalent to empty if not set.
# https://w3c.github.io/webauthn/#dom-publickeycredentialentity-name
optional string userName
# The credential's user.displayName property. Equivalent to empty if
# not set.
# https://w3c.github.io/webauthn/#dom-publickeycredentialuserentity-displayname
optional string userDisplayName
# Enable the WebAuthn domain and start intercepting credential storage and
# retrieval with a virtual authenticator.
command enable
parameters
# Whether to enable the WebAuthn user interface. Enabling the UI is
# recommended for debugging and demo purposes, as it is closer to the real
# experience. Disabling the UI is recommended for automated testing.
# Supported at the embedder's discretion if UI is available.
# Defaults to false.
optional boolean enableUI
# Disable the WebAuthn domain.
command disable
# Creates and adds a virtual authenticator.
command addVirtualAuthenticator
parameters
VirtualAuthenticatorOptions options
returns
AuthenticatorId authenticatorId
# Resets parameters isBogusSignature, isBadUV, isBadUP to false if they are not present.
command setResponseOverrideBits
parameters
AuthenticatorId authenticatorId
# If isBogusSignature is set, overrides the signature in the authenticator response to be zero.
# Defaults to false.
optional boolean isBogusSignature
# If isBadUV is set, overrides the UV bit in the flags in the authenticator response to
# be zero. Defaults to false.
optional boolean isBadUV
# If isBadUP is set, overrides the UP bit in the flags in the authenticator response to
# be zero. Defaults to false.
optional boolean isBadUP
# Removes the given authenticator.
command removeVirtualAuthenticator
parameters
AuthenticatorId authenticatorId
# Adds the credential to the specified authenticator.
command addCredential
parameters
AuthenticatorId authenticatorId
Credential credential
# Returns a single credential stored in the given virtual authenticator that
# matches the credential ID.
command getCredential
parameters
AuthenticatorId authenticatorId
binary credentialId
returns
Credential credential
# Returns all the credentials stored in the given virtual authenticator.
command getCredentials
parameters
AuthenticatorId authenticatorId
returns
array of Credential credentials
# Removes a credential from the authenticator.
command removeCredential
parameters
AuthenticatorId authenticatorId
binary credentialId
# Clears all the credentials from the specified device.
command clearCredentials
parameters
AuthenticatorId authenticatorId
# Sets whether User Verification succeeds or fails for an authenticator.
# The default is true.
command setUserVerified
parameters
AuthenticatorId authenticatorId
boolean isUserVerified
# Sets whether tests of user presence will succeed immediately (if true) or fail to resolve (if false) for an authenticator.
# The default is true.
command setAutomaticPresenceSimulation
parameters
AuthenticatorId authenticatorId
boolean enabled
# Allows setting credential properties.
# https://w3c.github.io/webauthn/#sctn-automation-set-credential-properties
command setCredentialProperties
parameters
AuthenticatorId authenticatorId
binary credentialId
optional boolean backupEligibility
optional boolean backupState
# Triggered when a credential is added to an authenticator.
event credentialAdded
parameters
AuthenticatorId authenticatorId
Credential credential
# Triggered when a credential is deleted, e.g. through
# PublicKeyCredential.signalUnknownCredential().
event credentialDeleted
parameters
AuthenticatorId authenticatorId
binary credentialId
# Triggered when a credential is updated, e.g. through
# PublicKeyCredential.signalCurrentUserDetails().
event credentialUpdated
parameters
AuthenticatorId authenticatorId
Credential credential
# Triggered when a credential is used in a webauthn assertion.
event credentialAsserted
parameters
AuthenticatorId authenticatorId
Credential credential