Romain Tartiere
0a9a964c17
Fix a brunch of potentially reallocated memory areas.
2010-12-15 13:40:58 +00:00
Romain Tartiere
94bf8d83c6
Fix mifare_desfire_get_key_version() when authenticated with an AES key.
2010-12-15 13:34:15 +00:00
Romain Tartiere
3fd80a3eff
Enable the mifare-desfire-ev1-configure-random-uid example.
2010-12-15 13:19:42 +00:00
Romain Tartiere
b91080ffc7
Fix mifare_desfire_free_mem().
2010-12-15 12:51:22 +00:00
Romain Tartiere
29e9d188b4
Display additional Mifare DESFire EV1 information if applicable.
2010-12-15 12:51:05 +00:00
Romain Tartiere
42f9457d9f
Add support for Mifare DESFire EV1 with AES encryption.
2010-12-15 12:43:31 +00:00
Audrey Diacre
1070d9bfde
fix buffer overflow.
2010-12-13 10:56:27 +00:00
Audrey Diacre
5133491c2c
replace deprecated bzero function by memset.
2010-12-10 17:10:12 +00:00
Romain Tartiere
0e2bc992bf
Discard authentication information after deleting the currently selected application.
2010-12-10 14:30:28 +00:00
Romain Tartiere
fac03f5456
Bump version to 0.2.2.
2010-11-24 00:09:08 +00:00
Romain Tartiere
193809f949
Don't build libtestcommon.la if we are not using cutter.
2010-11-24 00:07:47 +00:00
Romain Tartiere
8d74792379
Update configure.ac [0.2.1].
2010-11-23 20:57:48 +00:00
Romain Tartiere
13ae0961fb
Update NEWS file.
2010-11-23 20:56:37 +00:00
Romain Tartiere
12de6ea4c4
Add forgotten files.
2010-11-23 18:42:25 +00:00
Romain Tartiere
c6f4343276
Fix autotools fun.
...
Tribute to Justice!
2010-11-23 18:38:10 +00:00
Romain Tartiere
e0a28547fd
Reset session key in mifare_desfire_select_application().
...
For Mifare DESFire EV1 support, we need to know when the user has called
mifare_desfire_select_application() after being authenticated and before
authenticated again.
2010-11-23 01:15:27 +00:00
Romain Tartiere
b7a45b4da4
Use mifare_desfire_auto_authenticate() for authentication.
2010-11-21 00:32:38 +00:00
Romain Tartiere
02c9d33ce1
Move master key detection and authentication in a convenience library.
...
The autohell hack sucks and should be fixed, but I was unable to find the magic
trick to prevent automake from building broken libtool rules which produce
warnings about portability :-/.
2010-11-21 00:10:04 +00:00
Romain Tartiere
9011bc01e3
Don't return directly if we just have a command code.
...
Mifare DESFire EV1 with authentication with AES or 3K3DES keys will require to
perform CMACing on each frame, even those with just a command. So it does not
break anything as of today, but would be a problem later on.
2010-11-20 22:39:48 +00:00
Romain Tartiere
6988e3e219
Prepare extension of communication settings.
2010-11-20 22:29:23 +00:00
Romain Tartiere
8975c60de7
Add some shortcuts.
2010-11-20 22:24:36 +00:00
Romain Tartiere
d05f008e76
Change some numbers with corresponding constants.
2010-11-20 14:19:04 +00:00
Romain Tartiere
a643e9149d
Add an offset parameter to mifare_cryto_preprocess_data()
...
Some cryptographic operations are performed on the whole data frame and not
only the payload with Mifare DESFire EV1. The solution for now is not perfect,
(one new macro wrapping another big macro) but makes the code a bit easier to
read, and with the MIFARE_DESFIRE macro rewriting as a function (at some point
in the future), the whole should be bearable :-)
2010-11-20 14:10:27 +00:00
Romain Tartiere
16ae154b42
Don't swap the status byte in the received data.
...
This have been done for consistency with other targets support, but
cryptographic operations with Mifare DESFire EV1 tags would require to swap
again this byte because MACing is performed on the following data (in this
order):
- Plain data
- Status
- Padding
2010-11-20 02:22:37 +00:00
Romain Tartiere
2750c0372c
Display master-key version in mifare-desfire-info.
2010-11-20 01:58:09 +00:00
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