|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| build-aux/ | H | 05-Mar-2015 | - | 15,308 | 11,864 |
| m4/ | H | 05-Mar-2015 | - | 8,968 | 8,081 |
| tests/ | H | 05-Mar-2015 | - | 1,288 | 1,041 |
| AUTHORS | H A D | 11-May-2012 | 254 | 9 | 6 |
| COPYING | H A D | 11-May-2012 | 1.3 KiB | 27 | 22 |
| ChangeLog | H A D | 05-Mar-2015 | 18.6 KiB | 790 | 417 |
| INSTALL | H A D | 05-Mar-2015 | 15.4 KiB | 371 | 289 |
| Makefile.am | H A D | 21-Jan-2015 | 3.5 KiB | 111 | 59 |
| Makefile.in | H A D | 05-Mar-2015 | 40.4 KiB | 1,187 | 1,037 |
| NEWS | H A D | 05-Mar-2015 | 2.3 KiB | 63 | 48 |
| README | H A D | 26-Nov-2014 | 4.4 KiB | 157 | 127 |
| THANKS | H A D | 11-May-2012 | 271 | 9 | 7 |
| aclocal.m4 | H A D | 05-Mar-2015 | 43.2 KiB | 1,219 | 1,109 |
| configure | H A D | 05-Mar-2015 | 422.2 KiB | 14,587 | 12,204 |
| configure.ac | H A D | 21-Jan-2015 | 3.6 KiB | 103 | 89 |
| libyubikey.map | H A D | 11-Jun-2014 | 1.8 KiB | 57 | 52 |
| modhex.1 | H A D | 05-Mar-2015 | 2.2 KiB | 103 | 78 |
| modhex.c | H A D | 26-Nov-2014 | 4.3 KiB | 182 | 123 |
| simple.mk | H A D | 11-May-2012 | 1.8 KiB | 48 | 11 |
| ykaes.c | H A D | 26-Nov-2014 | 9.8 KiB | 300 | 207 |
| ykcrc.c | H A D | 26-Nov-2014 | 1.8 KiB | 55 | 19 |
| ykgenerate.1 | H A D | 05-Mar-2015 | 2.2 KiB | 87 | 62 |
| ykgenerate.c | H A D | 26-Nov-2014 | 4.3 KiB | 144 | 91 |
| ykhex.c | H A D | 26-Nov-2014 | 3.1 KiB | 130 | 81 |
| ykparse.1 | H A D | 05-Mar-2015 | 1.9 KiB | 65 | 40 |
| ykparse.c | H A D | 26-Nov-2014 | 4.4 KiB | 152 | 96 |
| yktoken.c | H A D | 26-Nov-2014 | 2 KiB | 53 | 17 |
| yubikey.h | H A D | 26-Nov-2014 | 4.6 KiB | 137 | 50 |
README
1YubiKey C Library: libyubikey
2=============================
3
4This package make up the low-level C software development kit for the
5Yubico https://www.yubico.com[YubiKey] authentication device.
6
7Building
8--------
9
10After downloading and unpacking the package tarball, you build it as
11follows.
12
13 ./configure
14 make check
15 sudo make install
16
17Another way to build the package is with a hand written short
18makefile, invoke using 'make -f simple.mk check'. This is usually not
19recommended, and you will have to read simple.mk for further
20information.
21
22Building from version controlled sources
23----------------------------------------
24
25Warning! This is only for developers and if you don't understand what
26you are doing, you should download the release files instead.
27
28You may check out the sources using Git with the following command:
29
30 git clone git://github.com/Yubico/yubico-c.git
31
32This will create a directory 'yubico-c'. Enter the directory:
33
34 cd yubico-c
35
36Recent versions of autoconf, automake and libtool must be installed,
37if you want to use the normal ./configure based approach. AsciiDoc's
38a2x tool is also required for building the man pages. (See simple.mk
39if you want a slimmed down non-autoconf build approach.)
40
41Generate the build system:
42
43 autoreconf --install
44
45Then refer to the user sections above regarding building.
46
47Command-line tools
48------------------
49
50The 'modhex' program converts data between modhex, normal hex, and
51binary form.
52
53The 'ykparse' program decrypts and parses one OTP given the OTP and
54the AES key corresponding to that YubiKey.
55
56The 'ykgenerate' program constructs and encrypts one OTP given AES key
57and internal data values.
58
59Example usage:
60
61[source, sh]
62-------
63 $ ./modhex test
64 ifhgieif
65 $ ./modhex -d ifhgieif; echo
66 test
67 $ ./modhex -h b565716f
68 nghgibhv
69 $ ./modhex -h -d nghgibhv
70 b565716f
71 $ ./ykparse ecde18dbe76fbd0c33330f1c354871db dteffujedcflcindvdbrblehecuitvjkjevvehjd
72 warning: overlong token, ignoring prefix: dteffuje
73 Input:
74 token: dcflcindvdbrblehecuitvjkjevvehjd
75 20 4a 07 b2 f2 1c 1a 36 30 e7 df 89 83 ff 36 82
76 aeskey: ecde18dbe76fbd0c33330f1c354871db
77 ec de 18 db e7 6f bd 0c 33 33 0f 1c 35 48 71 db
78 Output:
79 87 92 eb fe 26 cc 13 00 a8 c0 00 10 b4 08 6f 5b
80
81 Struct:
82 uid: 87 92 eb fe 26 cc
83 counter: 19 (0x0013)
84 timestamp (low): 49320 (0xc0a8)
85 timestamp (high): 0 (0x00)
86 session use: 16 (0x10)
87 random: 2228 (0x8b4)
88 crc: 23407 (0x5b6f)
89
90 Derived:
91 cleaned counter: 19 (0x0013)
92 modhex uid: jikdunvudhrr
93 triggered by caps lock: no
94 crc: F0B8
95 crc check: ok
96 $ ./ykparse ecde18dbe76fbd0c33330f1c354871db dteffujehknhfjbrjnlnldnhcujvddbikngjrtgh
97 warning: overlong token, ignoring prefix: dteffuje
98 Input:
99 token: hknhfjbrjnlnldnhcujvddbikngjrtgh
100 69 b6 48 1c 8b ab a2 b6 0e 8f 22 17 9b 58 cd 56
101 aeskey: ecde18dbe76fbd0c33330f1c354871db
102 ec de 18 db e7 6f bd 0c 33 33 0f 1c 35 48 71 db
103 Output:
104 87 92 eb fe 26 cc 13 00 30 c2 00 11 c8 9f 23 c8
105
106 Struct:
107 uid: 87 92 eb fe 26 cc
108 counter: 19 (0x0013)
109 timestamp (low): 49712 (0xc230)
110 timestamp (high): 0 (0x00)
111 session use: 17 (0x11)
112 random: 40904 (0x9fc8)
113 crc: 51235 (0xc823)
114
115 Derived:
116 cleaned counter: 19 (0x0013)
117 modhex uid: jikdunvudhrr
118 triggered by caps lock: no
119 crc: F0B8
120 crc check: ok
121 $ ./ykgenerate ecde18dbe76fbd0c33330f1c354871db 8792ebfe26cc 0013 c0a8 00 10
122 hcfktknicvbcnhbkvigcfhgddhhhrknc
123 $ ./ykparse ecde18dbe76fbd0c33330f1c354871db `./ykgenerate ecde18dbe76fbd0c33330f1c354871db 8792ebfe26cc 0013 c0a8 00 10`
124 Input:
125 token: lihggvrgffbjnrehcgnkvknjkvubeekr
126 a7 65 5f c5 44 18 bc 36 05 b9 f9 b8 9f e1 33 9c
127 aeskey: ecde18dbe76fbd0c33330f1c354871db
128 ec de 18 db e7 6f bd 0c 33 33 0f 1c 35 48 71 db
129 Output:
130 87 92 eb fe 26 cc 13 00 a8 c0 00 10 95 44 ec e9
131
132 Struct:
133 uid: 87 92 eb fe 26 cc
134 counter: 19 (0x0013)
135 timestamp (low): 49320 (0xc0a8)
136 timestamp (high): 0 (0x00)
137 session use: 16 (0x10)
138 random: 17557 (0x4495)
139 crc: 59884 (0xe9ec)
140
141 Derived:
142 cleaned counter: 19 (0x0013)
143 modhex uid: jikdunvudhrr
144 triggered by caps lock: no
145 crc: F0B8
146 crc check: ok
147 $
148-------
149
150License
151-------
152
153The project is licensed under a BSD license. See the file COPYING for
154exact wording. For any copyright year range specified as YYYY-ZZZZ in
155this package note that the range specifies every single year in that
156closed interval.
157