nitrokey-rs
A libnitrokey wrapper for Rust providing access to Nitrokey devices.
[]
= "0.1.1"
Compatibility
The required libnitrokey
version is built from source. The host system
must provide libhidapi-libusb0
in the default library search path.
As I only have access to a Nitrokey Pro, this crate only provides support for the Nitrokey Pro methods. If you want to contribute for the Nitrokey Storage, please send a mail to nitrokey-rs-dev@ireas.org.
Unsupported Functions
The following functions provided by libnitrokey
are deliberately not
supported by nitrokey-rs
:
NK_get_time()
. This method is useless as it will always cause a timestamp error on the device (see pull request #114 forlibnitrokey
for details).NK_get_status()
. This method only provides a string representation of data that can be accessed by other methods (firmware version, seriel number, configuration).
Tests
The default test suite assumes that no Nitrokey device is connected and only
performs minor sanity checks. There is another test suite that assumes that a
Nitrokey Pro is connected (admin password 12345678
, user password 123456
).
To execute this test suite, run cargo test --no-default-features --features test-pro -- --test-threads 1
. Note that this test suite might lock your stick
if you have different passwords!
The totp
and totp_pin
tests can occasionally fail due to bad timing. Also
make sure to run the tests sequentially (--test-threads 1
), otherwise they
might interfere.
The get_major_firmware_version
test will fail for newer libnitrokey
versions as it relies on buggy behavior in version 3.2.
Contact
For bug reports, patches, feature requests or other messages, please send a mail to nitrokey-rs-dev@ireas.org.
License
This project is licensed under the MIT License. libnitrokey
is licensed
under the LGPL-3.0.