Skip to content

wzzrd/yubikey-personalization-gui

 
 

Repository files navigation

Qt based Cross-Platform YubiKey Personalization Tool
====================================================

See the file COPYING for copyright and license statement.

==================================
Introduction
==================================

The YubiKey Personalization Tool is a Qt based Cross-Platform utility
designed to facilitate re-configuration of YubiKeys on Windows, Linux
and MAC platforms. The tool provides a same simple step-by-step
approach to make configuration of YubiKeys easy to follow and
understand, while still being powerful enough to exploit all
functionality both of the YubiKey 1 and YubiKey 2 generation of
keys. The tool provides the same functionality and user interface on
Windows, Linux and MAC platforms.

The Cross-Platform YubiKey Personalization Tool provides the following
main functions:

	* Programming the YubiKey in "Yubico OTP" mode
	* Programming the YubiKey in "OATH-HOTP" mode
	* Programming the YubiKey in "Static Password" mode
	* Programming the YubiKey in "Challenge-Response" mode
	* Checking type and firmware version of the YubiKey

	
==================================
Building from Git
==================================

You may check out the sources using Git with the following command:

-----------
  $ git clone git://github.com/Yubico/yubikey-personalization-gui.git
-----------

This will create a directory 'yubikey-personalization-gui'. Enter the
directory:

-----------
  $ cd yubikey-personalization-gui
-----------

There are three files "YKPersonalization.pro.user.win",
"YKPersonalization.pro.user.lin" and "YKPersonalization.pro.user.mac",
one for each of Windows, Linux and MAC platforms that are supported by
the tool. Depending upon your platform, rename the corresponding file
to "YKPersonalization.pro.user".  (The instructions in this paragraph
appears to not be needed for command-line builds.)

============
Dependencies
============

yubikey-personalization-gui depends on atleast version 1.8.0 of
libykpers.

When building on Windows you will need binary releases of libykpers
and libyubikey, these can be downloaded from
http://code.google.com/p/yubikey-personalization/, the dlls
libykpers-1-1.dll and libyubikey-0.dll should then be placed in
libs/win32 and libs/win64 respectively.

When building on MAC or Linux you will need sourcecode from yubico-c
and yubikey-personalization. This can be downloaded from
http://code.google.com/p/yubikey-personalization/ and
http://code.google.com/p/yubico-c/ and should be placed unpacked in
deps/libyubikey and deps/libykpers. You also need libusb.h
from http://sourceforge.net/projects/libusb/files/libusb-1.0/
placed in deps/libusb-1.0.

You will need QT Creator and libusb-1.0 development files.

sudo apt-get install libusb-1.0-0-dev qtcreator


==================
Command-line build
==================

Run these commands:

qmake
make

==========================
Cross Compiling from Linux
==========================

The project can be cross compiled from linux for osX and windows. As
a first step you need a cross-compiler chain for that OS, for windows
you want mingw-w64 and for osX you can follow directions at
https://github.com/Tatsh/xchain/.

Then you need unpacked qt binaries for that platform, fetchable
from http://qt-project.org/.

You can then do (for windows):
TARGET_ARCH=i686-w64-mingw32 QTDIR=<qt location> qmake \
  -spec win32-g++-4.6 "CONFIG+=cross"

or (for osX):
TARGET_ARCH=x86_64-apple-darwin11 OSX_SDK=<osx sdk location> \
  QT_LIBDIR=<qt libs> QT_PLUGINDIR=<qt plugins> qmake -spec macx-g++ \
  "CONFIG +=cross"

Note that you need to point QT_LIBDIR and QT_PLUGINDIR at the
/Library/Frameworks directory of the unpacked distribution.

To build installers you can add build_installer to the CONFIG variable
for qmake. This requires makensis to be in path for windows and
genisoimage and dmg (from libhfs-dmg) for mac.

==================================
Opening the project in Qt designer
==================================

Locate the qtcreator executable file and click on it to open the Qt
Designer.

To open the project in Qt Designer, select "File" > "Open File or
Project" from the tool bar, navigate to the project folder, select
YKPersonalisation.pro file and click on the "Open" button.

To set the path of the "Build" diractory select "Projects" > "Build
Settings" Browse project folder path.


==================================
Building 
==================================

To generate the build system, select "Build" > "Clean Project
YKPersonalization" option from the tool bar. Then select "Build" >
"Run qmake" option from the tool bar.

To build the project, select "Build" > "Build Project
YKPersonalization" option from the tool bar.

Based on your platform, the successful build will create a "YubiKey
Personalization Tool" executable file into the respective build
folder. The build creates a "YKPersonalization.exe" file on Windows,
"YubiKey Personalization Tool.sh" file on Linux and "YubiKey
Personalization Tool.app" file on MAC.

Example on Linux:
To run the YubiKey Personalization Tool, open the command shell and
execute the following command:
# sudo sh "Yubico/YubiKey\ Personalization\ Tool.sh"


==================================
Questions?
==================================

Talk to <yubico-devel@googlegroups.com>.

About

YubiKey Personalization GUI

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 87.8%
  • C 7.5%
  • Prolog 4.2%
  • Shell 0.5%