Module webauthn_rs::proto [−][src]
Expand description
JSON Protocol Structs and representations for communication with authenticators and clients.
Structs
A descriptor of a credential that can be used.
Attestation Object
Marker type parameter for data related to authentication ceremony
The output for authentication cermeony extensions.
A COSE Elliptic Curve Public Key. This is generally the provided credential that an authenticator registers, and is used to authenticate the user. You will likely never need to interact with this value, as it is part of the Credential API.
A COSE Key as provided by the Authenticator. You should never need to alter or change these values.
A COSE RSA PublicKey. This is a provided credential from a registered authenticator. You will likely never need to interact with this value, as it is part of the Credential API.
A challenge issued by the server. This contains a set of random bytes.
A reference to the challenge issued by the server. This contains a set of random bytes.
The data collected and hashed in the operation. https://www.w3.org/TR/webauthn-2/#dictdef-collectedclientdata
A JSON serializable challenge which is issued to the user’s webbrowser for handling. This is meant to be opaque, that is, you should not need to inspect or alter the content of the struct - you should serialise it and transmit it to the client only.
Wrapper for a boolean value to indicate that this extension is requested by the Relying Party.
Wrapper for an ArrayBuffer containing opaque data in an RP-specific format. https://fidoalliance.org/specs/fido-v2.1-rd-20210309/fido-client-to-authenticator-protocol-v2.1-rd-20210309.html#sctn-credBlob-extension
The desired options for the client’s use of the credProtect
extension
The client’s response to the request that it use the credProtect
extension
A user’s authenticator credential. It contains an id, the public key and a counter of how many times the authenticator has been used.
The response from the client regarding querying the credBlob
extension
Public key cryptographic parameters
A client response to an authentication challenge. This contains all required information to asses and assert trust in a credentials legitimacy, followed by authentication to a user.
The requested options for the authentication
A client response to a registration challenge. This contains all required information to asses and assert trust in a credentials legitimacy, followed by registration to a user.
Marker type parameter for data related to registration ceremony
The output for registration ceremony extensions.
Relying Party Entity
Extension option inputs for PublicKeyCredentialRequestOptions
Builder for RequestAuthenticationExtensions objects.
A JSON serializable challenge which is issued to the user’s webbrowser for handling. This is meant to be opaque, that is, you should not need to inspect or alter the content of the struct - you should serialise it and transmit it to the client only.
Extension option inputs for PublicKeyCredentialCreationOptions.
Builder for RequestRegistrationExtensions objects.
The response from the client regarding setting the credBlob
extension
Token binding
Tpm attestation structure.
Information about the TPM’s clock. May be obfuscated.
Rsa Parameters.
Tpm Public Key Structure
The Rsa Scheme. Unused in webauthn.
Symmetric crypto definition. Unused in webauthn
User Entity
Enums
The authenticator attachment hint. This is NOT enforced, and is only used to help a user select a relevant authenticator type.
A COSE signature algorithm, indicating the type of key and hash type that should be used. You shouldn’t need to alter or use this value.
The type of Key contained within a COSE value. You should never need to alter or change this type.
The numeric if of the COSEKeyType used in the CBOR fields.
Valid credential protection policies
An ECDSACurve identifier. You probably will never need to alter or use this value, as it is set inside the Credential for you.
The processed Attestation that the Authenticator is providing in it’s AttestedCredentialData
Tpm name enumeration.
The tpm cryptographic algorithm that may be in use.
Tpm statement types.
A TPM Signature.
Tpm attestation union, switched by TpmSt.
Asymmetric Public Key
Asymmetric Public Parameters
Defines the User Authenticator Verification policy. This is documented https://w3c.github.io/webauthn/#enumdef-userverificationrequirement, and each variant lists it’s effects.
Constants
A magic constant that defines that a Tpm attestation comes from a TPM
Traits
Trait for ceremony marker structs
Type Definitions
Representation of an AAGUID https://www.w3.org/TR/webauthn/#aaguid
Representation of a device counter
A credential ID type. At the moment this is a vector of bytes, but it could also be a future change for this to be base64 string instead.
Representation of a UserId