Commit Graph

160 Commits

Author SHA1 Message Date
Trevor Bentley b3cbfb5560 Some documentation and cleanup of ykpiv.h 2017-10-23 16:26:25 +02:00
Trevor Bentley 58abe404f3 Generate Doxygen docs for libykpiv if doxygen is available. 2017-10-23 16:26:23 +02:00
Trevor Bentley 935e05485a Use openssl implementation of DES_is_weak_key on non-Windows, and add unit test. 2017-10-23 16:26:20 +02:00
Trevor Bentley 27933eaff8 Fix applet selection for whole public API. 2017-10-23 16:26:17 +02:00
Trevor Bentley c07355fefb Fix unit tests for NEO: use ECCP256 and detect attestation errors 2017-10-23 16:26:14 +02:00
Trevor Bentley aa293dcc31 Fix PIN length handling in ykpiv_verify*() 2017-10-23 16:26:08 +02:00
Trevor Bentley de065ae36e Rename util.c test suite to api.c 2017-10-23 16:26:05 +02:00
Trevor Bentley f903a432e3 Backport minidriver changes
* Port ykpiv_auth_getchallenge and ykpiv_auth_verifyresponse
 - Commit 8fde607b50b19c57a662c53c6b276b54a78606d8
 - Commit 6046b98e477cfef59a590ce2177336d694813e7e
 - Commit 422cea11745dc67d15039e242ed21ecb5208ae55
 - Commit 1d31647e5a27bd2df6bda76512c7d673980f0bec
* Rename connect2() and done2() to connect_with_external_card(), etc.
* Select applet in ykpiv_change_pin, change_puk, and unblock_pin
2017-10-23 16:26:02 +02:00
Trevor Bentley 9a7ccf48fa Fix all clang scan-build warnings 2017-10-23 16:25:56 +02:00
Trevor Bentley 90209997cc Unit test for ykpiv_attest() 2017-10-23 16:25:53 +02:00
Trevor Bentley 79464a3d3e Use slot enum consistently. Move slot->object translation into libykpiv. 2017-10-23 16:25:47 +02:00
Trevor Bentley 2e818dd914 Add ykpiv_util_(get/set)_cccid(), and use in yubico-piv-tool 2017-10-23 16:25:44 +02:00
Trevor Bentley 13e02f998d Fix ykpiv_attest slot argument name 2017-10-23 16:25:41 +02:00
Trevor Bentley f6b817f056 Add ykpiv_attest() and use it in yubico-piv-tool 2017-10-23 16:25:38 +02:00
Trevor Bentley ded78751a0 Add gzip support to ykpiv_util_import_certificate(), and use in yubico-piv-tool 2017-10-23 16:25:20 +02:00
Trevor Bentley 8135a55200 yubico-piv-tool: Switch to ykpiv_set_pin_retries() 2017-10-23 16:25:17 +02:00
Trevor Bentley 48c2b8e99c Move shared functionality from util.c to internal.h 2017-10-23 16:22:34 +02:00
Trevor Bentley dfd2a9ef92 Cleanup compiler warnings, and switch to cross-platform data types 2017-10-23 16:22:31 +02:00
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 06f2e777ba Backport from minidriver: 11788a4a36bf83a01104700f171774336086e9b4
commit 11788a4a36bf83a01104700f171774336086e9b4
Author: Dave Pate <dpate@yubico.com>
Date:   Tue Jul 18 18:28:48 2017 -0700

    Fixes #114 - jump to cleanup section in ykpiv_util_write_mscmap on invalid size
2017-10-23 16:22:18 +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 89e8e7864e Tests for ykpiv_list_readers and ykpiv_set_mgmkey 2017-10-23 16:22:11 +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 bfafb926a3 Added tests for authenticate and reset. Fixed bug in reset (always returned success). 2017-10-23 16:22:04 +02:00
Trevor Bentley cffe862bbc Test cases for ykpiv_util_* functions 2017-10-23 16:22:01 +02:00
Trevor Bentley 6c5d5545bf WIP port minidriver ykpiv_util_* functions 2017-10-23 16:21:57 +02:00
Trevor Bentley 86a0e72dbe Port fix from ykpiv-minidriver:
commit 79ae87153c2be06e8193a491e26b799e3b5ba028
Author: Oscar K So JR <oscar@yubico.com>
Date:   Mon Jan 30 22:08:29 2017 +0000

    Fixed Issue #78 - P2 Bug: MXCT352 - Importing PKCS#12 with key size 4096 bits crashed CertUtil.exe
2017-10-23 16:21:54 +02:00
Trevor Bentley 0d2b85fcef Switch test cases to use libcheck framework
This keeps the test logic the same, but moves most of them into the libcheck
test suite framework.  It gives better control over grouping related tests,
running them in parallel, and reporting on multiple failures.

Running in parallel also brings problems, so libykcs11 tests are left
untouched.  Parallel access to a single hardware DUT does not make sense,
and pcsc-lite doesn't work after a fork() in OS X 10.11+, so it can't run
in libcheck's tests anyway.
2017-10-23 16:21:50 +02:00
edent ea00678314 http->https 2017-10-17 08:02:02 +01:00
Klas Lindfors 82cd15db50 change _change_pin_internal to change_pin_internal to match style
all other internal functions have plain names
2017-05-30 13:05:24 +02:00
Klas Lindfors 0db87e8721 drop unused variable 2017-05-30 13:05:00 +02:00
emersonl d1db8eb282 Improve the style based on comments from Klas 2017-05-30 13:02:49 +02:00
emersonl 6882bc5c7c Fix issue #116 2017-05-30 12:59:08 +02:00
emersonl c05d879968 Fix issue #88 and #102 2017-05-30 12:56:25 +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 bbde9f91f9 Merge branch 'fix_typo' of ssh://github.com/mscherer/yubico-piv-tool into mscherer-fix_typo 2016-05-09 09:01:28 +02:00
Klas Lindfors 215fc8d0cf Merge pull request #73 from mscherer/more_small_cleanup
Use more constant for filling apdu struct.
2016-05-09 08:59:08 +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 6a4608ff05 Use more constant for filling apdu struct. 2016-05-05 01:11:42 +02:00
Michael Scherer 099c55e90a Fix various errors messages 2016-05-05 01:11:37 +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 ebf31d73f8 Merge branch 'attestation2' 2016-05-03 09:24:14 +02:00
Klas Lindfors 60dbac235d unblock pin should unblock pin, not change puk 2016-04-18 21:43:34 +02:00
Klas Lindfors f5fab7e962 add ykpiv touchpolicy to ykpiv 2016-03-17 12:29:25 +01: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