Skip to main content

Graphical interface for displaying OATH codes with a Yubikey

Project description

== Yubico Authenticator
The Yubico Authenticator is a graphical desktop tool for generating Open
AuTHentication (OATH) event-based HOTP and time-based TOTP one-time password
codes, with the help of a Yubikey that protects the shared secrets.

=== License
Yubico Authenticator is licensed under GPLv3+, see COPYING for details.

Entypo pictograms by Daniel Bruce - www.entypo.com

=== Installation
TODO: Binaries/PPA do not yet exist!
The recommended way to install this software including dependencies is by using
the provided precompiled binaries for your platform. For Windows and OS X,
there are installers available for download
https://developers.yubico.com/yubioath-desktop/Releases/[here]. For Ubuntu we
have a custom PPA with a package for it
https://launchpad.net/~yubico/+archive/ubuntu/stable[here].

==== Detecting the device
Under Linux and OS X this application uses libccid to communicate with the
YubiKey. This library requires that each card reader used is listed in its
configuration file, else the device will not be detected ("Insert a YubiKey..."
will be displayed even though a YubiKey is present). To ensure that your
libccid configuration contains all necessary entries you can run one of the two
files locates in the resources directory of this repository, linux-patch-ccid
or osx-patch-ccid, depending on your OS. You will need to run these scripts as
root. If installing the OS X version from the binary installer, this script
will be run automatically for you.

=== Dependencies
Yubico Authenticator requires PySide, yubikey-personalization, pyscard, and
PyCrypto.

=== Building binaries
Binaries for Windows and OSX are built using PyInstaller.

Get the source release file, yubioath-desktop-<version>.tar.gz, and extract it.
It should contain a single directory, henceforth refered to as the release
directory.

When building binaries for Windows or OS X, you will need to include
.dll/.dylib files from the yubikey-personalization project. Create a
subdirectory called "lib" in the release directory. Download the correct binary
release for your architecture from
https://developers.yubico.com/yubikey-personalization/Releases/[here] and
extract the contained .dll/.dylib files to the "lib" directory you created
previously.

==== Windows
For Windows you will need python, PySide, pyscard, PyCrypto, PyInstaller and
Pywin32 installed (32 or 64-bit versions depending on the architecture of the
binary your are building).

To sign the executable you will need signtool.exe (from the Windows SDK) either
copied into the root as well or in a location in your PATH, as well as a
certificate in the Windows certificate store that you wish to sign with.

Run "python setup.py executable" from the main release directory.

With NSIS installed, a Windows installer will be built as well.

==== OSX
For OSX you need python, pyside, pyscard, pycrypto, and pyinstaller installed.
One way to install these dependencies is by using Homebrew and pip:

brew install python
brew install pyside
pip install PyInstaller
pip install pycrypto
pip install pyscard

NOTE: Homebrew will build backwards-incompatible binaries, so the resulting
build will not run on an older version of OSX.

Run "python setup.py executable" from the main release directory. This
will create an .app in the dist directory.

Sign the code using codesign:

codesign -s 'Developer ID Application' dist/Yubico\ Authenticator.app --deep

There is also a project file for use with
http://s.sudre.free.fr/Packaging.html[Packages] located at
`resources/yubioath.pkgproj`. This can be used to create an installer for
distribution, which you should sign prior to distribution:

packagesbuild resources/osx-installer.pkgproj
productsign --sign 'Developer ID Installer' dist/Yubico\ Authenticator.pkg \
dist/yubioath-desktop-mac.pkg

=== Working with the source code repository
To work with the source code repository, if you wish to build your own release
or contribute pull requests, follow these steps to set up your environment. If
you just wish to install the application use the pre-build binaries or the
source release packages. This project is developed on a Debian based system,
other OSes may not be supported for development.

==== Installing the dependencies
Make sure to install the needed dependencies:

sudo apt-get install python-setuptools python-crypto python-pyscard \
python-pyside pyside-tools libykpers-1-1 pcscd

==== Check out the code
Run these commands to check out the source code:

git clone https://github.com/Yubico/yubioath-desktop.git
cd yubioath-desktop
git submodules init
git submodules update

==== Build a source release
To build a source release tar ball, run this command:

python setup.py sdist

The resulting build will be created in the dist/ subdirectory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yubioath-desktop-2.0.0.tar.gz (242.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page