Commit Graph

174 Commits

Author SHA1 Message Date
Frank Morgner b44c98e4d8 asn1: fixed parsing "end of content"
fixes #190
2015-07-28 09:10:54 +02:00
Frank Morgner bcb5fc15e5 honour HAVE_CONFIG_H 2015-04-22 23:55:33 +02:00
Viktor Tarasov 2abe135f97 asn1: re-fix error in EC signature encode helper
see comment for 8cf99a9372
2015-03-07 22:40:43 +01:00
Viktor Tarasov 8cf99a9372 asn1: fix error in EC signature encode helper
The raw format of EC signature was invalid when 'r' and 's' had different length.
https://github.com/OpenSC/OpenSC/pull/381#issuecomment-77016382

According to PKCS#11 v2.20:
"If r and s have different octet length, the shorter of both must
be padded with leading zero octets such that both have the same octet length."
2015-03-04 19:43:15 +01:00
Frank Morgner 236e68b17c fixed NULL dereference 2015-02-20 19:54:40 +01:00
Viktor Tarasov 80c496671f helper functions to change format of ECDSA signature 2015-02-20 14:20:19 +01:00
Viktor Tarasov fa923831f8 introduce EC curve OID into algorithm info data
needed to store information about EC curve supported by card.
Primary usage is when importing/generating key to get know if particular curve is supported by card.
2015-02-20 13:49:18 +01:00
Philip Wendland 7e7a44acff sc_asn1_put_tag - support larger tags
Enhance sc_asn1_put_tag to support larger tag names and larger tags.
Prior to this, sc_asn1_put_tag did only support tags with a length of at most 127 bytes and tag names of one byte.
2014-12-29 15:37:45 +01:00
Frank Morgner a64326e768 fixed compiler warnings (partially submitted)
Signed-off-by: Frank Morgner <morgner@informatik.hu-berlin.de>

PR-222: commit 0b567dbaa8
partially submitted by Viktor Tarasov
2014-05-03 21:47:15 +02:00
Viktor Tarasov f641ebd248 fixed errors reported by cppcheck: part 1
partially applied the pull request #182 from Frank Morgner -- updated the common frameworks source files
2013-09-29 20:28:45 +02:00
Viktor Tarasov 58b4304957 libopensc: 'init', 'format', 'compare', 'is-valid' OID procedures
In a reason of number of bugs(*) that concern the OID management,
the general usage OID procedures 'init', 'format', 'compare', 'is-valid' are introduced.
These procedures should be used by all actors: libopensc, pkcs15, pkcs11, tools, ....

(*)
This bug reported by Andreas Schwier :
8e75d971cb (commitcomment-1792477)

In pkcs15-algo sc_asn1_get_algorithm_info() can return the OID without ending '-1's:
https://github.com/OpenSC/OpenSC/blob/staging/src/libopensc/pkcs15-algo.c#L452
https://github.com/OpenSC/OpenSC/blob/staging/src/libopensc/pkcs15-algo.c#L459
2012-09-06 10:47:29 +02:00
Viktor Tarasov 0518ced8e0 asn1: export 'asn1-write-element' function
... used by OpenPGP driver
2012-07-29 13:09:00 +02:00
Viktor Tarasov 6337149ef7 pkcs15: decode 'seInfo', 'profileIndication', 'lastUpdate'
Encode,decode  'lastUpdate', 'seInfo', 'profileIndication' of TokenInfo (CIAInfo).
Trailing whitespaces.
2012-05-30 09:03:27 +02:00
vtarasov ce79a61d30 tools: print value of 'BOOLEAN' asn1 type
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5446 c6295689-39f2-0310-b995-f0e70906c6a9
2011-05-16 08:32:07 +00:00
vtarasov 8e75d971cb asn1: when encoding the OID, make sure that unused part of input data is properly initialized
it's a supplement to r5355. 


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5429 c6295689-39f2-0310-b995-f0e70906c6a9
2011-05-08 07:59:16 +00:00
vtarasov 38103c64cf pkcs15: new function to encode an OID in DER format
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5380 c6295689-39f2-0310-b995-f0e70906c6a9
2011-04-21 14:12:03 +00:00
vtarasov 669a10572a asn1: now sc_der_copy() returns int value
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5379 c6295689-39f2-0310-b995-f0e70906c6a9
2011-04-21 13:46:28 +00:00
andre 90ffef6dc9 asn1.c: Check boundaries __before__ accessing memory.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5361 c6295689-39f2-0310-b995-f0e70906c6a9
2011-04-18 12:29:47 +00:00
vtarasov caf3789439 asn1: in encode-object-id procedure do not stop on zero -- it's a valid value
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5355 c6295689-39f2-0310-b995-f0e70906c6a9
2011-04-17 18:39:01 +00:00
andre d3215b67df asn1.c: Avoid warnings:
asn1.c:747: warning: comparison between signed and unsigned
asn1.c:785: warning: comparison between signed and unsigned


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5297 c6295689-39f2-0310-b995-f0e70906c6a9
2011-04-06 15:06:02 +00:00
ludovic.rousseau 9906e5af66 Remove dead code
asn1.c:1321:3: warning: Value stored to 'r' is never read
                r = 0;
                ^   ~


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5155 c6295689-39f2-0310-b995-f0e70906c6a9
2011-02-05 21:03:28 +00:00
vtarasov 71bfc87282 asn1: spelling of the debug messages
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5090 c6295689-39f2-0310-b995-f0e70906c6a9
2011-01-13 15:06:12 +00:00
vtarasov 66412d6e53 asn1: accept long tag ...
According to X.690-0207 ch.8.1.2.4


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5088 c6295689-39f2-0310-b995-f0e70906c6a9
2011-01-13 13:59:22 +00:00
vtarasov fa9ed3add0 asn1: invalid detection of AID presence in ASN1 path data
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5078 c6295689-39f2-0310-b995-f0e70906c6a9
2011-01-10 10:44:52 +00:00
vtarasov 40cb9c99b8 asn1: decode 'extendedPath'
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5077 c6295689-39f2-0310-b995-f0e70906c6a9
2011-01-09 17:25:09 +00:00
vtarasov 65cd456256 opensc-explorer: print raw content of 'CONTEXT' tag
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5058 c6295689-39f2-0310-b995-f0e70906c6a9
2011-01-07 15:47:58 +00:00
vtarasov e600a1e0ac opensc-explorer: in 'asn1' command print raw content of the ASN1_APPLICATION data
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5055 c6295689-39f2-0310-b995-f0e70906c6a9
2011-01-07 09:00:39 +00:00
vtarasov 0761a61a65 libopensc: use 'struct sc_aid' instead of 'u8 *aid, size_t aid_len'
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5048 c6295689-39f2-0310-b995-f0e70906c6a9
2011-01-05 15:42:36 +00:00
vtarasov 4b5bc9900c libopensc: asn1: allow empty path
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5022 c6295689-39f2-0310-b995-f0e70906c6a9
2011-01-02 14:14:24 +00:00
ludovic.rousseau f47416d60e Do not cast the return value of malloc(3) and calloc(3)
From http://en.wikipedia.org/wiki/Malloc#Casting_and_type_safety
" Casting and type safety

malloc returns a void pointer (void *), which indicates that it is a
pointer to a region of unknown data type. One may "cast" (see type
conversion) this pointer to a specific type, as in

int *ptr = (int*)malloc(10 * sizeof (int));

When using C, this is considered bad practice; it is redundant under the
C standard. Moreover, putting in a cast may mask failure to include the
header stdlib.h, in which the prototype for malloc is found. In the
absence of a prototype for malloc, the C compiler will assume that
malloc returns an int, and will issue a warning in a context such as the
above, provided the error is not masked by a cast. On certain
architectures and data models (such as LP64 on 64 bit systems, where
long and pointers are 64 bit and int is 32 bit), this error can actually
result in undefined behavior, as the implicitly declared malloc returns
a 32 bit value whereas the actually defined function returns a 64 bit
value. Depending on calling conventions and memory layout, this may
result in stack smashing.

The returned pointer need not be explicitly cast to a more specific
pointer type, since ANSI C defines an implicit conversion between the
void pointer type and other pointers to objects. An explicit cast of
malloc's return value is sometimes performed because malloc originally
returned a char *, but this cast is unnecessary in standard C
code.[4][5] Omitting the cast, however, creates an incompatibility with
C++, which does require it.

The lack of a specific pointer type returned from malloc is type-unsafe
behaviour: malloc allocates based on byte count but not on type. This
distinguishes it from the C++ new operator that returns a pointer whose
type relies on the operand. (see C Type Safety). "

