Commit graph

354 commits

Author SHA1 Message Date
Romain Tartiere
f94c3c743f Rely on RAND_bytes() instead of DES_random_key() to generate random vectors. 2010-10-29 18:58:34 +00:00
Romain Tartiere
5b416ee508 Fix a regression introduced at r643. 2010-10-29 18:53:49 +00:00
Romain Tartiere
d9b2deebe2 Rework error reporting infrastructure. 2010-10-29 13:10:23 +00:00
Romain Tartiere
b932c923d5 Improve the test_mifare_rol() test. 2010-10-29 13:02:55 +00:00
Romain Tartiere
678b71edb0 Rename some macros for consistency. 2010-10-29 13:01:55 +00:00
Romain Tartiere
90c82945a9 Split session key generation for DES / 3DES. 2010-10-29 12:47:20 +00:00
Romain Tartiere
3eb8d37d08 Make some more buffer sizes dynamic. 2010-10-29 12:44:12 +00:00
Romain Tartiere
a0b9df6ece Add a block_size parameter to mifare_des(). 2010-10-29 12:34:11 +00:00
Romain Tartiere
356219e21b Require the ivect to be provided to mifare_cbc_des().
- Store ivect in the struct mifare_desfire_tag;
- Reset it before and after authentication;
- Reset before each crypto operation (for now).
2010-10-29 12:22:47 +00:00
Romain Tartiere
87a04904bc Change xor8() to xor() to work with buffers of any length. 2010-10-29 12:07:26 +00:00
Romain Tartiere
13f03a60bb Change rol8() to rol() to work with buffers of any length. 2010-10-29 12:01:57 +00:00
Romain Tartiere
7278740a03 s|append_iso14443a_crc|iso14443a_crc_append|. 2010-10-29 11:07:22 +00:00
Romain Tartiere
8dac813e53 New API function mifare_desfire_aid_get_aid(). 2010-10-17 20:21:06 +00:00
Romain Tartiere
07709c2835 New API function mifare_desfire_last_picc_error(). 2010-10-17 19:32:59 +00:00
Romain Tartiere
6790ad9bac Add more parenthesis to shut the compiler down. 2010-10-17 16:08:16 +00:00
Romain Tartiere
688d083f63 Fix build with recent libnfc API breakage. 2010-10-15 12:58:29 +00:00
Romain Tartiere
215439cf67 Fix detection of targets without ATS. 2010-10-08 12:31:07 +00:00
Romain Tartiere
22500eaaf6 Add missing Id. 2010-10-08 11:46:58 +00:00
Romain Tartiere
13a62ebf3e Fix $Id$ in make output. 2010-10-08 11:45:57 +00:00
Romain Tartiere
cf9f8d5246 Add missing file header & Id. 2010-10-08 11:43:04 +00:00
Romain Tartiere
53462219f4 Remove unused file.
The test in this file is already in test_mifare_desfire_des.c.
2010-10-08 11:41:52 +00:00
Romain Tartiere
a216a05299 Include fixture.h in fixture.c. 2010-10-08 11:34:50 +00:00
Romain Tartiere
93011b4c07 Use the actual UID length to select a target.
Without it, the libfreefare cannot use 4-bytes-long random UIDs of Mifare
DESFire EV1.
2010-10-01 19:32:03 +00:00
Romain Tartiere
a77fa7ae4a Switch back to InDataExchange() for Mifare DESFire cards.
Wrapping all frames in ISO7816-4 ADPU workarounds the P3 (Lc) > 0xFA limitation
of the PN531.
2010-10-01 18:13:49 +00:00
Romain Tartiere
782e276a7a Reindent after last commit.
Also reindent a forgotten switch/case while here.
2010-09-30 06:04:52 +00:00
Romain Tartiere
93f28ed83e Display old UID in mifare-desfire-ev1-configure-random-uid.
If a presenter Mifare DESFire has a random UID, display it's original UID.
2010-09-30 06:03:31 +00:00
Romain Tartiere
717cd9fecd Minor fixes for mifare-desfire-format.
- Free default_key;
- Really stop on error.
2010-09-30 06:02:30 +00:00
Romain Tartiere
dd8e031e8c Add an example to configure MIFARE DESFire EV1 random UID.
Don't connect it to the build yet because the corresponding code in the library
has not been committed yet: I want to keep a track of modifications I do in the
VCS.
2010-09-30 05:11:26 +00:00
Romain Tartiere
ba56826969 Compare only the 4 first bytes of ATS.
The 5th byte of Mifare DESFire being a "historical character" and being
user-tweakable for Mifare DESFire EV1, we should not use it when comparing the
ATS with our Mifare DESFire reference ATS to determine if a given tag is a
Mifare DESFire or not.
2010-09-29 19:46:55 +00:00
Romain Tartiere
9a2a07ea53 Enhance error reporting.
Now that the libnfc has error handling, report errors triggered in the libnfc
and add support for errors triggered in libfreefare.
2010-09-28 19:01:28 +00:00
Romain Tartiere
18982d360f Update NEWS file. 2010-09-28 17:33:04 +00:00
Romain Tartiere
91d3ff9cc4 Implement ISO14443-4 block numbers.
This feature was not used by the cards I initially used when coding the
, but is required for (at least some) Mifare DESFire EV1 to work.

