2018-04-05 11:03:23 +02:00
|
|
|
== fido2
|
|
|
|
image:https://travis-ci.org/Yubico/python-fido2.svg?branch=master["Travis CI Status", link="https://travis-ci.org/Yubico/python-fido2"]
|
|
|
|
image:https://ci.appveyor.com/api/projects/status/8orx9nbdfq52w47s/branch/master?svg=true["Appveyor Status", link="https://ci.appveyor.com/project/Yubico53275/python-fido2/branch/master"]
|
2018-03-16 13:42:59 +01:00
|
|
|
|
2018-04-05 11:03:23 +02:00
|
|
|
Provides library functionality for communicating with a FIDO device over USB as
|
|
|
|
well as verifying attestation and assertion signatures.
|
2018-03-16 13:38:07 +01:00
|
|
|
|
2018-03-16 13:42:59 +01:00
|
|
|
WARNING: This project is in beta. Expect things to change or break at any time!
|
2018-03-16 13:38:07 +01:00
|
|
|
|
|
|
|
This library aims to support the FIDO U2F and FIDO 2.0 protocols for
|
|
|
|
communicating with a USB authenticator via the Client-to-Authenticator Protocol
|
|
|
|
(CTAP 1 and 2). In addition to this low-level device access, classes defined in
|
2018-04-05 11:03:23 +02:00
|
|
|
the `fido2.client` implement higher level device operations.
|
2018-03-16 13:38:07 +01:00
|
|
|
|
2018-03-16 13:42:59 +01:00
|
|
|
For usage, see the `examples/` directory.
|
2018-03-16 13:38:07 +01:00
|
|
|
|
|
|
|
=== License
|
|
|
|
This project, with the exception of the files mentioned below, is licensed
|
|
|
|
under the BSD 2-clause license.
|
2018-03-16 13:42:59 +01:00
|
|
|
See the _COPYING_ file for the full license text.
|
2018-03-16 13:38:07 +01:00
|
|
|
|
|
|
|
This project contains source code from pyu2f (https://github.com/google/pyu2f)
|
|
|
|
which is licensed under the Apache License, version 2.0.
|
2018-04-05 11:03:23 +02:00
|
|
|
These files are located in `fido2/pyu2f/` and `test/pyu2f/`.
|
2018-03-16 13:38:07 +01:00
|
|
|
See http://www.apache.org/licenses/LICENSE-2.0,
|
2018-03-16 13:42:59 +01:00
|
|
|
or the _COPYING.APLv2_ file for the full license text.
|
2018-03-16 13:38:07 +01:00
|
|
|
|
|
|
|
This project also bundles the public suffix list (https://publicsuffix.org)
|
|
|
|
which is licensed under the Mozilla Public License, version 2.0.
|
2018-04-05 11:03:23 +02:00
|
|
|
This file is stored as `fido2/public_suffix_list.dat`.
|
2018-03-16 13:38:07 +01:00
|
|
|
See https://mozilla.org/MPL/2.0/,
|
2018-03-16 13:42:59 +01:00
|
|
|
or the _COPYING.MPLv2_ file for the full license text.
|
2018-03-16 13:38:07 +01:00
|
|
|
|
|
|
|
=== Installation
|
2018-04-05 11:03:23 +02:00
|
|
|
fido2 is installable by running the following command:
|
2018-03-16 13:38:07 +01:00
|
|
|
|
2018-04-05 11:03:23 +02:00
|
|
|
# pip install fido2
|
2018-03-16 13:38:07 +01:00
|
|
|
|
|
|
|
Under Linux you will need to add a Udev rule to be able to access the FIDO
|
|
|
|
device, or run as root. For example, the Udev rule may contain the following:
|
|
|
|
|
|
|
|
----
|
|
|
|
#Udev rule for allowing HID access to Yubico devices for FIDO support.
|
|
|
|
|
|
|
|
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", \
|
|
|
|
MODE="0664", GROUP="plugdev", ATTRS{idVendor}=="1050"
|
|
|
|
----
|
|
|
|
|
|
|
|
=== Dependencies
|
2018-04-05 11:03:23 +02:00
|
|
|
fido2 is compatible with CPython 2.7, 3.4 onwards, and is tested on Windows,
|
|
|
|
MacOS, and Linux.
|
2018-03-16 13:38:07 +01:00
|
|
|
|
|
|
|
This project depends on Cryptography. For instructions on installing this
|
|
|
|
dependency, see link:https://cryptography.io/en/latest/installation/.
|