Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on Feb 20, 2025. It is now read-only.

Yubico/python-yubico

Open more actions menu

Repository files navigation

python-yubico

Python package for managing Yubico OTP slots on YubiKeys.

Note
This project is no longer maintained. Please refer to https://github.com/Yubico/yubikey-manager for a more fully-featured and supported Python library for interacting with YubiKeys.

Introduction

The YubiKey is a hardware token for authentication. The main mode of the YubiKey is entering a one time password (or a strong static password) by acting as a USB HID device, but there are things one can do with bi-directional communication:

  1. Configuration. The yubikey_config class should be a feature-wise complete implementation of everything that can be configured on YubiKeys version 1.3 to 3.x (besides deprecated functions in YubiKey 1.x). See examples/configure_nist_test_key for an example.

  2. Challenge-response. YubiKey 2.2 and later supports HMAC-SHA1 or Yubico challenge-response operations. See examples/nist_challenge_response for an example.

This library makes it easy to use these two features.

Example

Here is a trivial usage example :

#!/usr/bin/env python
""" Get version of connected YubiKey. """

import sys
import yubico

try:
    yubikey = yubico.find_yubikey(debug=False)
    print("Version: {}".format(yubikey.version()))
except yubico.yubico_exception.YubicoError as e:
    print("ERROR: {}".format(e.reason))
    sys.exit(1)

Installation

Using the Ubuntu/Debian package manager

If you use a recent Ubuntu release, you should be able to install python-yubico using apt-get:

$ sudo apt-get install python3-yubico

Using Pip

python-yubico is installable via pip:

$ pip install python-yubico

Using Setup

Or, directly from the source package in the standard Python way:

$ cd python-yubico-$ver
$ python setup.py install

This requires the python-setuptools package.

License

Copyright (c) Yubico AB. Licensed under the BSD 2-clause license. See the file COPYING for full licence statement.

About

Python code to talk to YubiKeys

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 13

Morty Proxy This is a proxified and sanitized view of the page, visit original site.