Commit Graph

265 Commits

Author SHA1 Message Date
nils 43f0118740 summary: - improve support for extended APDUs
- add experimental support for command chaining
         - simplify get_response prototype


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2673 c6295689-39f2-0310-b995-f0e70906c6a9
2005-10-30 20:37:03 +00:00
nils 47ee84e72d add functions
void sc_ctx_suppress_errors_on(sc_context_t *ctx);
	void sc_ctx_suppress_errors_off(sc_context_t *ctx);
to turn on/off error suppression (to avoid accessing
sc_context_t directly) and use it.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2671 c6295689-39f2-0310-b995-f0e70906c6a9
2005-10-30 19:08:06 +00:00
nils fa65fbf285 summary: - add new function sc_format_oid to libopensc
- cleanup libopensc api


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2670 c6295689-39f2-0310-b995-f0e70906c6a9
2005-10-30 18:05:30 +00:00
nils 90d1b0cc9c add support for the Italian Incrypto34 smartcard;
patch supplied by Giuseppe AMATO <giuseppe.amato@st.com>


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2661 c6295689-39f2-0310-b995-f0e70906c6a9
2005-10-24 21:58:35 +00:00
nils 6abeaf1f1c add a new function
void sc_mem_clear(void *ptr, size_t len);
to clear a memory buffer. If OpenSSL is used this function
is a wrapper for OPENSSL_cleanse, otherwise memset is currenlty used.

Use this function to clear memory buffers with sensitive content.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2601 c6295689-39f2-0310-b995-f0e70906c6a9
2005-09-17 10:44:45 +00:00
nils 5123be2b85 add two new functions
sc_reader_t *sc_ctx_get_reader(sc_context_t *ctx, unsigned int i);
	unsigned int sc_ctx_get_reader_count(sc_context_t *ctx);
to access the reader_count and the sc_reader objects (to avoid accessing
the sc_context members directly).
Use these functions in src/pkcs11 + error checking to avoid accessing
invalid sc_reader objects.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2595 c6295689-39f2-0310-b995-f0e70906c6a9
2005-09-16 10:18:55 +00:00
nils 69ffd496b2 the apdu error codes are unsigned => change sc_check_sw and the card ops check_sw
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2467 c6295689-39f2-0310-b995-f0e70906c6a9
2005-08-05 17:18:10 +00:00
nils eab657fb52 change sc_bin_to_hex separator parameter from char to int as character constants are integers in c
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2461 c6295689-39f2-0310-b995-f0e70906c6a9
2005-08-03 18:43:40 +00:00
sth d0f267468e Added function sc_compare_oid()
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2456 c6295689-39f2-0310-b995-f0e70906c6a9
2005-08-03 09:00:00 +00:00
nils cbb32e02e1 add initial support for atrust acos cards; patch supplied by Franz Brandl <f.brandl@a-trust.at>
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2374 c6295689-39f2-0310-b995-f0e70906c6a9
2005-07-01 08:26:55 +00:00
sth abf3bf9549 If the SC_CARD_CAP_USE_FCI_AC flag is set, sc_pkcs15init_authenticate() will check the file's ACs on the card instead of relying on the ones in the profile file
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2290 c6295689-39f2-0310-b995-f0e70906c6a9
2005-03-30 18:25:50 +00:00
sth a6f8354b6e Added another life cycle state
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2289 c6295689-39f2-0310-b995-f0e70906c6a9
2005-03-30 18:18:46 +00:00
sth 9029170d16 No unistd.h on Windows
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2280 c6295689-39f2-0310-b995-f0e70906c6a9
2005-03-26 19:35:35 +00:00
aj f5b2845340 silence a few warnings.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2274 c6295689-39f2-0310-b995-f0e70906c6a9
2005-03-23 23:24:13 +00:00
bert 2d97002824 API fixup: use defined type instead of struct for exposed structs
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2232 c6295689-39f2-0310-b995-f0e70906c6a9
2005-03-08 20:59:35 +00:00
aet 033a0589fe - For completeness sake, add SC_CARD_FLAG_VENDOR_MASK
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2197 c6295689-39f2-0310-b995-f0e70906c6a9
2005-02-23 19:09:39 +00:00
aet 8a8f2cd6bc - Introduce a new powerful card_atr mechanism to opensc
configuration file to handle any configuring related
  to certain card / cards using atrmask.
- Rewrite Martin's force_protocol to _sc_check_forced_protocol()
  to make it possible to share the code with other reader driver
  implementations than pcsc.
- Implement _sc_match_atr_block() to help out with force protocol
  and pkcs15 emulation layers, to find information that's not
  stored directly to sc_atr_table.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2192 c6295689-39f2-0310-b995-f0e70906c6a9
