Commit Graph

63 Commits

Author SHA1 Message Date
Trevor Bentley 97ecb75dd4 Cleanup function names. Make PIN cache optional. 2017-10-23 16:22:27 +02:00
Trevor Bentley a8b2c2c1c4 Fix DES bugs in Linux. Windows+Linux both pass unit tests. 2017-10-23 16:22:24 +02:00
Trevor Bentley fb00baf672 Backport from minidriver:
commit 90020fea0ac34b2f98b68a5798fa85cb5ad12175 (tag: 3.2)
Author: Dave Pate <dpate@yubico.com>
Date:   Thu Jul 27 00:31:54 2017 -0700

    Release 3.2
    Adds automatic PUK blocking
    Adds feature to turn automatic PUK blocking off
    Miscellaneous fixes with metadata handling
2017-10-23 16:22:21 +02:00
Trevor Bentley 16d0a519c4 Continuing unit tests and minor bug fixes
* Support unit tests on Yubikey NEO
* Test ykpiv_get_version
* Test ykpiv_import_private_key
* Test ykpiv_sign_data
* Test ykpiv_decipher_data
* Test ykpiv_change_pin
* Test ykpiv_change_puk
* Test ykpiv_get_pin_retries
* Test ykpiv_set_pin_retries
* Test ykpiv_verify
* Fix segfault when |tries| is NULL
* Fix segfault when import_private_key algorithm is wrong
2017-10-23 16:22:14 +02:00
Trevor Bentley 2ea0e4cbdd Port custom allocator from minidriver, and add test case for it. 2017-10-23 16:22:08 +02:00
Trevor Bentley 6c5d5545bf WIP port minidriver ykpiv_util_* functions 2017-10-23 16:21:57 +02:00
Simon Josefsson 89bec1260a Improve license headers. 2016-08-12 15:30:06 +02:00
Michael Scherer 24534bcfcf Replace magic number for status word by constants
Most come from NIST special publication 800-73-4, section 5.6,
except one which I assume to be a custom one for yubikey.
2016-05-09 09:38:37 +02:00
Klas Lindfors fc5e1536ef Merge pull request #74 from mscherer/fix_constant_name
Fix error in the define name YKPIV_INS_GENERATE_ASYMMERTRIC
2016-05-09 08:58:39 +02:00
Michael Scherer fd9a0a324d Fix error in the define name YKPIV_INS_GENERATE_ASYMMERTRIC 2016-05-05 01:11:33 +02:00
Michael Scherer 6e4266c886 Add YKPIV_ALGO_TAG
Replace the magic constant 0x80 when sending a packet to the key
2016-05-05 01:11:18 +02:00
Klas Lindfors 189fe723f1 add YKPIV_KEY_ATTESTATION to ykpiv_import_key() 2016-03-17 12:29:13 +01:00
Klas Lindfors 7aa6ac93e6 add touch-policy cached 2016-03-17 10:52:03 +01:00
Klas Lindfors bfc3185e9b Merge branch 'master' into attestation2 2016-03-10 15:34:25 +01:00
Mikhail Denisenko 6042a2140e Implemented C_SetPIN 2015-12-11 13:23:38 -05:00
Alessio Di Mauro 4849e494be Add retired key definitions to libykpiv.
Include retired keys in import_key's check.
2015-11-20 15:44:19 +01:00
Alessio Di Mauro 6269280578 Add import private key to libykpiv. 2015-11-19 18:30:58 +01:00
Alessio Di Mauro b6d4238856 Initial work on doing padding internally 2015-11-19 18:30:58 +01:00
Klas Lindfors 32e66f4fc6 add attest action 2015-11-18 13:42:11 +01:00
Klas Lindfors 0dc8d13922 add f9 slot for attestation 2015-11-18 13:20:41 +01:00
Klas Lindfors 8eb7595d42 add list-readers action to tool
also refactor ykpiv_list_readers() a bit
2015-09-08 12:26:42 +02:00
Klas Lindfors 1a9e62cec8 drop ykpiv_connect2() and add ykpiv_list_readers() 2015-09-07 15:54:57 +02:00
Klas Lindfors b770155cbb Merge branch 'devel/p384' into ykcs11
Conflicts:
	NEWS
	configure.ac
	lib/ykpiv.c
	lib/ykpiv.h
	tool/util.c
	tool/util.h