IMPORTANT NOTE: The cards needing this block-number management to work out
break-down when mifare_desfire_format_picc() is performed on them.  The ATR
change from 0x7577810280 to 0x757781028f and further communication alway result
in a timeout.  At the time of committing, the reason is still unknown (bogus
cards, missed "Remarks" in the documentation, ...).  Other commands seems to
not expose additional problems.
2010-09-28 16:37:25 +00:00
Romuald Conty
cdac2ea340 fix mifare-desfire-write-ndef example, it now works with Nokia 6212 Classic. (Thanks to Roel) 2010-09-27 15:46:16 +00:00
Romuald Conty
fa41d85c94 since r588, mifare-desfire-write-ndef doesn't change anymore permanently settings, executing it is now reversible. 2010-09-13 09:46:51 +00:00
Audrey Diacre
2914460a13 mifare-desfire-write-ndef, allow changing configuration and the PICC master key. 2010-09-13 07:58:10 +00:00
Romain Tartiere
51269a92fa Revert r565.
r565 was misinterpreted as a bug while it's a feature.  Since it might be
inappropriate to do irreversible operations in an example, warn the user about
it.
2010-09-10 14:58:39 +00:00
Romain Tartiere
6ae77a29e1 Bump version to 0.2.0. 2010-09-07 14:35:36 +00:00
Romain Tartiere
40fa0d5d13 Fix mifare-classic-write-ndef example when using a card with an existing MAD.
Also fix some perror() -> nfc_perror().
2010-09-07 14:29:11 +00:00
Romain Tartiere
cf4942b510 Remove debugging line that should not have been committed in r535. 2010-09-07 13:38:48 +00:00
Romain Tartiere
b4ce6bfab6 Add missing function check reported by autoscan. 2010-09-07 09:05:10 +00:00
Romuald Conty
53f21706da bump libnfc needed version. 2010-09-06 09:28:14 +00:00
Romain Tartiere
b6a4982102 Attempt to detect and use CoreFoundation's headers for endianness conversions on Mac OS X.
PR:		Issue 21
Submitted by:	MathewMcBride47
2010-09-04 11:06:14 +00:00
Romain Tartiere
8a477773f7 Rework OpenSSL usage.
- Lookup for crypto functions in libcrypto instead of libssl.  Some systems
  (Mac OS) do not provide libssl, and the other have crypto functions in
  libcrypto but libssl is dynamically linked against libcrypto:
  % ldd /usr/lib/libssl.so
  /usr/lib/libssl.so:
         libcrypto.so.6 => /lib/libcrypto.so.6 (0x800c00000)
         libc.so.7 => /lib/libc.so.7 (0x800647000)
- Do not explicitly link against libssl (instead of libcrypto BTW): the
  autotools magic already does this at some point;
- Improve error message when headers cannot be found.
2010-09-04 10:47:07 +00:00
Romain Tartiere
05bd15b1d3 Explicitly enable auto ISO14443-4 mode.
We may be unable to locate Mifare DESFire otherwise.
2010-09-04 10:25:07 +00:00
Romain Tartiere
a260754627 Add missing include <sys/types.h> (required for some endianness magic). 2010-09-04 09:47:15 +00:00
Romain Tartiere
0db66925e1 Add some endianness macro aliases for OpenBSD. 2010-09-04 09:42:12 +00:00
Romain Tartiere
11794763b1 Complete external document reference in comment. 2010-09-04 09:16:42 +00:00
Romain Tartiere
274dfdefd2 Update the HACKING file and give some indentation sugars. 2010-09-03 18:08:18 +00:00
Romain Tartiere
7b9242e935 Reindent (2/2).
Align cases with switch statements.
Ça y est!  Le code est beau!
2010-09-03 18:04:12 +00:00
Romain Tartiere
af061a3c1a Reindent (1/2).
After trying to tweak gindent so that it does not mess-up my ASCII art, give
and read the help of Vim to setup 'cinoptions' according to my needs
(cino=t0(0).  This changeset reindent some bits that where not indented as they
should.  A future commit will reindent the switch/case according to my (bad)
taste now that I have setup cindent correctly on my system (cino=t0(0:0).
2010-09-03 18:01:02 +00:00