Skip to content

Nitrokey/nitrokey-3-firmware

Repository files navigation

Nitrokey 3 Firmware

This repository contains the firmware of Nitrokey 3 USB keys.

About

The Nitrokey 3 firmware is written in Rust. It uses the Trussed firmware framework and is developed in collaboration with SoloKeys (see the solo2 repository).

Documentation

Documentation for users is available in the Nitrokey 3 section on docs.nitrokey.com. For developer documentation, see the docs directory.

Dependencies

To build the firmware from source, you need these dependencies:

  • Rust (current stable release for the thumbv8m.main-none-eabi target with the llvm-tools-preview component)
  • clang with development headers
  • flip-link
  • cargo-binutils

To flash the firmware to the device, you need mboot or lpc55.

License

This software is fully open source.

All software, unless otherwise noted, is dual licensed under Apache 2.0 and MIT. You may use the software under the terms of either the Apache 2.0 license or MIT license.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Funding

Logo NLnet: abstract logo of four people seen from above Logo NGI Zero: letterlogo shaped like a tag

This project was funded through the NGI0 PET Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825310.