See also
http://www.opensc-project.org/pipermail/opensc-devel/2010-August/014586.html


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@4636 c6295689-39f2-0310-b995-f0e70906c6a9
2010-08-18 15:08:51 +00:00
viktor.tarasov 006c30c2e0 #245: pkcs15 asn1: 'subjectName' in 'commonPrivateKeyAttributes' is optional
thanks to Jean-Michel


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@4518 c6295689-39f2-0310-b995-f0e70906c6a9
2010-07-08 08:09:46 +00:00
viktor.tarasov 3a3c41a6db pkcs15: encode/decode 'AccessControlRules' in 'CommonObjectAttributes'
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@4515 c6295689-39f2-0310-b995-f0e70906c6a9
2010-07-06 09:09:04 +00:00
viktor.tarasov b78d7630e7 pkcs15: encode/decode 'subjectName' in 'CommonPrivateKeyAttributes'
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@4512 c6295689-39f2-0310-b995-f0e70906c6a9
2010-07-05 13:29:10 +00:00
martin 68f12c881d Fix a segfault leftover from r4118
Thanks to Andre Zepezauer for the report and patch.

git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@4391 c6295689-39f2-0310-b995-f0e70906c6a9
2010-05-31 16:49:55 +00:00
ludovic.rousseau 0c77a52f37 Remove 2 ugly casts and fix warnings
asn1.c: In function ‘asn1_decode_entry’:
asn1.c:979: warning: dereferencing type-punned pointer will break strict-aliasing rules
asn1.c: In function ‘asn1_encode_entry’:
asn1.c:1263: warning: dereferencing type-punned pointer will break strict-aliasing rules


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@4207 c6295689-39f2-0310-b995-f0e70906c6a9
2010-04-02 13:12:53 +00:00
viktor.tarasov f75f539a6f libopensc: export 'sc_asn1_encode_object_id'
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@4142 c6295689-39f2-0310-b995-f0e70906c6a9
2010-03-22 14:14:51 +00:00
aj 6545b42c02 cleanup of the debug code:
* reduce to a few, supported functions.
* change all functions to take the debug level as parameter.
* use symbolic names for the debug levels.
* fix tools to pass "verbose"/"opt_debug" as ctx->debug.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@4118 c6295689-39f2-0310-b995-f0e70906c6a9
2010-03-15 12:17:13 +00:00
aj d22a2483c0 Header file cleanup.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@4081 c6295689-39f2-0310-b995-f0e70906c6a9
2010-03-04 08:14:36 +00:00
viktor.tarasov 935b0740e4 libopensc: remove not used function
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@4006 c6295689-39f2-0310-b995-f0e70906c6a9
2010-02-09 13:53:27 +00:00
aj f0484968a9 merge changes 0.11.11 -> 0.11.12
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3899 c6295689-39f2-0310-b995-f0e70906c6a9
2009-12-18 13:33:03 +00:00
martin d672fde449 Remove sc_error and sc_ctx_suppress_errors_* in favor of sc_debug/fprintf
git-svn-id: https://www.opensc-project.org/svnp/opensc/branches/martin/0.12@3721 c6295689-39f2-0310-b995-f0e70906c6a9
2009-09-14 08:46:59 +00:00
alonbl c862f88ce7 SIGSEGV print_tags_recursive - fix
Patch opensc-0.11.4.trunk-r3502-fix-segv_print_tags_asn1.diff (for trunk
trunk revision 3502) is draft.


Example 1 (SIGSEGV):

OpenSC Explorer version 0.11.4-svn
OpenSC [3F00]> cd ff00
OpenSC [3F00/FF00]> asn1 0001
Printing tags for buffer of length 512
[Switching to Thread -1211906368 (LWP 25131)]

By Aktiv Co. Aleksey Samsonov



git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3504 c6295689-39f2-0310-b995-f0e70906c6a9
2008-04-29 06:11:34 +00:00
ludovic.rousseau 9740726f16 sc_asn1_decode_integer/asn1_encode_integer: correctly manage negative
numbers and some positive numbers like 128


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3401 c6295689-39f2-0310-b995-f0e70906c6a9
2008-02-29 15:37:46 +00:00
aj d59917cd21 asn1_decode_entry() allocates (objlen - 1) bytes for SC_ASN1_UTF8STRING
types with SC_ASN1_ALLOC flag, then calls the sc_asn1_decode_utf8string()
function which then fails with BUFFER TOO SMALL cause it wants to end the
string with an extra NULL.

allocation size was supposed to be objlen + 1.