2005-02-22 07:59:42 +00:00
aet b80890d49c - Increase SC_MAX_READER_DRIVERS / SC_MAX_CARD_DRIVERS
- Some cleanups before future commits


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2191 c6295689-39f2-0310-b995-f0e70906c6a9
2005-02-20 08:26:27 +00:00
aet 69d2e9014d - Optimize a few cpu cycles from _sc_match_atr_hex
- Replace struct sc_atr_table / _sc_match_atr with
  recently introduced _hex variants
- Rewrote _add_atr
- Introduce int type variable to sc_card_t, so that
  every other card driver won't have to glue around
  with this
- Card driver cleanups, optimize the number of
  sc_match_atr called per card driver. Also
  always try direct match with _sc_match_atr
  first, before relying on eg. historical bytes
  information on some card drivers
- Fixed a memory leak from the miocos driver


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2145 c6295689-39f2-0310-b995-f0e70906c6a9
2005-02-06 19:40:40 +00:00
aet c1b0626cdd - Cleanup, typo fix
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2123 c6295689-39f2-0310-b995-f0e70906c6a9
2005-02-02 10:21:10 +00:00
sth 8857ff5b1c Work-around for cards that don't return FCI info
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2118 c6295689-39f2-0310-b995-f0e70906c6a9
2005-02-01 07:52:40 +00:00
sth b59fb4597e Have the option add a delay before resending an APDU (after a 6CXX response). Is needed for most current belpic cards on fast readers
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2117 c6295689-39f2-0310-b995-f0e70906c6a9
2005-01-30 19:20:38 +00:00
sth c8d89211eb src/libopensc/card-belpic.c
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2113 c6295689-39f2-0310-b995-f0e70906c6a9
2005-01-29 12:10:52 +00:00
nils 3158fa3e05 merge Martin Paljak's ccid pinpad changes from the OPENSC_0_9 branch to the cvs head
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2095 c6295689-39f2-0310-b995-f0e70906c6a9
2005-01-24 11:31:11 +00:00
nils 5e5c61cd28 types are unsigned int
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2055 c6295689-39f2-0310-b995-f0e70906c6a9
2005-01-07 18:50:04 +00:00
nils 08826acb4d flags/types are unsigned int, the exponent shouldn't be negative and more const
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2040 c6295689-39f2-0310-b995-f0e70906c6a9
2004-12-22 09:54:41 +00:00
nils 3d75aeeaff force_protocol cleanup from Martin Paljak <martin@paljak.pri.ee>
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2029 c6295689-39f2-0310-b995-f0e70906c6a9
2004-12-21 09:54:47 +00:00
nils e583473ceb two patches from Marin Paljak <martin.paljak@gmail.com> :
- remove unnecessary function from the reader ops
- add a field for pinpad support
- cleanup + fix indent in card-mcrd.c


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1948 c6295689-39f2-0310-b995-f0e70906c6a9
2004-10-22 07:29:07 +00:00
nils 3dacb2c626 implement dynamic card/reader support
from Juan Antonio Martinez (with some input from me)


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1944 c6295689-39f2-0310-b995-f0e70906c6a9
2004-10-18 08:24:12 +00:00
nils 5a328e3dcc update pkcs15 emulation stuff
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1916 c6295689-39f2-0310-b995-f0e70906c6a9
2004-10-08 21:29:55 +00:00
nils d6c98f7ae2 add support to force pcsc to use a certain protocol
patch supplied by Martin Paljak <martin@paljak.pri.ee>


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1890 c6295689-39f2-0310-b995-f0e70906c6a9
2004-08-19 08:55:15 +00:00
nils 8d9ace2d7f experimental support for card serial numbers
(at first only for starcos spk 2.3 and cardos m4)


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1841 c6295689-39f2-0310-b995-f0e70906c6a9
2004-07-19 16:51:41 +00:00
aj 52c1b2d700 Very basic and untested oberthur driver. Could possibly work,
as only non-essential parts stripped (or at least that was the plan).

Written by Viktor Tarasov of idealx.

All bugs by Andreas Jellinghaus, please don't blame anyone else.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1793 c6295689-39f2-0310-b995-f0e70906c6a9
2004-06-16 20:59:59 +00:00
okir 09b2730497 - implement sc_delete_record (Victor Tarasov)
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1708 c6295689-39f2-0310-b995-f0e70906c6a9
2004-01-06 13:33:32 +00:00
okir 8a4a5f0331 - Added support for JCOP/BlueZ cards, contributed by Chaskiel M Grundman
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1696 c6295689-39f2-0310-b995-f0e70906c6a9
2003-12-29 12:28:37 +00:00
okir 5dda541b7e - made apdu_masquerade functionality available to all readers, not just pcsc
- added new parameters max_send_size and max_recv_size, roughly corresponding
  to the old max_le (SC_APDU_CHOP_SIZE) parameter. You can now set this
  chop limit per driver class (pcsc, openct, ctapi), which sets
  driver->max_{send,recv}_size. This value is copied to
  card->max_{send,recv}_size in sc_connect_card, and can be overridden
  by the card driver.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1683 c6295689-39f2-0310-b995-f0e70906c6a9
