namespace Bit.Core.Utilities.Fido2 { public class Fido2AuthenticatorMakeCredentialParams { /// /// The Relying Party's PublicKeyCredentialRpEntity. /// public PublicKeyCredentialRpEntity RpEntity { get; set; } /// /// The Relying Party's PublicKeyCredentialRpEntity. /// public PublicKeyCredentialUserEntity UserEntity { get; set; } /// /// The hash of the serialized client data, provided by the client. /// public byte[] Hash { get; set; } /// /// A sequence of pairs of PublicKeyCredentialType and public key algorithms (COSEAlgorithmIdentifier) requested by the Relying Party. This sequence is ordered from most preferred to least preferred. The authenticator makes a best-effort to create the most preferred credential that it can. /// public PublicKeyCredentialParameters[] CredTypesAndPubKeyAlgs { get; set; } /// ///An OPTIONAL list of PublicKeyCredentialDescriptor objects provided by the Relying Party with the intention that, if any of these are known to the authenticator, it SHOULD NOT create a new credential. excludeCredentialDescriptorList contains a list of known credentials. /// public PublicKeyCredentialDescriptor[] ExcludeCredentialDescriptorList { get; set; } /// /// The effective resident key requirement for credential creation, a Boolean value determined by the client. Resident is synonymous with discoverable. */ /// public bool RequireResidentKey { get; set; } /// /// The effective user verification requirement for assertion, a Boolean value provided by the client. /// public bool RequireUserVerification { get; set; } /// /// CTAP2 authenticators support setting this to false, but we only support the WebAuthn authenticator model which does not have that option. /// // public bool RequireUserPresence { get; set; } // Always required /// /// The authenticator's attestation preference, a string provided by the client. This is a hint that the client gives to the authenticator about what kind of attestation statement it would like. The authenticator makes a best-effort to satisfy the preference. /// Note: Attestation statements are not supported at this time. /// // public string AttestationPreference { get; set; } public object Extensions { get; set; } } }