Metadata-Version: 2.1
Name: pynitrokey
Version: 0.0.0
Summary: Python Library for Nitrokey FIDO2 & Nitrokey Start.
Home-page: UNKNOWN
Author: Nitrokey
Author-email: pypi@nitrokey.com
License: UNKNOWN
Project-URL: homepage, https://github.com/Nitrokey/pynitrokey
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=3.6
License-File: LICENSE-MIT
License-File: LICENSE-APACHE


pynitrokey
==========

A command line interface for the Nitrokey FIDO2, Nitrokey Start and NetHSM.

Current state
-------------

Update to the latest firmware versions on the Nitrokey Start and Nitrokey FIDO2 devices was tested. Windows support for Nitrokey Start is not added yet.

Additional features:


* handle ``status`` command for displaying touch button status (2.0.0 firmware and later);
* firmware signing adjusted for Nitrokey FIDO2 bootloader
* monitor command with timestamps

Installation
------------

Linux, Unix
^^^^^^^^^^^

.. code-block:: bash

   sudo apt install python3-pip
   pip3 install --user pynitrokey

To access Nitrokey Start and FIDO2 devices without superuser rights, you need to install the Nitrokey udev rules that are shipped with ``libnitrokey``.  You can also install them manually:

.. code-block::

   wget https://raw.githubusercontent.com/Nitrokey/libnitrokey/master/data/41-nitrokey.rules
   sudo mv 41-nitrokey.rules /etc/udev/rules.d/

Windows
^^^^^^^

*Generally Windows support and the installer are experimental - please use with caution.*

Known issues:


* Support for Nitrokey Start under Windows 10 is not working without installing libusb libraries (to be described).
* The installer does not remove a previous installation (manually remove it using ``settings -> programs and apps``\ )

How to install:


#. Download the latest ``.msi`` installer from `releases <https://github.com/Nitrokey/pynitrokey/releases/>`_
#. Double-click the installer and click through (\ ``Next`` and ``Finish``\ )
#. Open the command console in the administrator mode (Windows 10: press the right mouse button on the Menu Start and select "Windows PowerShell (Admin)" from the menu).
#. Enter ``nitropy``

Without administrator privileges ``nitropy`` might not be able to communicate to device.

Nitrokey FIDO2
--------------

Firmware Update
^^^^^^^^^^^^^^^

Automatic firmware update is recommended via https://update.nitrokey.com. Alternatively, it is also possible to update the Nitrokey FIDO2 using:

.. code-block:: bash

   nitropy fido2 update

Your Nitrokey FIDO2 is now updated to the latest firmware.

Nitrokey Start
--------------

Firmware Update
^^^^^^^^^^^^^^^

Verify device connection

.. code-block:: bash

   nitropy start list
   FSIJ-1.2.15-87042524: Nitrokey Nitrokey Start (RTM.10)

Start update process, logs saved to upgrade.log, handy in case of failure

.. code-block:: bash

   nitropy start update

Does not ask for confirmation nor the default Admin PIN, handy for batch calls

.. code-block::

   nitropy start update -p 12345678 -y

Following will flash files from the local disk, instead of downloading them

.. code-block::

   nitropy start update --regnual $(FIRMWARE_DIR)/regnual.bin --gnuk ${FIRMWARE_DIR}/gnuk.bin

Switching ID
^^^^^^^^^^^^

.. code-block::

   nitropy start set-identity [0,1,2]

Where 0, 1 and 2 are the available IDs.

NetHSM
------

A guide on how to use ``nitropy`` to access a NetHSM is available on
`docs.nitrokey.com <https://docs.nitrokey.com/nethsm/cli.html>`_.

Maintainers
-----------

Current maintainers can be found in `MAINTAINERS.MD <MAINTAINERS.MD>`_ file.

License
-------

Licensed similarly to upstream, under either of


* Apache License, Version 2.0 (\ `LICENSE-APACHE <LICENSE-APACHE>`_ or
  http://www.apache.org/licenses/LICENSE-2.0)
* MIT license (\ `LICENSE-MIT <LICENSE-MIT>`_ or http://opensource.org/licenses/MIT)

at your option.


