client

package
v0.11.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2026 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NormalizeAndValidatePIN

func NormalizeAndValidatePIN(pin string, minCodePoints uint) (string, error)

func Reset

func Reset(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
) error

func ValidateClientDataHash

func ValidateClientDataHash(clientDataHash []byte) error

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(opts ...options.Option) *Client

func (*Client) CancelCurrentEnrollment

func (cl *Client) CancelCurrentEnrollment(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	preview bool,
) error

func (*Client) ChangePIN

func (cl *Client) ChangePIN(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	keyAgreement key.Key,
	currentPin string,
	newPin string,
) error

func (*Client) DeleteCredential

func (cl *Client) DeleteCredential(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	preview bool,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	pinUvAuthToken []byte,
	credentialID credential.PublicKeyCredentialDescriptor,
) error

func (*Client) EnableEnterpriseAttestation

func (cl *Client) EnableEnterpriseAttestation(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	pinUvAuthToken []byte,
) error

func (*Client) EnrollBegin

func (cl *Client) EnrollBegin(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	preview bool,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	pinUvAuthToken []byte,
	timeoutMilliseconds uint,
) (protocol.AuthenticatorBioEnrollmentResponse, error)

func (*Client) EnrollCaptureNextSample

func (cl *Client) EnrollCaptureNextSample(device io.ReadWriter,
	cid ctaphid.ChannelID,
	preview bool,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	pinUvAuthToken []byte,
	templateID []byte,
	timeoutMilliseconds uint,
) (protocol.AuthenticatorBioEnrollmentResponse, error)

func (*Client) EnumerateCredentials

func (cl *Client) EnumerateCredentials(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	preview bool,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	pinUvAuthToken []byte,
	rpIDHash []byte,
) iter.Seq2[protocol.AuthenticatorCredentialManagementResponse, error]

func (*Client) EnumerateEnrollments

func (cl *Client) EnumerateEnrollments(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	preview bool,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	pinUvAuthToken []byte,
) (protocol.AuthenticatorBioEnrollmentResponse, error)

func (*Client) EnumerateRPs

func (cl *Client) EnumerateRPs(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	preview bool,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	pinUvAuthToken []byte,
) iter.Seq2[protocol.AuthenticatorCredentialManagementResponse, error]

func (*Client) GetAssertion

func (cl *Client) GetAssertion(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	pinUvAuthToken []byte,
	rpID string,
	clientDataHash []byte,
	allowList []credential.PublicKeyCredentialDescriptor,
	extensions *protocol.GetExtensionInputs,
	options map[protocol.Option]bool,
) iter.Seq2[protocol.AuthenticatorGetAssertionResponse, error]

func (*Client) GetBioModality

func (cl *Client) GetBioModality(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	preview bool,
) (protocol.AuthenticatorBioEnrollmentResponse, error)

func (*Client) GetCredsMetadata

func (cl *Client) GetCredsMetadata(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	preview bool,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	pinUvAuthToken []byte,
) (protocol.AuthenticatorCredentialManagementResponse, error)

func (*Client) GetFingerprintSensorInfo

func (cl *Client) GetFingerprintSensorInfo(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	preview bool,
) (protocol.AuthenticatorBioEnrollmentResponse, error)

func (*Client) GetInfo

func (*Client) GetKeyAgreement

func (cl *Client) GetKeyAgreement(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
) (key.Key, error)

func (*Client) GetPINRetries

func (cl *Client) GetPINRetries(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
) (uint, *bool, error)

func (*Client) GetPinToken

func (cl *Client) GetPinToken(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	keyAgreement key.Key,
	pin string,
) ([]byte, error)

GetPinToken allows getting a PinUvAuthToken (superseded by GetPinUvAuthTokenUsingUvWithPermissions or GetPinUvAuthTokenUsingPinWithPermissions, thus for backwards compatibility only).

func (*Client) GetPinUvAuthTokenUsingPinWithPermissions

func (cl *Client) GetPinUvAuthTokenUsingPinWithPermissions(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	keyAgreement key.Key,
	pin string,
	permissions protocol.Permission,
	rpID string,
) ([]byte, error)

GetPinUvAuthTokenUsingPinWithPermissions allows getting a PinUvAuthToken with specific permissions using PIN.

func (*Client) GetPinUvAuthTokenUsingUvWithPermissions

func (cl *Client) GetPinUvAuthTokenUsingUvWithPermissions(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	keyAgreement key.Key,
	permissions protocol.Permission,
	rpID string,
) ([]byte, error)

GetPinUvAuthTokenUsingUvWithPermissions allows getting a PinUvAuthToken with specific permissions using User Verification.

func (*Client) GetUVRetries

func (cl *Client) GetUVRetries(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
) (uint, error)

func (*Client) LargeBlobs

func (cl *Client) LargeBlobs(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	pinUvAuthToken []byte,
	get uint,
	set []byte,
	offset uint,
	length uint,
) (protocol.AuthenticatorLargeBlobsResponse, error)

func (*Client) MakeCredential

func (cl *Client) MakeCredential(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	pinUvAuthToken []byte,
	clientDataHash []byte,
	rp credential.PublicKeyCredentialRpEntity,
	user credential.PublicKeyCredentialUserEntity,
	pubKeyCredParams []credential.PublicKeyCredentialParameters,
	excludeList []credential.PublicKeyCredentialDescriptor,
	extensions *protocol.CreateExtensionInputs,
	options map[protocol.Option]bool,
	enterpriseAttestation uint,
	attestationFormatsPreference []attestation.AttestationStatementFormatIdentifier,
) (protocol.AuthenticatorMakeCredentialResponse, error)

func (*Client) RemoveEnrollment

func (cl *Client) RemoveEnrollment(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	preview bool,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	pinUvAuthToken []byte,
	templateID []byte,
) error

func (*Client) Selection

func (cl *Client) Selection(device io.ReadWriter, cid ctaphid.ChannelID) error

Selection blocks execution until the user will confirm his presence or operation will be canceled.

func (*Client) SetFriendlyName

func (cl *Client) SetFriendlyName(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	preview bool,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	pinUvAuthToken []byte,
	templateID []byte,
	friendlyName string,
) error

func (*Client) SetMinPINLength

func (cl *Client) SetMinPINLength(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	pinUvAuthToken []byte,
	newMinPINLength uint,
	minPinLengthRPIDs []string,
	forceChangePin bool,
	pinComplexityPolicy bool,
) error

func (*Client) SetPIN

func (cl *Client) SetPIN(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	keyAgreement key.Key,
	pin string,
) error

func (*Client) ToggleAlwaysUV

func (cl *Client) ToggleAlwaysUV(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	pinUvAuthToken []byte,
) error

func (*Client) UpdateUserInformation

func (cl *Client) UpdateUserInformation(
	device io.ReadWriter,
	cid ctaphid.ChannelID,
	preview bool,
	pinUvAuthProtocol protocol.PinUvAuthProtocol,
	pinUvAuthToken []byte,
	credentialID credential.PublicKeyCredentialDescriptor,
	user credential.PublicKeyCredentialUserEntity,
) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL