Commit Graph

133 Commits

Author SHA1 Message Date
nils e2dea71ad4 restore backward compatibility: try READ BINARY in case of a unknown file type
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3039 c6295689-39f2-0310-b995-f0e70906c6a9
2006-10-02 16:49:26 +00:00
ludovic.rousseau 4a296307ac c_asn1_ddo[]: the oid field of the DDO is not mandatory in ISO 7816-15
See
http://www.opensc-project.org/pipermail/opensc-devel/2006-October/009022.html


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3038 c6295689-39f2-0310-b995-f0e70906c6a9
2006-10-02 13:46:00 +00:00
ludovic.rousseau 1ac9b2aba1 sc_pkcs15_make_absolute_path(): a 0 length path stays a 0 length pat
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3032 c6295689-39f2-0310-b995-f0e70906c6a9
2006-09-27 12:02:02 +00:00
henryk b45617c451 Make absolute paths from all paths read from the PKCS#15 directories by prepending the DF(PKCS#15) path if necessary.
Fixes compatibility with Siemens HiPath SIcurity formatted cards which use relative paths.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3028 c6295689-39f2-0310-b995-f0e70906c6a9
2006-09-26 10:55:02 +00:00
henryk 12c6b11bdd Fix handling for SIMPLE-TLV records with a three-byte length
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3027 c6295689-39f2-0310-b995-f0e70906c6a9
2006-09-26 10:43:28 +00:00
henryk 325b9480ea opensc-siemens.diff
Adds support for record-oriented files in linear variable, simple-tlv format.
TODO: Add support for all the other file formats, too.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3026 c6295689-39f2-0310-b995-f0e70906c6a9
2006-09-26 10:36:35 +00:00
henryk 5a0e1849d5 Make do { ... } while (...); into while (...) { ... };.
Fixes behaviour with empty files.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3025 c6295689-39f2-0310-b995-f0e70906c6a9
2006-09-26 10:31:03 +00:00
nils f087a937ff implement workaround for the Taiwanese id card
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3024 c6295689-39f2-0310-b995-f0e70906c6a9
2006-09-24 14:05:06 +00:00
nils d502887f55 bugfixes ...
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2995 c6295689-39f2-0310-b995-f0e70906c6a9
2006-07-13 20:35:17 +00:00
nils 9a5bf3602d initialize pointer
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2994 c6295689-39f2-0310-b995-f0e70906c6a9
2006-07-13 19:59:23 +00:00
aj 6287cf4d9b replace static buffer with dynamically allocated buffer.
patch by Tomasz Lemiech to fix a problem with setec cards.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2983 c6295689-39f2-0310-b995-f0e70906c6a9
2006-07-05 19:45:53 +00:00
aj 7dd7df4e7c Tomasz Lemiech wrote: I found that struct c_asn1_odf[] in pkcs15.c does not
define secretKeys object (as specified in PKCS#15 v. 1.1 standard, par. 6.2).
I consider this to be an omission. My Setec card contains objects of this type
and all PKCS#15 operations fail with "Unable to parse ODF". Attached patch
fixes this issue. 


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2982 c6295689-39f2-0310-b995-f0e70906c6a9
2006-07-05 19:36:26 +00:00
ludovic.rousseau 2b8a2f4d90 sc_pkcs15_parse_tokeninfo() and sc_pkcs15_encode_tokeninfo() now use a
(sc_pkcs15_tokeninfo_t *) instead of struct (sc_pkcs15_card *)


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2872 c6295689-39f2-0310-b995-f0e70906c6a9
2006-03-07 07:22:58 +00:00
martin 723888d623 Negative r has a meaning in the cached file logic, so be sure to reset it to -1
after sc_print_path has returned a value.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2819 c6295689-39f2-0310-b995-f0e70906c6a9
2006-01-23 17:29:59 +00:00
nils e8c05ca648 use more opensc specific names for ASN.1 tags to avoid name conflicts
with other ASN.1 libraries


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2815 c6295689-39f2-0310-b995-f0e70906c6a9
2006-01-20 20:52:36 +00:00
nils de4b5c280f - implement thread-safe path printing function sc_path_print() and use
it src/libopensc/ and src/pkcs15init/
- use size_t for the certlen parameter of sc_pkcs15init_update_certificate()


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2811 c6295689-39f2-0310-b995-f0e70906c6a9
2006-01-11 23:41:17 +00:00
nils ced2df6b1a remove unused variables
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2772 c6295689-39f2-0310-b995-f0e70906c6a9
2005-12-17 21:52:53 +00:00
sth 9df2cde416 Add support for reading and writing from/to an EF(UnusedSpace) file; this functionality can be used for deleting and creating pkcs15 objects (that reside in a file)
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2769 c6295689-39f2-0310-b995-f0e70906c6a9
2005-12-17 19:53:12 +00:00
aj 686297304a check if scconf_find_blocks returned NULL.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2713 c6295689-39f2-0310-b995-f0e70906c6a9
2005-12-05 21:37:59 +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 c7a8e84caf suppress errors in pkcs15 card detection if we don't know whether we really have a pkcs15 card
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2640 c6295689-39f2-0310-b995-f0e70906c6a9
2005-10-08 11:08:34 +00:00
aj ff62b88e1c big configure update.
use pkg-config for openct, openssl, pcsc.
do not compilke libp11. do not compile sslengines.
remove scdl. use libltdl instead.
use libassuan.m4 macro for m4 detection.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2528 c6295689-39f2-0310-b995-f0e70906c6a9
2005-09-01 14:01:58 +00:00
nils 9cbac71de9 decode preferredLanguage field if present
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2517 c6295689-39f2-0310-b995-f0e70906c6a9
2005-08-24 15:54:43 +00:00
nils f855074c27 check result of sc_file_dup + some cleanup
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2499 c6295689-39f2-0310-b995-f0e70906c6a9
2005-08-19 17:56:56 +00:00
sth f43d52476e The lengths of the ASN.1 entries are used outside the if blocks -> declare them outside the blocks
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2494 c6295689-39f2-0310-b995-f0e70906c6a9
2005-08-18 13:55:36 +00:00
martin fc3048f55e Remove the (stupid) use_pinpad option from pkcs15 structures
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2482 c6295689-39f2-0310-b995-f0e70906c6a9
2005-08-13 13:04:02 +00:00
nils 44384eccbf - Initial support for TokenUpdate;;lastUpdate field. Change pkcs15 caching
code to use the card serial number and lastUpdate field (if present) to
  specify the cache file. 
- consistently use unsigned data types to specify object types
- make sc_pkcs15emu_get_df a local function (it's not used outside
  pkcs15-syn.c and honestly I see no reason to export it).
- start of a new ChangeLog file (with some intial entries)


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2466 c6295689-39f2-0310-b995-f0e70906c6a9
2005-08-05 16:24:35 +00:00
sth 37cd955055 Allow to seach a data object by it's application OID
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2457 c6295689-39f2-0310-b995-f0e70906c6a9
2005-08-03 09:05:09 +00:00
nils ac4dfc0e38 cleanup
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2292 c6295689-39f2-0310-b995-f0e70906c6a9
2005-04-04 21:52:31 +00:00
pisi b6f9aa561b A single flag for all pkcs15 layer applications to detect a) if pinpad is
present b) and if we should make use of it. Also remove the CCID specific
option for pinpad detection - if detected, the flag will anyway always be
set as it reflects the capabilities of the actual reader. Also, the
detection mechanism is changed to be crossplatform.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2236 c6295689-39f2-0310-b995-f0e70906c6a9
2005-03-09 11:45:29 +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 df5e357694 - Whitespace cleanup from me and Martin Paljak
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2181 c6295689-39f2-0310-b995-f0e70906c6a9
2005-02-11 20:09:34 +00:00
aet 4dae83f550 - A fix for ISO 7816-15 cards I'm playing with. No feedback
received about the patch, let's move on. The patch shouldn't
  affect any current behaviour.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2179 c6295689-39f2-0310-b995-f0e70906c6a9
2005-02-11 10:05:54 +00:00
nils a82a40e977 some cleanup + improved error checking
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2051 c6295689-39f2-0310-b995-f0e70906c6a9
2005-01-03 17:20:17 +00:00
nils 8673508a43 fix memory leak, cleanup: use object specific release method
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2024 c6295689-39f2-0310-b995-f0e70906c6a9
2004-12-18 14:14:57 +00:00
nils 4bb760db4d cleanup
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1960 c6295689-39f2-0310-b995-f0e70906c6a9
2004-10-29 20:08:54 +00:00
nils 5985415603 some cleanup: 'int' -> 'unsigned int' for flags, 'int' -> 'size_t'
for length + remove some compiler warnings


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1940 c6295689-39f2-0310-b995-f0e70906c6a9
2004-10-17 20:20:59 +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 f044157553 fix incorrect use of realloc (x = realloc(x, y) doesn't free
the x in case of a failure)


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1775 c6295689-39f2-0310-b995-f0e70906c6a9
2004-04-21 18:10:58 +00:00
aj 0b8ff3ce6a it is legal to read all bytes of the file (e.g. offset 0, len 10, fil->len 10).
Bug found by Antonio Iacono.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1758 c6295689-39f2-0310-b995-f0e70906c6a9
2004-03-28 20:30:58 +00:00
okir 13bf8814ef - in sc_pkcs15_read_file, properly destroy objects in case of error (Victor Tarasov)
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1709 c6295689-39f2-0310-b995-f0e70906c6a9
2004-01-06 13:40:52 +00:00
okir 1780e10bf2 - Somewhat improved debugging output
- sc_pkcs15_print_id changed to sprintf to a buffer rather than printing
  to stdout.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1612 c6295689-39f2-0310-b995-f0e70906c6a9
