Commit Graph

2524 Commits

Author SHA1 Message Date
aj
4ca4eba365 silence more warnings by gcc/sparse.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3189 c6295689-39f2-0310-b995-f0e70906c6a9
2007-06-21 13:58:38 +00:00
ludovic.rousseau
be309330e5 do not use global variables app_name, options and option_help so they
can be static


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3188 c6295689-39f2-0310-b995-f0e70906c6a9
2007-06-21 13:46:08 +00:00
aj
b0bc6df80c fix more warnings.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3187 c6295689-39f2-0310-b995-f0e70906c6a9
2007-06-21 13:38:16 +00:00
ludovic.rousseau
209ee45007 eidenv.c:55: attention : ‘option_help’ defined but not used
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3186 c6295689-39f2-0310-b995-f0e70906c6a9
2007-06-21 13:29:57 +00:00
ludovic.rousseau
41004ac438 initialize objs to NULL to avoid: pintest.c:83: attention : ‘objs’ may
be used uninitialized in this function


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3185 c6295689-39f2-0310-b995-f0e70906c6a9
2007-06-21 13:29:06 +00:00
ludovic.rousseau
2f66c5b87e correct a typo
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3184 c6295689-39f2-0310-b995-f0e70906c6a9
2007-06-21 13:20:45 +00:00
aj
0c604cb294 silence more warnings.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3183 c6295689-39f2-0310-b995-f0e70906c6a9
2007-06-21 12:58:57 +00:00
aj
c66889dc9e fix broken changes.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3182 c6295689-39f2-0310-b995-f0e70906c6a9
2007-06-21 12:14:50 +00:00
aj
de0ca91355 make sc_pkcs11_print_attrs non static.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3181 c6295689-39f2-0310-b995-f0e70906c6a9
2007-06-21 12:06:33 +00:00
aj
4f0329cd18 silence more gcc/sparse warnings.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3180 c6295689-39f2-0310-b995-f0e70906c6a9
2007-06-21 12:01:39 +00:00
aj
9c35397f50 revert change - is needed by pkcs15-syn.c
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3179 c6295689-39f2-0310-b995-f0e70906c6a9
2007-06-21 11:34:08 +00:00
aj
047ee1d73e fix more warnings found by gcc/sparse.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3178 c6295689-39f2-0310-b995-f0e70906c6a9
2007-06-21 11:07:00 +00:00
aj
4acfe6b096 fix compiler/sparse warnings.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3177 c6295689-39f2-0310-b995-f0e70906c6a9
2007-06-21 10:07:01 +00:00
aj
4cc1a50a49 Alessandro Premoli:
add support for reading, writing and deleting private (require cache_pins) and
public data objects in PKCS11. updated the pkcs11-tool and fixed a few
bugs in the code. Tested on an aladdin etoken.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3176 c6295689-39f2-0310-b995-f0e70906c6a9
2007-06-21 09:37:18 +00:00
aj
a4cd33e77f Douglas E. Engert:
Looking at framework-pkcs11.c, it looks like there is a bug in the handling of
auth_count, if there is more then one pin, and one of the pins is a
SC_PKCS15_PIN_FLAG_SO_PIN. 

The for loop at line 767 will add a slot for each non SO_PIN or UNBLOCKING_PIN.
But at line 812, the auth_count is still set to the number of pins, even though
the SO_PIN did not cause a new slot to be allocated and thus the test of
hide_empty_tokens will not be used. 

With the attached patch, I can get the expected behavior when hide_empty_tokens
= yes in the opensc.conf from pkcs11-tool -L, pkcs11-tool -O and pkcs11-tool -O
-l 

There is only 1 slot allocated, the pkcs11-tool -O shows all the public
objects, and pkcs11-tool -O -l (after PIN) shows all the objects, and Heimdal
PKINIT still runs. 

I still think that if two or more slots need to be allocated for multiple auth
pins, then all the public objects should be added to each. I have an additional
mod for this too. 

Since the cards I am working with only have 1 pin, the attached mods works for
me. Note it looks like the pkcs15-openpgp.c might also be affected by this
change as it defines two pins an auth pin and a SO_PIN, much like the PIV card
does.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3175 c6295689-39f2-0310-b995-f0e70906c6a9
2007-06-21 07:11:21 +00:00
aj
9946e237de Douglas E. Engert:
Major improvments in the PIV card modules: 
* OpenSC-0.11.2 only supported RSA 1K keys, the patch supports RSA 2K and 3K
  keys.
* The FASC-N in the CHUID object is used as the card serial number. 
* A PIV card may have additional objects. These can now be read by pkcs11-tool
  and pkcs15-tool. 
* The p15card-helper.c module is no longer used. The code to call the
  sc_pkcs15emu_* routines has been moved back into pkcs15-piv.c and uses
  existing OpenSC routines to parse the certificate to find the modulus_len. 
* pkcs15-piv.c will now get the modulus_len from the certificates to store into
  the emulated prvkey an pubkey objects as they are being created using the
  sc_pkcs15emu_* routines. 
* The caching code that was added to card-piv.c in 0.11.2 is disabled, as
  pkcs15-piv.c will cache the certificate using existing OpenSC routines. 
* piv-tool will now print a serial number. 
* The key-usage bits for prvkey and pubkey objects are set in pkcs15-piv.c 
* The PIV "9E" key was added. It is not a private object, and can be used
  without a PIN. It is used with the "Certificate for Card Authenticaiton". 
* When used with the OpenSSL engine to generate a certificate request, the
  public key saved by piv-tool during a "generate asymmetric key pair" card
  command can be read from a file pointed at by the environment variable
  PIV_9*_KEY. Where * is A, C, D or E. 
* In the card_atr section of opensc.conf, flags = 20; can be used to only show
  the PIV Authentication cert. This feature was in 0.11.1 but was dropped in
  0.11.2 when the p15card-helper.c was introduced.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3174 c6295689-39f2-0310-b995-f0e70906c6a9
2007-06-21 07:07:49 +00:00
aj
20985fcfdc Added the application name to logging to allow for easier debugging. Since a
lot of testing needed multiple applications to be running, it became important
to know what application was making each log entry. 
This was reported by Russell Larner <rlarner@rsasecurity.com> on 5/17/2007


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3173 c6295689-39f2-0310-b995-f0e70906c6a9
2007-05-25 20:10:34 +00:00
aj
6c324049e7 If a PKCS11 get attrribute failes for some reason, pkcs11-tool may return
garbage along with the error message. The attached patch to pkcs11-tool.c
initializes the type to 0 so the attribute will be 0 in case of an error.
by Douglas E. Engert


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3172 c6295689-39f2-0310-b995-f0e70906c6a9
2007-05-25 20:09:11 +00:00
aj
f065546ccd The framework-pkcs15 will filed the modulus in a certificate and copy it to a
pubkey or from apubkey to a privkey object. But it does not copy the
modulus_len. 

This patch will look at pub_info->modulus_len and prv_info->modulus_len and
copy the modulus_len while copying the modulus.  This will be used with the
pkcs15-piv code when it creates pub and priv objects, as it has no way other
then from the certificates to know the modulus_len.

By  Douglas E. Engert.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3171 c6295689-39f2-0310-b995-f0e70906c6a9
2007-05-25 20:06:59 +00:00
nils
a8908b8548 252 bytes work as well
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3170 c6295689-39f2-0310-b995-f0e70906c6a9
2007-05-13 15:43:22 +00:00
nils
dee4faea64 fix warning
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3169 c6295689-39f2-0310-b995-f0e70906c6a9
2007-05-13 09:32:13 +00:00
nils
37157f38ee bugfix: try to read at most 248 bytes
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3168 c6295689-39f2-0310-b995-f0e70906c6a9
2007-05-13 09:31:46 +00:00
nils
8135be4166 bugfix: avoid recursion
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3167 c6295689-39f2-0310-b995-f0e70906c6a9
2007-05-13 09:30:53 +00:00
aj
e3935077e1 enable pin caching by default.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3158 c6295689-39f2-0310-b995-f0e70906c6a9
2007-04-24 07:54:18 +00:00
aj
c3438ef4ff use 255/256 bytes as max_send/recv_size by default.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3155 c6295689-39f2-0310-b995-f0e70906c6a9
2007-04-24 07:52:27 +00:00
nils
1645684fd5 increase size of pin buffer
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3153 c6295689-39f2-0310-b995-f0e70906c6a9
2007-04-23 19:23:51 +00:00
nils
4199969461 authenticate if data object is protected
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3151 c6295689-39f2-0310-b995-f0e70906c6a9
2007-04-23 19:18:46 +00:00
nils
91109128c0 request at most for 256 bytes
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3149 c6295689-39f2-0310-b995-f0e70906c6a9
2007-04-15 17:26:42 +00:00
aj
c3fcd9f7dd Steve Jacobs: fix muscle driver.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3148 c6295689-39f2-0310-b995-f0e70906c6a9
2007-04-10 19:49:26 +00:00
nils
ef7d8ffa86 bugfix: don't use the size of a void pointer, thanks to Carl Przybylek <crprzyby@gmail.com>
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3146 c6295689-39f2-0310-b995-f0e70906c6a9
2007-04-01 17:03:08 +00:00
martin
d0a0103c70 Build a pkcs11 module with only one pin exposed to overcome issues described in #132. Closes #132
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3145 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-29 10:25:16 +00:00
martin
60b4570531 * Add support for SCARD_E_NO_READERS_AVAILABLE to describe errors like:
{{{
sc.c:201:sc_detect_card_presence: returning with: Unknown error
SCardGetStatusChange failed: 8010002e
}}}
 * When doing a reset with pcsc_reconnect do a cold reset instead a warm one to allow next change
 * Change the protocol force feature to change the protocol with a hard reset only when needed to prevent:
{{{
SCardConnect failed: 8010000f
card.c:228:sc_connect_card: returning with: Unknown error
}}}



git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3144 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-21 09:41:08 +00:00
martin
fa272faf68 Missing file
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3143 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-21 09:34:10 +00:00
martin
5dba203363 Make sure the right thing is always selected on the card by bypassing cache
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3142 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-21 09:33:40 +00:00
martin
62d2d6cbe0 Simplify esteid detection
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3141 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-21 09:32:36 +00:00
aj
e7d88163ea fix --serial option.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3139 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-18 17:55:15 +00:00
aj
38b9a8091f add missing header file to noinst_HEADERS.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3132 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-14 18:26:37 +00:00
aj
74610a8fdf Ian Young: use proper card type for acos5.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3131 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-13 23:10:54 +00:00
aj
25f8509fc1 Douglas E. Engert:
piv-tool needs openssl, so compile only if it is present.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3130 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-13 20:59:15 +00:00
aj
1ca622b7f7 Patch by Douglas E. Engert:
use c style comments and different header files (for mac os X?).


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3129 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-13 20:57:55 +00:00
aj
97f2569f14 Add acos5 driver by Ian Young.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3128 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-13 13:38:24 +00:00
aj
39b5c42397 test new chop size (256 bytes by default).
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3127 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-12 20:17:29 +00:00
aj
eab8ade2ec changes by Douglas E. Engert:
change the do_decompress* to sc_decompress* and the initialize_* to
sc_pkcs15emu_initialize_* in the new code.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3126 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-12 20:15:39 +00:00
aj
c6954a9c33 full piv update by Thomas harning Jr. and David E. Engert,
adding compression etc. Also enables opensc to be compiled
with and without zlib support.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3125 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-10 10:46:32 +00:00
vtarasov
d7758e6c05 after Douglas Engert's remarks on the coding style
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3123 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-07 12:39:52 +00:00
vtarasov
9e33d45edb some ACLs was forgotten; i compute_signature() le should not be more then 256
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3122 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-07 09:38:01 +00:00
vtarasov
7ce5aa3b13 change inappropriate oberthur profile
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3121 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-05 17:30:35 +00:00
ludovic.rousseau
282000fbae update Giuseppe Amato email at his request (he is no more working for ST
Incard srl)


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3120 c6295689-39f2-0310-b995-f0e70906c6a9
2007-03-03 20:24:55 +00:00
martin
1a26ba3d66 Include files from [3113]
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3119 c6295689-39f2-0310-b995-f0e70906c6a9
2007-02-09 11:08:11 +00:00
ludovic.rousseau
45f5fcea0e comment out static and unused functions (sc_pkcs15init_read_unusedspace,
sc_pkcs15init_update_unusedspace, merge_paths,
sc_pkcs15init_add_unusedspace and sc_pkcs15init_remove_unusedspace)


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3118 c6295689-39f2-0310-b995-f0e70906c6a9
2007-02-06 14:29:45 +00:00