README 3.93 KB
Newer Older
1 2 3 4 5
Qt based Cross-Platform YubiKey Personalization Tool
====================================================
See the file COPYING for copyright and license statement.

Introduction
6
------------
7 8 9

The YubiKey Personalization Tool is a Qt based Cross-Platform utility
designed to facilitate re-configuration of YubiKeys on Windows, Linux
10
and Mac platforms. The tool provides a same simple step-by-step
11 12 13 14
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
15
Windows, Linux and Mac platforms.
16 17 18 19 20 21 22 23

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
24 25 26
	* Programming the NDEF feature of the YubiKey NEO
	* Testing the challenge-response functionality of a YubiKey
	* Deleting the configuration of a YubiKey
27 28 29 30
	* Checking type and firmware version of the YubiKey

	
Building from Git
31
-----------------
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

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
-----------


Dependencies
48
------------
49

50
yubikey-personalization-gui depends on version 1.14.0 or higher of
51 52
libykpers.

53
When building on Windows and mac you will need a binary build of
54
https://developers.yubico.com/yubikey-personalization[yubikey-personalization],
55 56
the contents should then be places in libs/win32, libs/win64 and libs/macx
respectively.
57

58
For building on linux pkg-config is used to find these dependencies.
59

60
-----------
61
  $ sudo apt-get install libusb-1.0-0-dev qt4-qmake libykpers-1-dev \
62
      libyubikey-dev libqt4-dev
63
-----------
64 65

Command-line build
66
------------------
67 68 69

Run these commands:

70 71 72 73
-----------
  $ qmake && make
-----------

74
Cross Compiling from Linux
75
--------------------------
76

77
The project can be cross compiled from linux for OS X and Windows. As
78
a first step you need a cross-compiler chain for that OS, for windows
79
you want mingw-w64.
80

81
Then you need unpacked http://qt-project.org[Qt binaries] for that platform.
82

83
You can then do (for Windows):
84 85 86 87 88
TARGET_ARCH=i686-w64-mingw32 QTDIR=<qt location> qmake \
  -spec win32-g++-4.6 "CONFIG+=cross"

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

91

92
Opening the project in Qt designer
93
----------------------------------
94 95 96 97

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

98 99 100
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.
101

102 103
To set the path of the 'Build' diractory select 'Projects' > 'Build
Settings' Browse project folder path.
104 105 106


Building 
107
--------
108

109 110 111
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.
112

113 114
To build the project, select 'Build' > 'Build Project
YKPersonalization' option from the tool bar.
115

116 117 118 119 120
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.
121 122 123 124

Example on Linux:
To run the YubiKey Personalization Tool, open the command shell and
execute the following command:
125

126
[source, sh]
127 128 129
-----------
  $ build/release/yubikey-personalization-gui
-----------