# nitrokey-rs A libnitrokey wrapper for Rust providing access to Nitrokey devices. [Documentation][] ```toml [dependencies] nitrokey = "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][] for `libnitrokey` 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_no_pin` 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. ## 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][]. [Documentation]: https://docs.rs/nitrokey [`libnitrokey`]: https://github.com/nitrokey/libnitrokey [nitrokey-rs-dev@ireas.org]: mailto:nitrokey-rs-dev@ireas.org [pull request #114]: https://github.com/Nitrokey/libnitrokey/pull/114 [MIT license]: https://opensource.org/licenses/MIT [LGPL-3.0]: https://opensource.org/licenses/lgpl-3.0.html