2003-12-18 16:35:28 +00:00
okir 85fa4ed0da - Matched Cyberflex patch from Martin Buechler. Created a new
driver named cyberflex which shares a lot of code with the original
  flex driver. This is a lot cleaner than having to create if/else
  monsters.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1661 c6295689-39f2-0310-b995-f0e70906c6a9
2003-12-08 10:54:55 +00:00
aet d12b21f633 - Remove all references to usbtoken, use OpenCT instead
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1639 c6295689-39f2-0310-b995-f0e70906c6a9
2003-11-25 11:17:02 +00:00
okir a91824eafa - increase SC_MAX_PIN_SIZE to 256 (OpenPGP cards have 254 max)
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1622 c6295689-39f2-0310-b995-f0e70906c6a9
2003-11-20 15:39:38 +00:00
okir 99e999d64c - added sc_get_data/sc_put_data
- added openpgp card driver


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1579 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-30 17:04:02 +00:00
okir 931a1dd28a - added error/debug message support to ui.c
- sc_error/sc_debug now use the new ui code
- added language support


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1559 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-22 06:49:59 +00:00
okir c20fcf5e7b - bump max number of apps per card to 8
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1544 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-19 18:05:03 +00:00
aet 603ccec619 - Fixed nightly snapshot generation
- Link keycache.h to src/include/opensc
- Move mutex function declarations to opensc.h


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1525 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-14 21:56:56 +00:00
okir 734bceb682 - Error logging changes: replace ctx->log_errors with ctx->suppress_errors,
so that we can nest error suppression using suppress_errors++/suppress_errors--


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1518 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-14 09:56:50 +00:00
okir bf7e801fac - new path functions: sc_append_file_id, sc_compare_path
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1503 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-13 14:34:18 +00:00
okir dc42cd3fa7 - added sc_print_path
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1400 c6295689-39f2-0310-b995-f0e70906c6a9
2003-08-29 12:55:30 +00:00
aet 2b3db944e0 - Rename sysdep_timestamp_t to sc_timestamp_t
- Add missing function prototype for sc_current_time


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1384 c6295689-39f2-0310-b995-f0e70906c6a9
2003-08-18 14:54:37 +00:00
aj 1091548eda seperator is written to an u8, so it should be a char or u8 anyway.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1324 c6295689-39f2-0310-b995-f0e70906c6a9
2003-08-01 07:03:16 +00:00
sth c23ff8f56e Removed a call for a (not yet) existing driver, which I accidentally added along with another change
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1321 c6295689-39f2-0310-b995-f0e70906c6a9
2003-07-31 08:27:35 +00:00
sth 0b1a65cd81 Added struct sc_card to process_fci(), just like it's done with the orhter card operations
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1311 c6295689-39f2-0310-b995-f0e70906c6a9
2003-07-28 13:19:49 +00:00
sth 06d4311e80 Made the construct_fci() a card operaton, just like it has been done with process_fci() before
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1291 c6295689-39f2-0310-b995-f0e70906c6a9
2003-07-23 14:31:21 +00:00
okir 95e2d8b78a - Change padding functions
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1264 c6295689-39f2-0310-b995-f0e70906c6a9
2003-07-15 10:49:28 +00:00
sth 0a05d8340c Have process_fci() as a card operation instead of being called internally by iso7816_select_file(). This way card drivers can implement a select_file() and process_fci() independently
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1263 c6295689-39f2-0310-b995-f0e70906c6a9
2003-07-14 17:39:19 +00:00
sth 901a2d90e3 Added 'Global Platform' PIN encoding
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1257 c6295689-39f2-0310-b995-f0e70906c6a9
2003-07-14 13:20:49 +00:00
sth 4737789ede Implemented the get_response card operation, is now explicitely called by sc_transmit_apdu()
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1246 c6295689-39f2-0310-b995-f0e70906c6a9
2003-07-10 11:38:02 +00:00
okir 127f94ad37 - added pinpad support for OpenCT
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1215 c6295689-39f2-0310-b995-f0e70906c6a9
2003-06-23 12:56:36 +00:00
okir 0cfd6319bf - New public function sc_add_padding
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1192 c6295689-39f2-0310-b995-f0e70906c6a9
2003-06-11 10:56:04 +00:00
okir 2abc504051 - remove signedness warnings printed by new gcc
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1176 c6295689-39f2-0310-b995-f0e70906c6a9
2003-05-30 08:54:42 +00:00
okir 48a61e95c0 - added card name to struct sc_card to allow upper level apps to identify
card type more precisely


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1173 c6295689-39f2-0310-b995-f0e70906c6a9
2003-05-28 20:52:33 +00:00
sth fc31b65a88 added sc_logout() functionality
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1153 c6295689-39f2-0310-b995-f0e70906c6a9
2003-05-20 08:30:46 +00:00
okir b68cb1e0b3 - added sc_free_apps to undo sc_enum_apps
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1122 c6295689-39f2-0310-b995-f0e70906c6a9
2003-05-15 13:32:17 +00:00
jey b0d4f06703 - Renamed card->chopsize to max_le, which is more descriptive
- Changed a few checks to asserts


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1078 c6295689-39f2-0310-b995-f0e70906c6a9
2003-04-28 16:34:38 +00:00
aj c6efa1e9a1 create card->chopsize, init it with SC_APDU_CHOP_SIZE,
allow cards to change that value, and add code to
starcos_init to set chopsize to 80.

