C M4 Makefile Other
Permalink
Failed to load latest commit information.
m4 Add shared library versioning script. Use valgrind for self-tests. Oct 18, 2013
tests add a test exposing issue #25 Jun 3, 2014
.gitignore add coverage processing Jan 21, 2015
.travis.yml add coverage processing Jan 21, 2015
AUTHORS expand the AUTHORS file Apr 10, 2013
BLURB Doc fix. Sep 12, 2014
COPYING Bump years. Oct 18, 2013
Makefile.am fixup dependency to support out-of-tree builds Sep 12, 2016
NEWS bump versions Nov 12, 2015
README use https URL for git clone Mar 16, 2016
README.adoc symlinked README Oct 29, 2014
build-and-test.sh add coverage processing Jan 21, 2015
cdecode.c
cdecode.h Indent code. Oct 18, 2013
cencode.c Indent code. Oct 18, 2013
cencode.h Indent code. Oct 18, 2013
configure.ac bump versions Nov 12, 2015
hmac.c Indent code. Oct 18, 2013
libykclient.map
sha-private.h
sha.h Indent code. Oct 18, 2013
sha1.c Indent code. Oct 18, 2013
sha224-256.c Indent code. Oct 18, 2013
sha384-512.c Indent code. Oct 18, 2013
tool.c Add proxy support via Curl Nov 11, 2015
usha.c Indent code. Oct 18, 2013
ykclient.c Add proxy support via Curl Nov 11, 2015
ykclient.h Add proxy support via Curl Nov 11, 2015
ykclient_errors.h Cleanup ykclient_errors.h split. Apr 15, 2013
ykclient_server_response.c Fix subdir-objects breakage with latest automake. Jul 5, 2013
ykclient_server_response.h Indent code. May 15, 2013
ykclient_version.c Indent code. May 15, 2013
ykclient_version.h.in Indent code. May 15, 2013

README.adoc

YubiKey C Client Library: libykclient

YubiKey C Client Library (libykclient) is a C library used to validate an Yubikey OTP against Yubico’s servers. See the Yubico website for more information about Yubico and the YubiKey.

Building

After downloading and unpacking the package tarball, you build it as follows.

./configure
make check
sudo make install

Building from version controlled sources

Warning! This is only for developers and if you don’t understand what you are doing, you should download the release files instead.

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

git clone https://github.com/Yubico/yubico-c-client.git

This will create a directory 'yubico-c-client'. Enter the directory:

cd yubico-c-client

Recent versions of autoconf, automake and libtool must be installed. Help2man is used to generate the manpages. Libcurl development files (headers and *.so) must also be installed.

Generate the build system using:

autoreconf --install

Then refer to the user sections above regarding building.

Command-line tools

There is one command line tool, ykclient, to validate a particular OTP. It needs a client id, which you can generate here.

Example usage:

jas@mocca:~/src/yubico-c-client$ ./ykclient
Usage: ./ykclient <client_id> <yubikey_otp>
 CLIENT_ID: your client id integer
 YUBIKEY_OTP: One-time password generated by yubikey
jas@mocca:~/src/yubico-c-client$ ./ykclient --debug 16 ccccccbchvthlivuitriujjifivbvtrjkjfirllluurj
Input:
  client id: 16
  token: ccccccbchvthlivuitriujjifivbvtrjkjfirllluurj
Verification output (2): Yubikey OTP was replayed (REPLAYED_OTP)
jas@mocca:~/src/yubico-c-client$

License

The project is licensed under a BSD license. See the file COPYING for exact wording. For any copyright year range specified as YYYY-ZZZZ in this package note that the range specifies every single year in that closed interval.