[−][src]Module webauthn_rs::proto
JSON Protocol Structs and representations for communication with authenticators and clients.
Structs
AuthenticatorAttestationResponseRaw | https://w3c.github.io/webauthn/#authenticatorattestationresponse |
AuthenticatorSelectionCriteria | https://www.w3.org/TR/webauthn/#dictdef-authenticatorselectioncriteria |
Challenge | A challenge issued by the server. This contains a set of random bytes |
CreationChallengeResponse | A JSON serialisable 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. |
Credential | A user's authenticator credential. It contains an id, the public key and a counter of how many times the authenticator has been used. |
PublicKeyCredential | 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. |
PublicKeyCredentialCreationOptions | https://w3c.github.io/webauthn/#dictionary-makecredentialoptions |
PublicKeyCredentialDescriptor | https://www.w3.org/TR/webauthn/#dictdef-publickeycredentialdescriptor |
RegisterPublicKeyCredential | 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. |
RelyingParty | Relying Party Entity |
RequestChallengeResponse | A JSON serialisable 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. |
TpmsAttest | Tpm attestation structure. |
TpmsClockInfo | Information about the TPM's clock. May be obsfucated. |
TpmsRsaParms | Rsa Parameters. |
TpmtPublic | Tpm Public Key Structure |
TpmtRsaScheme | The Rsa Scheme. Unused in webauthn. |
TpmtSymDefObject | Symmetric crypto definition. Unused in webauthn |
User | User Entity |
Enums
AttestationConveyancePreference | https://www.w3.org/TR/webauthn/#enumdef-attestationconveyancepreference |
AuthenticatorAttachment | The authenticator attachment hint. This is NOT enforced, and is only used to help a user select a relevant authenticator type. |
AuthenticatorTransport | https://www.w3.org/TR/webauthn/#enumdef-authenticatortransport |
Tpm2bName | Tpm name enumeration. |
TpmAlgId | The tpm cryptographic algorithm that may be in use. |
TpmSt | Tpm statement types. |
TpmtSignature | A TPM Signature. |
TpmuAttest | Tpm attestation union, switched by TpmSt. |
TpmuPublicId | Asymetric Public Key |
TpmuPublicParms | Asymetric Public Parameters |
UserVerificationPolicy | Defines the User Authenticator Verification policy. This is documented https://w3c.github.io/webauthn/#enumdef-userverificationrequirement, and each variant lists it's effects. |
Constants
TPM_GENERATED_VALUE | A magic constant that defines that a Tpm attestation comes from a TPM |
Type Definitions
Aaguid | Representation of an AAGUID https://www.w3.org/TR/webauthn/#aaguid |
Counter | Representation of a device counter |
CredentialID | 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. |
UserId | Representation of a UserId |