Patch by Gürer Özen


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3225 c6295689-39f2-0310-b995-f0e70906c6a9
2007-07-20 12:30:59 +00:00
aj b3ad2f9dd2 convert to utf-8.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3084 c6295689-39f2-0310-b995-f0e70906c6a9
2006-12-19 21:31:17 +00:00
nils 01f72933af add support to parse the seInfo TokenInfo entry, improve aid support in opensc-explorer
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3045 c6295689-39f2-0310-b995-f0e70906c6a9
2006-10-30 18:51:48 +00:00
nils fdd0baa633 bugfix: return error if OID is invalid
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2986 c6295689-39f2-0310-b995-f0e70906c6a9
2006-07-11 22:25:45 +00:00
aj 7ffd0f1d79 remove dead code.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2902 c6295689-39f2-0310-b995-f0e70906c6a9
2006-04-26 10:01:52 +00:00
nils 8494d9cfde add support for two byte tags in sc_asn1_find_tag() + normalize return value
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2839 c6295689-39f2-0310-b995-f0e70906c6a9
2006-02-12 18:29:52 +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 59cae4140b fix compiler warnings
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2585 c6295689-39f2-0310-b995-f0e70906c6a9
2005-09-12 21:09:12 +00:00
nils 9ca1bc2a09 remove unused internal function
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2534 c6295689-39f2-0310-b995-f0e70906c6a9
2005-09-04 08:57:17 +00:00
nils eec0e22b03 de-/encode printable strings as well
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2514 c6295689-39f2-0310-b995-f0e70906c6a9
2005-08-24 08:00:44 +00:00
nils f8d6634339 set obj to NULL to avoid double free in case of an error
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2479 c6295689-39f2-0310-b995-f0e70906c6a9
2005-08-10 21:00:52 +00:00
nils 45a9d05830 cleanup, mostly signed/unsigned issues
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2469 c6295689-39f2-0310-b995-f0e70906c6a9
2005-08-08 10:22:14 +00:00
nils ed3ba0231e improve generalizedTime support + more cleanup
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2464 c6295689-39f2-0310-b995-f0e70906c6a9
2005-08-05 07:28:20 +00:00
nils d67389dfd6 bools are int; pointed out by William Wanders <william@wanders.org>
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2288 c6295689-39f2-0310-b995-f0e70906c6a9
2005-03-30 16:40:01 +00:00
pisi a1ffc6b72e Space cleanups
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2234 c6295689-39f2-0310-b995-f0e70906c6a9
2005-03-09 10:47:01 +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
sth 90e967d042 Fix: stop parsing at the end of the file, not when finding padding bytes
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2103 c6295689-39f2-0310-b995-f0e70906c6a9
2005-01-27 21:35:23 +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 ebf6c8ecfa fix type, found by T.Fujita <fujita@ouk.jp>
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2043 c6295689-39f2-0310-b995-f0e70906c6a9
2004-12-23 10:49:10 +00:00
nils 9953d0b21d fix some compiler warnings
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1905 c6295689-39f2-0310-b995-f0e70906c6a9
2004-09-20 09:47:35 +00:00
nils 0464df9235 fix ASN1 NULL handling and avoid malloc(0)
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1862 c6295689-39f2-0310-b995-f0e70906c6a9
2004-07-23 16:11:23 +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
aet 7d3fc55736 - Minor build and C++ warning fixes
- pkcs15init: Use u8 for pin variable
  declarations like libopensc does


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1686 c6295689-39f2-0310-b995-f0e70906c6a9
2003-12-18 21:37:34 +00:00
okir 8ed95baff1 - Updated previous patch
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1675 c6295689-39f2-0310-b995-f0e70906c6a9
2003-12-16 11:04:01 +00:00
sth 6b66973692 Prevent running off the end of the buffer if the asn.1 is invalid (Chaskiel G.)
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1674 c6295689-39f2-0310-b995-f0e70906c6a9
2003-12-16 08:01:36 +00:00
okir 3c89fc8edb - improved support for CHOICE
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1642 c6295689-39f2-0310-b995-f0e70906c6a9
2003-11-26 15:35:17 +00:00
okir 12386d65c9 - When encoding a path, either encode _neither_ index/count, or both.
- Added new functions sc_der_copy, sc_der_clear to handle DER blobs
- Somewhat improved debug output


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1609 c6295689-39f2-0310-b995-f0e70906c6a9
2003-11-19 20:22:52 +00:00
okir 6e9412cd98 - When encountering the end of a SEQUENCE, while there should be
more items, we used to return SC_ERROR_ASN1_END_OF_CONTENTS.
  That error code is reserved for the real end of content markers
  though. Changed the return code to SC_ERROR_ASN1_OBJECT_NOT_FOUND


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1572 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-30 11:38:05 +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
okir 2fd5b30f1a - added missing newline to error msg
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1396 c6295689-39f2-0310-b995-f0e70906c6a9
2003-08-28 12:51:33 +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
okir 3c88da0d81 - Do not barf on empty SEQUENCEs if all elements inside are OPTIONAL
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1386 c6295689-39f2-0310-b995-f0e70906c6a9
2003-08-21 05:39:51 +00:00
sth aecd987286 Add support for non-optional ASN.1 object that are empty
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1195 c6295689-39f2-0310-b995-f0e70906c6a9
2003-06-12 21:14: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
sth 9213f6c5cc Removed some compiler warnings
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1079 c6295689-39f2-0310-b995-f0e70906c6a9
2003-04-29 09:27:36 +00:00
aj a6e7fa3af9 Nils fixed asn1 code to detect two byte "file name" versus
longer real paths.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1077 c6295689-39f2-0310-b995-f0e70906c6a9
2003-04-28 16:29:57 +00:00
aj 1c121b1430 Only look at first byte for end of data detection.
That way not only 0,0 and ff,ff is recognized
and 0,ff,ff,ff... will not cause trouble.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1073 c6295689-39f2-0310-b995-f0e70906c6a9
2003-04-27 15:05:03 +00:00
okir 98907b68f1 - fixed endianness problem with encoding/deconding of bit fields
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1034 c6295689-39f2-0310-b995-f0e70906c6a9
2003-04-16 20:52:26 +00:00
okir 542e12deb3 - pubkey asn.1 encoding fix
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@893 c6295689-39f2-0310-b995-f0e70906c6a9
2003-02-03 12:17:12 +00:00
okir 693c5e6b8b - do not encode zero length sequences
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@870 c6295689-39f2-0310-b995-f0e70906c6a9
2003-01-20 09:53:10 +00:00
okir 6df8dbbed3 - fixed asn1_encode_path - include length value if given
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@740 c6295689-39f2-0310-b995-f0e70906c6a9
2002-12-04 09:24:49 +00:00
okir fcfbeb1845 - When decoding Path, decode "length" value as well (if present)
- a few int -> size_t changes to suppress gcc3 warnings.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@731 c6295689-39f2-0310-b995-f0e70906c6a9
2002-12-02 13:38:09 +00:00
jey 21a82c17b8 - Renamed read_tag to sc_asn1_read_tag and made it a
non-static function


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@679 c6295689-39f2-0310-b995-f0e70906c6a9
2002-08-21 10:02:55 +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 2b433941dd Build fix for previous commit
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@610 c6295689-39f2-0310-b995-f0e70906c6a9
2002-05-27 06:41:21 +00:00
jey 7c94d7d8d3 - Several patches to fix behaviour on 64-bit architectures (by
Jochen Friedrich)
- Fixed one bug in sc_copy_asn1_entry(), one in
  sc_pkcs15init_add_object() and one in pkcs15-crypt
  (patches also by Jochen)


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@609 c6295689-39f2-0310-b995-f0e70906c6a9
2002-05-26 12:31:23 +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 79d0902155 - fix for decoding CHOICE
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@551 c6295689-39f2-0310-b995-f0e70906c6a9
2002-04-17 20:43:12 +00:00
aet 0e24215b1f Minor warning fixes
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@544 c6295689-39f2-0310-b995-f0e70906c6a9
2002-04-17 13:13:44 +00:00
okir a5dd0dbb99 - support NULL tag for encoding/decoding
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@542 c6295689-39f2-0310-b995-f0e70906c6a9
2002-04-17 12:19:57 +00:00
okir f49cb6b0f1 - implemented encoding of OBJECT IDENTIFIER
- enhanced support for encoding/decoding of CHOICE
- moved encoding/decoding of AlgorithmIdentifier to separate file,
  and added encoding/decoding of algorithm parameters


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@526 c6295689-39f2-0310-b995-f0e70906c6a9
2002-04-17 08:54:36 +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 d81d10ba90 Upgrade sources to use new headers, part #1
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@458 c6295689-39f2-0310-b995-f0e70906c6a9
2002-04-05 10:44:51 +00:00
jey 2b49129311 - DER decoder now treats 0xFF tags the same way as 0x00 tags
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@448 c6295689-39f2-0310-b995-f0e70906c6a9
2002-04-04 20:38:09 +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 6b07ff64f6 - Reworked PKCS #15 structure a bit (MANY THINGS
WILL BREAK)
- Added support for public key DFs (not tested yet)


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@251 c6295689-39f2-0310-b995-f0e70906c6a9
2002-03-03 00:32:28 +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