chopsize is used with read_binary and friends to chop
the data into small requests, read/write them, and reassemble.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1074 c6295689-39f2-0310-b995-f0e70906c6a9
2003-04-27 19:08:23 +00:00
okir f1aaa62c2b - integrate starcos driver
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1029 c6295689-39f2-0310-b995-f0e70906c6a9
2003-04-16 16:59:34 +00:00
okir 5abf1b898e - added SC_SEC_OPERATION_AUTHENTICATE for starcos driver
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1027 c6295689-39f2-0310-b995-f0e70906c6a9
2003-04-16 15:58:57 +00:00
okir 9437f109ec - Added OpenCT reader support
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@989 c6295689-39f2-0310-b995-f0e70906c6a9
2003-04-11 11:41:31 +00:00
okir fa2e617cd1 - added sc_reader_t
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@975 c6295689-39f2-0310-b995-f0e70906c6a9
2003-04-03 13:18:00 +00:00
sth 9d3b5a3941 Added sc_current_time
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@968 c6295689-39f2-0310-b995-f0e70906c6a9
2003-04-02 06:58:20 +00:00
okir da172fd4c5 - added reader driver for usbtoken
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@960 c6295689-39f2-0310-b995-f0e70906c6a9
2003-03-27 10:14:22 +00:00
okir d5d1fb395c - bump SC_MAX_READERS to 16
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@945 c6295689-39f2-0310-b995-f0e70906c6a9
2003-03-10 21:22:42 +00:00
sth a7a5701e0c added support for max pin length
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@922 c6295689-39f2-0310-b995-f0e70906c6a9
2003-02-20 23:19:01 +00:00
sth 213941af28 little fix of the previous commit
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@919 c6295689-39f2-0310-b995-f0e70906c6a9
2003-02-20 13:03:15 +00:00
sth 9631ef3636 removed const in sc_card_driver (caused win32 crash)
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@918 c6295689-39f2-0310-b995-f0e70906c6a9
2003-02-20 12:51:07 +00:00
okir af6cfb5537 - Support Belgian eID - be less pedantic about the AID listed in EF(DIR)
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@899 c6295689-39f2-0310-b995-f0e70906c6a9
2003-02-05 14:45:48 +00:00
okir 5b1eb43b93 - add some support for card removal in pkcs11
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@867 c6295689-39f2-0310-b995-f0e70906c6a9
2003-01-19 17:47:07 +00:00
okir e69517941f - added SC_CARD_CAP_RNG
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@864 c6295689-39f2-0310-b995-f0e70906c6a9
2003-01-15 13:20:02 +00:00
aet b1eff66867 C++ warning fixes (assuan excluded)
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@863 c6295689-39f2-0310-b995-f0e70906c6a9
2003-01-14 19:55:45 +00:00
okir baf8393a8a - merged mutex patches from Serge Koganovitsch (Zetes)
- created new file portability.c and moved the whole mutex stuff
  there (so we don't pollute public header files with #ifdef HAVE_XXX anymore)


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@858 c6295689-39f2-0310-b995-f0e70906c6a9
2003-01-14 11:22:33 +00:00
okir d2d83a47ff - when caching pkcs15 files, transparently create the cache dir if not there
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@853 c6295689-39f2-0310-b995-f0e70906c6a9
2003-01-09 09:18:02 +00:00
okir bb7708335b - fixed comment before sc_wait_for_event
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@832 c6295689-39f2-0310-b995-f0e70906c6a9
2003-01-05 17:59:43 +00:00
okir 21fe5ef918 - Patch from Stef to implement sc_wait_for_event, slightly enhanced by
yours truly.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@825 c6295689-39f2-0310-b995-f0e70906c6a9
2003-01-03 16:32:06 +00:00
okir 9acca0e724 - Implemented new PIN verify/change/unblock framework. All PIN operations
are routed through sc_pin_cmd(), which builds the APDU and either passes
  it to the card directly, or to the card reader along with a request to
  read the PIN(s) from the reader's keypad.

  Currently, entering PIN in the standard way (i.e. via the application)
  should still work - I have verified GPK and eToken; Cryptoflex verify
  should work as well. Anything else needs additional testing, and support
  for keypad input in particular (I cannot test this at the moment for
  lack of a suitable reader).


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@811 c6295689-39f2-0310-b995-f0e70906c6a9
2002-12-23 18:47:27 +00:00
okir 0980825796 - get rid of warnings when calling load_card_driver_options
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@799 c6295689-39f2-0310-b995-f0e70906c6a9
2002-12-19 16:16:42 +00:00
okir 3f584dbb1f - Added SC_ALGORITHM_RSA_HASH_RIPEMD160
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@780 c6295689-39f2-0310-b995-f0e70906c6a9
2002-12-17 20:14:41 +00:00
jey 9a8c3b2b20 - Added support for separator characters in sc_bin_to_hex()
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@767 c6295689-39f2-0310-b995-f0e70906c6a9
2002-12-10 14:44:42 +00:00
jey 3bced8aeae - Changed sc_bin_to_hex() prototype a bit and removed the ':' characters
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@760 c6295689-39f2-0310-b995-f0e70906c6a9
2002-12-10 13:26:31 +00:00
okir 868d1d7a20 - added sc_bin_to_hex
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@757 c6295689-39f2-0310-b995-f0e70906c6a9
2002-12-06 12:49:19 +00:00
okir d635d53771 - support ATR maps in /etc/opensc.conf, e.g.
card_driver flex {
		atr = 11:22:33:44;
		atr = 55:66:77:88;
	}


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@738 c6295689-39f2-0310-b995-f0e70906c6a9
2002-12-03 15:40:40 +00:00
okir 78d2160f46 - added SC_ALGORITHM_NEED_USAGE
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@707 c6295689-39f2-0310-b995-f0e70906c6a9
2002-11-08 14:14:42 +00:00
jey 8bbcb933a4 - Added driver for MICARDO 2 cards
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@681 c6295689-39f2-0310-b995-f0e70906c6a9
2002-08-21 10:13:28 +00:00
fabled 7635468ed9 - Initial support for win32
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@654 c6295689-39f2-0310-b995-f0e70906c6a9
2002-06-14 12:52:56 +00:00
aet 3dccd63989 - C++ support. Compiles with gcc/g++ for Linux, otherwise
completely untested.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@574 c6295689-39f2-0310-b995-f0e70906c6a9
2002-04-19 14:23:31 +00:00
okir 5d8b1000ca - eToken patches from Markus Friedl
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@546 c6295689-39f2-0310-b995-f0e70906c6a9
2002-04-17 13:36:35 +00:00
okir b4d224b5a1 - added SC_ALGORITHM_{MD5,SHA1,PBKDF2,PBES2} and corresponding
AlgorithmIdentifier parameter structs
- added params pointer to struct sc_algorithm_id


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@529 c6295689-39f2-0310-b995-f0e70906c6a9
2002-04-17 08:56:58 +00:00
jey 52c433a7ae - Added support for Aladdin eToken PRO; patch by
Andreas Jellinghaus <aj@dungeon.inka.de>


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@510 c6295689-39f2-0310-b995-f0e70906c6a9
2002-04-10 22:25:44 +00:00
jey 0875849c61 - Started to split opensc.h into smaller parts
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@472 c6295689-39f2-0310-b995-f0e70906c6a9
2002-04-05 15:06:33 +00:00
jey 22636c2df9 - Added SC_ERROR_FILE_ALREADY_EXISTS
- Changed call convention for reader finish()
- CT-API driver now frees its resources correctly
- Added year 2002 to some of the copyright statements
- sc_pkcs15_decipher() and sc_pkcs15_compute_signature()
  now select only the parent DF of the private key file


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@463 c6295689-39f2-0310-b995-f0e70906c6a9
2002-04-05 14:46:44 +00:00
aet 076a26bbac Rework the header structure
Currently fails to compile, unless you symlink
all the necessary headers to src/include/opensc
by yourself.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@459 c6295689-39f2-0310-b995-f0e70906c6a9
2002-04-05 13:48:00 +00:00
okir 0683b3463f - added two new error codes for pkcs15init
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@426 c6295689-39f2-0310-b995-f0e70906c6a9
2002-04-03 11:51:07 +00:00
okir 7a87a5c156 - added SC_AC_SYMBOLIC for pkcs15init support
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@413 c6295689-39f2-0310-b995-f0e70906c6a9
2002-04-02 12:57:17 +00:00
jey 7ddcb3d692 - sec_attr and prop_attr are now dynamically allocated in
struct sc_file


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@404 c6295689-39f2-0310-b995-f0e70906c6a9
2002-03-28 14:13:36 +00:00
jey 59d4e9b7be - Added support for CT-API
- Improved config file loading
- Implemented ATR parsing


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@396 c6295689-39f2-0310-b995-f0e70906c6a9
2002-03-26 11:38:40 +00:00
jey f21926af00 - Started to add configuration file support to
libopensc
- Added typedefs for some basic structs (e.g.
  struct sc_card --> sc_card_t)
- Added a second argument to sc_establish_context()
  to identify the calling application
- Renamed sc_destroy_context() to sc_release_context()


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@378 c6295689-39f2-0310-b995-f0e70906c6a9
2002-03-24 14:12:38 +00:00
okir ca2f725f05 - make sure SC_APDU_CHOP_SIZE is a multiple of 4 (otherwise, update binary
et al of large files will fail on the GPK)


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@318 c6295689-39f2-0310-b995-f0e70906c6a9
2002-03-13 20:24:31 +00:00
jey 23e956cf9b - Fixed PKCS #15 structure generation on Cryptoflex cards
and implemented a default profile
- Cryptoflex now reports its supported PK algorithms
  correctly
- Various pkcs15-init fixes


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@295 c6295689-39f2-0310-b995-f0e70906c6a9
2002-03-12 13:00:57 +00:00
okir cf795aa7b8 - exporting sc_update_dir to applications
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@292 c6295689-39f2-0310-b995-f0e70906c6a9
2002-03-11 14:12:46 +00:00
jey ae306cf06f - GPK now reports it's PK abilities correctly
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@286 c6295689-39f2-0310-b995-f0e70906c6a9
2002-03-10 11:48:57 +00:00
jey 7d2171c1d2 - Improved support for MioCOS cards
- Removed PKCS #15 creation from cryptoflex-tool
- Added PIN pad character option to profile.c


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@282 c6295689-39f2-0310-b995-f0e70906c6a9
2002-03-09 15:11:46 +00:00
jey 3416461c4b - Added X.509 algorithm id decoding and encoding to asn1.c
- Implemented a generic ATR matching helper function
- Made signing much smarter (should even work now)
- Added info about supported crypto algorithms to struct sc_card


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@276 c6295689-39f2-0310-b995-f0e70906c6a9
2002-03-08 05:59:57 +00:00
jey 4ac49d6e88 - intermediary checkin
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@249 c6295689-39f2-0310-b995-f0e70906c6a9
2002-03-01 11:52:55 +00:00
jey 4fa7283ae2 - added some missing files
- renamed card-setec.c to card-setcos.c


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@243 c6295689-39f2-0310-b995-f0e70906c6a9
2002-02-26 11:27:49 +00:00
jey 04dfc47d92 - added a driver for MioCOS cards by Miotec
- implemented EF(DIR) updating


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@242 c6295689-39f2-0310-b995-f0e70906c6a9
2002-02-26 11:23:25 +00:00
jey 3fa1b27736 - implemented reader abstraction layer; now it's easier to
add support for e.g. CT-API
- renamed ops_data field to drv_data in struct sc_card
- copied coding style document from Linux kernel


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@221 c6295689-39f2-0310-b995-f0e70906c6a9
2002-02-24 19:32:14 +00:00
jey d2a36c88fd - added sc_update_binary(), sc_append_binary() and
sc_write_binary() with their corresponding ISO 7816-4
  reference functions


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@216 c6295689-39f2-0310-b995-f0e70906c6a9
2002-02-21 19:23:21 +00:00
jey e78dc96440 - added ATR for RSA SecurID 3100
- exported pkcs15_encode_* functions
- minor modification to sc_file_add_acl_entry()
- boosted up opensc-explorer
- added error(), warn() and fatal()
- implemented a generic PKCS #15 structure generation tool


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@215 c6295689-39f2-0310-b995-f0e70906c6a9
2002-02-21 18:53:23 +00:00
jey 61fc1f9327 - all instances struct sc_file should now be
dynamically allocated with sc_file_new() and released
  with sc_file_free()
- improved ACL's
- moved struct sc_card_error to opensc.h
- moved EF(DIR) parsing and encoding to dir.c
  (encoding is not working yet)
- removed hst-test.c and filetest.c


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@213 c6295689-39f2-0310-b995-f0e70906c6a9
2002-02-20 09:56:47 +00:00
jey 262e5c2083 - added error reporting for several new SWs
- added check_sw function to sc_card_operations


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@211 c6295689-39f2-0310-b995-f0e70906c6a9
2002-02-15 23:17:58 +00:00
jey 709727d469 - added partial support for TCOS 2.0 cards
- default card driver now tries to do a GET RESPONSE
  instead of SELECT FILE to detect the correct
  CLA byte
- moved security attribute parsing from iso7816.c to card-setec.c
- added some more sanity checking to sc_check_apdu
- added 'debug' command line option to opensc-explorer


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@210 c6295689-39f2-0310-b995-f0e70906c6a9
2002-02-11 15:55:34 +00:00
jey b4063302bf - added partial support for GPK 4000
- made line parsing in opensc-explorer saner
- moved change_reference_data and reset_retry_counter to
  iso7816.c, where they belong
- added partial libreadline support to opensc-explorer


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@206 c6295689-39f2-0310-b995-f0e70906c6a9
2002-02-10 18:04:03 +00:00
jey 1fb23e7623 - added support for T=1 protocol
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@201 c6295689-39f2-0310-b995-f0e70906c6a9
2002-01-28 21:04:53 +00:00
jey c1cac5f311 - bumped up version number in preparation of the new release
- unified PKCS #15 DF decoding
- added PKCS #15 file caching


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@191 c6295689-39f2-0310-b995-f0e70906c6a9
2002-01-24 16:02:54 +00:00
jey a016a59259 - added PKCS #15 structure generation to cryptoflex-tool
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@182 c6295689-39f2-0310-b995-f0e70906c6a9
2002-01-21 12:49:00 +00:00
jey d9792242cc - fixed a bug with file permissions in flex_create_file()
- added RSA signature generation with Cryptoflex cards
- improved security environment handling
- implemented cryptoflex-tool


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@177 c6295689-39f2-0310-b995-f0e70906c6a9
2002-01-20 21:20:09 +00:00
aet a8a31771f4 int error -> int sc_error, since it conflicts with error() and
results to compiler error with various compilers.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@172 c6295689-39f2-0310-b995-f0e70906c6a9
2002-01-17 12:04:14 +00:00
jey 54e5d23e93 - improved PKCS #15 generation
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@170 c6295689-39f2-0310-b995-f0e70906c6a9
2002-01-17 11:44:27 +00:00
jey 20adb4b39c - continued to improve PKCS #15 generation
- fixed a few problems in sc_set_security_env
- started to implement Better (tm) object handling for
  PKCS #15 objects


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@167 c6295689-39f2-0310-b995-f0e70906c6a9
2002-01-16 23:59:18 +00:00
jey 452b9d4193 - pretty much finished the DER encoder
- added delete and create file support for 'flex cards
- PKCS #15 DF's are now stored more flexibly; this makes
  adding new types of DF's (such as PuKDF's) easier
