Edit

Share via


WEBAUTHN_CREDENTIAL_ATTESTATION structure (webauthn.h)

Contains the attestation data for 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 of pbAuthenticatorData.

pbAuthenticatorData

The authenticator data that was created for this credential.

cbAttestation

The size of the CBOR encoded attestation information.

pbAttestation

The encoded CBOR attestation information.

dwAttestationDecodeType

The attestation decode type.

pvAttestationDecode

The attestation decode value.

cbAttestationObject

The size of pbAttestationObject.

pbAttestationObject

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

cbCredentialId

The size of pbCredentialId.

pbCredentialId

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

Extensions

The extensions for this credential.

dwUsedTransport

One of the WEBAUTHN_CTAP_TRANSPORT bits is passed, according to the transport that was used.

bEpAtt

The EP attestation flag.

bLargeBlobSupported

Indicates whether the authenticator supports large blob attestation.

bResidentKey

Indicates whether the relying party requires a resident 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