Skip to content
onlykey edited this page Feb 28, 2019 · 6 revisions

Welcome to the wiki!

About

This is a community fork of the Yubikey Personalization package. This fork is to add support for 3rd party devices as the original yubikey-personalization library has hard coded USB vendor ID which will only work with YubiKey USB devices.

Why

Currently only Yubikey is supported for things like challenge and response (HMACSHA1). Yubikey is a closed source product and this library adds support for 3rd party devices like OnlyKey. OnlyKey is an open source alternative to Yubikey.

How

3rd party device support is added by adding the USB VID and PID to ykcore.c.

Building

Linux

Dependencies

$ apt update && upgrade
$ apt install libyubikey-dev pkg-config libusb-dev libusb-1.0-0-dev libjson-c-dev asciidoc xsltproc docbook-xsl libtool

Build

$ git clone https://github.com/trustcrypto/yubikey-personalization.git
$ cd yubikey-personalization
$ autoreconf --install
$ make check install

Windows

Dependencies Follow the guide here to install Windows build dependencies

Build

$ git clone https://github.com/trustcrypto/yubikey-personalization.git
$ cd yubikey-personalization/
$ autoreconf --install
$ ./configure

To build 64 bit

$ make -f okpers4win.mk okpers4win ARCH=64 HOST=x86_64-w64-mingw32 CHECK=check LIBYUBIKEYVERSION=1.13 LIBJSONVERSION=0.11 PROJECT=yubikey-personalization PACKAGE=okpers VERSION=1.19.4

To build 32 bit

$ make -f okpers4win.mk okpers4win ARCH=32 HOST=i686-w64-mingw32 CHECK=check LIBYUBIKEYVERSION=1.13 LIBJSONVERSION=0.11 PROJECT=yubikey-personalization PACKAGE=okpers VERSION=1.19.4

Executables will be found in \yubikey-personalization\tmp\root\bin

macOS

Dependencies

$ brew install ykpers

Build

$ git clone https://github.com/trustcrypto/yubikey-personalization.git
$ cd yubikey-personalization
$ autoreconf --install
$ ./configure
$ make -f okpers4mac.mk okpers4mac CHECK=check LIBYUBIKEYVERSION=1.13 LIBJSONVERSION=0.11 PROJECT=yubikey-personalization PACKAGE=okpers VERSION=1.19.4
Clone this wiki locally