- added 'get' and 'put' commands to opensc-explorer


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@160 c6295689-39f2-0310-b995-f0e70906c6a9
2002-01-13 23:56:13 +00:00
jey 5c993e1136 - added PIN verification, file creation and file deletion to
opensc-explorer
- documented the core API a bit using doxygen


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@158 c6295689-39f2-0310-b995-f0e70906c6a9
2002-01-10 23:02:48 +00:00
jey 9dc7054919 - added preliminary ASN.1 encoding support
- modified ASN.1 decoding to make it easier to
  port decoder structures to the encoder
- fixed a recently introduced bug in card driver handling
- opensc-explorer will now allow only DF's to be cd'd into


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@156 c6295689-39f2-0310-b995-f0e70906c6a9
2002-01-10 12:33:56 +00:00
jey 269df3a6da - created opensc-explorer tool
- increased support for CryptoFlex cards


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@152 c6295689-39f2-0310-b995-f0e70906c6a9
2002-01-09 01:03:10 +00:00
jey 7ff4c4544c - added preliminary CryptoFlex 16k support
- added short names to card drivers
- moved various ISO 7816-9 functions to their correct places
- added write binary support
- renamed opensc-crypt to pkcs15-crypt
- split a part opensc-tool to pkcs15-tool


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@150 c6295689-39f2-0310-b995-f0e70906c6a9
2002-01-08 13:56:50 +00:00
jey 1a3e530f01 - finished removing sc- prefix from the .c files
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@149 c6295689-39f2-0310-b995-f0e70906c6a9
2002-01-07 18:32:13 +00:00
jey 9197babe53 - renamed sc_asn1_parse to sc_asn1_decode
- added capabilities and flags fields to struct sc_card
- added a mutex to sc_context for future use


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@148 c6295689-39f2-0310-b995-f0e70906c6a9
2002-01-07 18:23:34 +00:00
jey 5cdd262385 - some fixes to the PKCS #11 module
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@125 c6295689-39f2-0310-b995-f0e70906c6a9
2002-01-01 17:25:10 +00:00
aet 607271df53 Merges with SCIDI to help integrating build process with it
Remove some gcc specific flags from Makefile.am
Rename some header defines
size_t vs. int fixups
opensc.h: Define inline as null for other compilers than gcc, for now
Port pam_pkcs15 to compile for Solaris and HP-UX, untested
Fix compiler warnings