2015-09-07 14:32:37 +02:00
Klas Lindfors aabe4fb20e Merge branch 'master' into ykcs11
Conflicts:
	lib/ykpiv.c
	lib/ykpiv.h
2015-08-20 09:30:49 +02:00
Alessio Di Mauro 7ce5ea4dc2 Added sign_data2 to libykpiv to disable padding. 2015-08-03 16:22:58 +02:00
Alessio Di Mauro de7e1ed000 Added basic version of login. 2015-07-14 16:51:08 +02:00
Alessio Di Mauro dae7297050 Major refactor and vendor abstraction. 2015-07-14 14:13:02 +02:00
Klas Lindfors 2e91cd0f5b Merge branch 'master' into devel/p384 2015-07-08 15:09:11 +02:00
Klas Lindfors 3b080dca45 relicense to 2-clause BSD license 2015-07-01 16:34:20 +02:00
Alessio Di Mauro 2b2fe1f9fa Added basic version of slot info functions. 2015-06-30 11:14:36 +02:00
Klas Lindfors 80e6fe525a change IS_XXKEY macros to be YKPIV_IS_XX 2015-06-30 07:33:39 +02:00
Klas Lindfors 600b302c1d add touch for set-mgm-key 2015-06-25 12:32:01 +02:00
Klas Lindfors ca6a355b5d add touch tlv for generate and import-key 2015-06-25 12:04:05 +02:00
Klas Lindfors be8f37924d pin policy code for generate and import-key 2015-06-24 15:25:59 +02:00
Klas Lindfors a73d708c25 add support for retired key objects
slots 82-95
2015-06-24 13:06:01 +02:00
Klas Lindfors 1541362866 add macros for IS_ECKEY and IS_RSAKEY, also fix tag on ECCP384 2015-06-24 13:06:00 +02:00
Klas Lindfors f17d09f19c start adding secp384r1 2015-06-24 13:06:00 +02:00
Klas Lindfors 3d0ff7b969 add a test-decipher command
test-decipher will for rsa do public encrypt on a random string and let
the key decrypt
for ec it will generate a new ec key and do ecdh and confirm it gets the
same answer back
2015-05-19 14:22:26 +02:00
Klas Lindfors b66f81b324 replace ykpiv_parse_key() with ykpiv_hex_decode() 2014-06-27 15:06:44 +02:00
Klas Lindfors a1c2e4e8d1 refactor writing object to it's own library function
ykpiv_save_object(), use that for writing certs
2014-06-26 08:02:44 +02:00
Klas Lindfors b8ecc6cda2 refactor so ykpiv_sign_data() takes size_t input 2014-06-25 15:41:20 +02:00
Klas Lindfors ba9ee75b3f stop exporting ykpiv_send_data() 2014-06-25 15:38:53 +02:00
Klas Lindfors 9b5ede8530 change around and let ykpiv_sign_data() pad 2014-06-25 10:47:32 +02:00
Klas Lindfors c5696d4b45 rework some stuff to size_t 2014-06-24 15:02:26 +02:00
Klas Lindfors 05a30e1da5 add ykpiv_fetch_object() to library 2014-06-24 14:35:59 +02:00
Klas Lindfors d5222c10b7 add macros for piv objects 2014-06-24 14:07:15 +02:00
Klas Lindfors 31d9d0d680 add ykpiv_verify to the library 2014-06-23 09:57:10 +02:00
Klas Lindfors 052b80830a make constants for more instructions 2014-06-18 13:28:28 +02:00
Klas Lindfors a97010d5e3 add ykpiv_get_version() function 2014-06-17 15:26:48 +02:00
Klas Lindfors 880c8a0061 move sign_data() function to library 2014-06-17 15:11:02 +02:00