Cargo Features

webauthn-authenticator-rs has no features set by default.

[dependencies]
webauthn-authenticator-rs = { version = "0.5.0", features = ["nfc_raw_transmit", "ui-cli", "qrcode", "crypto", "mozilla", "u2fhid", "bluetooth", "cable", "cable-override-tunnel", "ctap2", "ctap2-management", "vendor-solokey", "vendor-yubikey", "nfc", "softpasskey", "softtoken", "usb", "win10"] }
nfc_raw_transmit = nfc
ui-cli qrcode?

Basic command line UiCallback implementation

Enables rpassword ^5.0

qrcode = ui-cli

Add QR code support for UiCallback, useful with cable feature

Enables qrcode ^0.12.0

crypto cable? ctap2? softpasskey? softtoken?

Enables openssl and webauthn-rs-core

Affects util::creation_to_clientdata, util::get_to_clientdata

mozilla u2fhid?

Authenticator transports

Enables authenticator-ctap2-2021 and rpassword ^5.0

Affects webauthn-authenticator-rs::mozilla

u2fhid = mozilla

Affects webauthn-authenticator-rs::u2fhid

bluetooth = ctap2

Enables btleplug

Affects webauthn-authenticator-rs::bluetooth, any::AnyTransport.bluetooth, types::BTLE_KEEPALIVE, types::BTLE_CANCEL

cable cable-override-tunnel? = crypto, ctap2

caBLE / hybrid authenticator

Enables btleplug, hex, tokio, and tokio-tungstenite ^0.18.0

Affects crypto::compute_sha256_2, crypto::public_key_from_bytes, crypto::point_to_bytes, crypto::public_key_from_private, webauthn-authenticator-rs::cable

cable-override-tunnel = cable

Add APIs which allow overriding the caBLE tunnel server protocol and domain.

This feature is intended to help someone developing their own caBLE tunnel server, and most library users should not need this!

Affects cable::connect_cable_authenticator_with_tunnel_uri

ctap2 bluetooth? cable? ctap2-management? nfc? softtoken? usb? = crypto

Enables hex, serde_bytes, tokio, and tokio-stream

Affects authenticator_hashed::perform_register_with_request, authenticator_hashed::perform_auth_with_request, webauthn-authenticator-rs::ctap2, webauthn-authenticator-rs::transport, util::creation_to_clientdata, util::get_to_clientdata

ctap2-management = ctap2

Affects ctap21_bio::BiometricAuthenticator, ctap21_cred::CredentialManagementAuthenticator, util::check_pin

vendor-solokey

Support for SoloKey's vendor commands

vendor-yubikey

Support for YubiKey's vendor commands

nfc nfc_raw_transmit? = ctap2

Enables pcsc

Affects webauthn-authenticator-rs::nfc, any::AnyTransport.nfc

softpasskey = crypto, softtoken

TODO: allow running softpasskey without softtoken

Affects webauthn-authenticator-rs::softpasskey

softtoken softpasskey? = crypto, ctap2

Affects webauthn-authenticator-rs::softtoken

usb = ctap2

Enables fido-hid-rs

Affects webauthn-authenticator-rs::usb, any::AnyTransport.usb, types::U2FHID_INIT, types::U2FHID_CBOR, types::U2FHID_CANCEL, types::U2FHID_KEEPALIVE

win10

Enables windows ^0.41.0

Affects webauthn-authenticator-rs::win10, util::creation_to_clientdata, util::get_to_clientdata