Edit

WEBAUTHN_CREDENTIAL_ATTESTATION structure (webauthn.h)

Contains the attestation data returned by the authenticator after creating a credential.

Syntax

typedef struct _WEBAUTHN_CREDENTIAL_ATTESTATION {
  DWORD                      dwVersion;
  PCWSTR                     pwszFormatType;
  DWORD                      cbAuthenticatorData;
  PBYTE                      pbAuthenticatorData;
  DWORD                      cbAttestation;
  PBYTE                      pbAttestation;
  DWORD                      dwAttestationDecodeType;
  PVOID                      pvAttestationDecode;
  DWORD                      cbAttestationObject;
  PBYTE                      pbAttestationObject;
  DWORD                      cbCredentialId;
  PBYTE                      pbCredentialId;
  WEBAUTHN_EXTENSIONS        Extensions;
  DWORD                      dwUsedTransport;
  BOOL                       bEpAtt;
  BOOL                       bLargeBlobSupported;
  BOOL                       bResidentKey;
  BOOL                       bPrfEnabled;
  DWORD                      cbUnsignedExtensionOutputs;
  PBYTE                      pbUnsignedExtensionOutputs;
  PWEBAUTHN_HMAC_SECRET_SALT pHmacSecret;
  BOOL                       bThirdPartyPayment;
  DWORD                      dwTransports;
  DWORD                      cbClientDataJSON;
  PBYTE                      pbClientDataJSON;
  DWORD                      cbRegistrationResponseJSON;
  PBYTE                      pbRegistrationResponseJSON;
} WEBAUTHN_CREDENTIAL_ATTESTATION, *PWEBAUTHN_CREDENTIAL_ATTESTATION;

Members

dwVersion

Version of this structure, to allow for modifications in the future. This field is required and should be set to CURRENT_VERSION.

pwszFormatType

The attestation format type.

cbAuthenticatorData

The size, in bytes, of the authenticator data pointed to by pbAuthenticatorData.

pbAuthenticatorData

The authenticator data that was created for this credential.

cbAttestation

The size, in bytes, of the CBOR-encoded attestation information pointed to by pbAttestation.

pbAttestation

A pointer to the CBOR-encoded attestation information.

dwAttestationDecodeType

The type used to decode pvAttestationDecode. See Remarks for possible values.

pvAttestationDecode

A pointer to the decoded attestation data. The type depends on dwAttestationDecodeType. See Remarks for details.

cbAttestationObject

The size, in bytes, of the attestation object pointed to by pbAttestationObject.

pbAttestationObject

The CBOR encoded Attestation Object to be returned to the Relying Party.

cbCredentialId

The size, in bytes, of the credential ID pointed to by pbCredentialId.

pbCredentialId

The CredentialId bytes extracted from the Authenticator Data. Used by Edge to return to the Relying Party.

Extensions

A WEBAUTHN_EXTENSIONS structure that contains the authenticator extension outputs for this credential.

dwUsedTransport

A bitmask of WEBAUTHN_CTAP_TRANSPORT_* values indicating which transport was used.

bEpAtt

TRUE if the credential has enterprise attestation.

bLargeBlobSupported

TRUE if the authenticator supports the large blob extension for this credential.

bResidentKey

TRUE if the credential was created as a resident (discoverable) key.

bPrfEnabled

cbUnsignedExtensionOutputs

pbUnsignedExtensionOutputs

pHmacSecret

bThirdPartyPayment

dwTransports

cbClientDataJSON

pbClientDataJSON

cbRegistrationResponseJSON

pbRegistrationResponseJSON

Remarks

The pvAttestationDecode depends on the dwAttestationDecodeType:

Decode type Decode value
WEBAUTHN_ATTESTATION_DECODE_NONE NULL - not able to decode the CBOR attestation information
WEBAUTHN_ATTESTATION_DECODE_COMMON PWEBAUTHN_COMMON_ATTESTATION

Requirements

Requirement Value
Header webauthn.h

See also

WebAuthNAuthenticatorMakeCredential