CanoKey’s WebAuthn functionality adheres to the CTAP 2.1 and CTAP 2.0.
Supported features include:
From firmware version 2.0.0, CanoKey also supports the following features:
From firmware version 3.0.0, CanoKey experimentally supports the SM2 algorithm.
CanoKey with firmware version 3.0.0 does not support U2F, WebAuthn on iOS 17.4 and 18 via USB, or WebAuthn on macOS (including Safari, Firefox, and applications relying on Apple’s CTAP stack).
CanoKey can be used for two-factor authentication on many websites.
By default, CanoKey does not set a PIN. Some websites and certain features (such as Discoverable Credentials management) require you to set a PIN. Please set it when prompted.
To use FIDO keys for SSH authentication, ensure that the installed OpenSSH version supports this feature. The minimum version requirements are as follows:
You can check the current ssh
client and sshd
service versions using the following commands:
ssh -V
sshd -V
ssh-keygen -t ecdsa-sk -f ~/.ssh/id_ecdsa_sk
ssh-keygen -t ed25519-sk -f ~/.ssh/id_ed25519_sk
Add the content of the generated public key file (~/.ssh/id_ecdsa_sk.pub
or ~/.ssh/id_ed25519_sk.pub
) to the ~/.ssh/authorized_keys
file on the target server.
You can use the following command to copy the public key to the remote server:
ssh-copy-id -i ~/.ssh/id_ecdsa_sk.pub username@remote_host
Or
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub username@remote_host
Copy the generated private key file (~/.ssh/id_ecdsa_sk
or ~/.ssh/id_ed25519_sk
) to other machines where it needs to be used. Ensure the correct file permissions:
chmod 600 ~/.ssh/id_ecdsa_sk
chmod 600 ~/.ssh/id_ed25519_sk
CanoKey firmware version must be at least 2.0.0.
ssh-keygen -t ecdsa-sk -O resident -f ~/.ssh/id_ecdsa_sk
ssh-keygen -t ed25519-sk -O resident -f ~/.ssh/id_ed25519_sk
Similar to the non-RK keys above, add the content of the generated public key file to the server’s ~/.ssh/authorized_keys
file.
ssh-copy-id -i ~/.ssh/id_ecdsa_sk.pub username@remote_host
Or
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub username@remote_host
Please refer to pam-u2f.
Due to a bug in the CTAP implementation, CanoKey firmware version ≤ 1.3 is incompatible with libfido2 1.7.0, and thus cannot be used with systemd-cryptenroll
. Affected users should use libfido2 1.6.0.