OpenSC now compiles cleanly for Tru64, AIX and HP-UX.

The only problem is the tools using getopt_long() (GNU extension),
to be fixed later..


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@120 c6295689-39f2-0310-b995-f0e70906c6a9
2001-12-30 21:17:34 +00:00
jey ad2e34cb6c - added preliminary support for EMV cards
- changed a few function prototypes
- implemented access control lists to files
- added sc_read_record() function
- updated the NEWS file


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@111 c6295689-39f2-0310-b995-f0e70906c6a9
2001-12-29 02:07:32 +00:00
jey 695ad01b28 - added preliminary EMV support
- made a few bug fixes relating to select_file operation


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@107 c6295689-39f2-0310-b995-f0e70906c6a9
2001-12-27 17:25:10 +00:00
jey 2b99f2df14 - added default driver for unidentified cards
- added select_file operation in Multiflex driver
- added 'list-drivers' command to opensc-tool
- moved stuff from opensc.h to sc-internal.h
- improved locking behaviour


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@106 c6295689-39f2-0310-b995-f0e70906c6a9
2001-12-25 20:45:48 +00:00
jey 9905a8dd8e - changed call convention of sc_select_file()
- begun to add support for Multiflex cards


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@100 c6295689-39f2-0310-b995-f0e70906c6a9
2001-12-22 23:51:12 +00:00
jey c344e28a92 - added card abstraction layer support
- pretty much finished migrating to new ASN.1 code
- changed call semantics for sc_select_file()
- moved functions around


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@89 c6295689-39f2-0310-b995-f0e70906c6a9
2001-12-22 20:43:09 +00:00
jey 0bba170d91 - LINT fixes
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@88 c6295689-39f2-0310-b995-f0e70906c6a9
2001-12-22 13:38:25 +00:00
jey c17ff3ebdf - continued improving ASN.1 decoding
- improved debug levels
- added some PC/SC Lite workarounds


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@87 c6295689-39f2-0310-b995-f0e70906c6a9
2001-12-21 23:34:47 +00:00
jey 41416437e5 - paving way for dynamic card modules
- fixed a few memory leaks


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@86 c6295689-39f2-0310-b995-f0e70906c6a9
2001-12-20 13:57:58 +00:00
jey 9989c11a6d - remembered ChangeLog
- moved some functions from sc.c to sc-iso7816-4.c
- added fancy colors to log output =)
- removed global sc_debug variable, moved it to sc_context
- fixed new ASN.1 code (possibly still unstable)


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@83 c6295689-39f2-0310-b995-f0e70906c6a9
2001-12-19 21:58:04 +00:00
jey 5e00917fcc - bumped version number up to 0.4.0
- improved ASN.1 decoding _lots_


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@80 c6295689-39f2-0310-b995-f0e70906c6a9
2001-12-16 18:46:32 +00:00
jey 0191d6c07d - paving way for version 0.3.5
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@77 c6295689-39f2-0310-b995-f0e70906c6a9
2001-12-15 01:29:51 +00:00
jey c46ac85a07 - improved logging facilities
- removed a few compiler warnings


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@69 c6295689-39f2-0310-b995-f0e70906c6a9
2001-12-13 21:19:11 +00:00
jey 683f561800 - removed config directory
- fixed compiling with C++
- added error SC_ERROR_CARD_RESET


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@65 c6295689-39f2-0310-b995-f0e70906c6a9
2001-12-08 15:27:40 +00:00
jey 06fc4565ba - fixed sc_pkcs15_change_pin()
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@62 c6295689-39f2-0310-b995-f0e70906c6a9
2001-12-02 19:21:46 +00:00
jey bc946d6bfe - added support for Base64 decoding
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@61 c6295689-39f2-0310-b995-f0e70906c6a9
2001-12-02 19:17:11 +00:00