2003-11-19 20:30:44 +00:00
okir d91ecdc245 - Moved sc_pkcs15_bind_synthetic to a separate file
- Moved sc_pkcs15_print_card to ../tests/print.c
- added dll_handle and preferred_language fields to p15card


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1583 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-31 12:26:24 +00:00
okir d3d7664c11 - Changed the internal object search machinery quite a bit so it
can search for more than one type of object at the same time.
- When enumerating a DF as part of the search, no longer ignore all
  errors.
- When parsing a DF, SC_ERROR_ASN1_END_OF_CONTENTS really means
  we've just reached the end of data in the file, so return 0
  instead


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1573 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-30 11:43:21 +00:00
okir 9e70efba8a - sc_pkcs15_find_pin_by_reference now searches by reference and path
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1548 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-21 11:02:48 +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 3d283fd925 - fixed a bug in the previous patch
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1507 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-13 14:52:03 +00:00
okir 45e820cdac - added sc_pkcs15_find_prkey_by_reference
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1506 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-13 14:35:27 +00:00
aet 5616dba08e - Stop using unflexible automake conditionals when
building PC/SC, OpenCT or USBToken support,
  use ifdef's directly in source.
- Because of above, add HAVE_PCSCLITE for winconfig.h
- Remove unnecessary includes for log.h, opensc.h and
  errors.h in libopensc sources, they're already taken
  care by internal.h.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1406 c6295689-39f2-0310-b995-f0e70906c6a9
2003-09-03 09:28:55 +00:00
aet 763fc16704 Rename libopensc specific error/debug to sc_error/sc_debug
We should have done this ages ago.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1392 c6295689-39f2-0310-b995-f0e70906c6a9
2003-08-25 14:21:18 +00:00