Coder Social home page Coder Social logo

baloo / python-fido2 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yubico/python-fido2

0.0 2.0 0.0 469 KB

Provides library functionality for FIDO 2.0, including communication with a device over USB.

License: BSD 2-Clause "Simplified" License

Dockerfile 0.14% Python 99.86%

python-fido2's Introduction

python-fido2

Travis CI Status Appveyor Status

Provides library functionality for communicating with a FIDO device over USB as well as verifying attestation and assertion signatures.

Warning
This project is in beta. Expect things to change or break at any time!

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 the fido2.client and fido2.server modules implement higher level operations which are useful when interfacing with an Authenticator, or when implementing a Relying Party.

For usage, see the examples/ directory.

License

This project, with the exception of the files mentioned below, is licensed under the BSD 2-clause license. See the COPYING file for the full license text.

This project contains source code from pyu2f (https://github.com/google/pyu2f) which is licensed under the Apache License, version 2.0. These files are located in fido2/pyu2f/ and test/_pyu2f/. See http://www.apache.org/licenses/LICENSE-2.0, or the _COPYING.APLv2 file for the full license text.

This project also bundles the public suffix list (https://publicsuffix.org) which is licensed under the Mozilla Public License, version 2.0. This file is stored as fido2/public_suffix_list.dat. See https://mozilla.org/MPL/2.0/, or the COPYING.MPLv2 file for the full license text.

Installation

fido2 is installable by running the following command:

# pip install fido2

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

fido2 is compatible with CPython 2.7 (2.7.6 and up), 3.4 onwards, and is tested on Windows, MacOS, and Linux.

This project depends on Cryptography. For instructions on installing this dependency, see https://cryptography.io/en/latest/installation/.

Development

For development of the library, we recommend using pipenv. To set up the dev environment, run this command in the root directory of the repository:

pipenv install --dev

Running tests

While many tests can run on their own, some require a connected U2F or FIDO2 device to run.

pipenv run test

python-fido2's People

Contributors

dainnilsson avatar syntaxcase avatar emlun avatar conorpp avatar ziima avatar oleksandr-kuzmenko avatar davepeck avatar dsanders11 avatar dotlambda avatar metaco-integration avatar martelletto avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.