Frank Morgner
881dca94ef
avoid memory leak when creating pkcs#15 files
2021-02-25 23:34:57 +01:00
Jakub Jelen
049b2a8754
pkcs15: Do not override tokeninfo in bind_internal
...
Thanks oss-fuzz
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28550
2021-01-06 14:15:06 +01:00
Jakub Jelen
3ffe24cfb6
pkcs15: Clean tokeninfo on parse errors to avoid memory leaks
...
Thanks oss-fuzz
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27779
2020-12-04 09:30:10 +01:00
Frank Morgner
480da424a5
fix possible infinite recursion ( #2151 )
...
fixes https://github.com/OpenSC/OpenSC/issues/2149
2020-11-25 09:27:28 +01:00
Jakub Jelen
b16a5cbee0
pkcs15: Free app info when allocating new and in cleanup
...
Thanks oss-fuzz
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=23746
2020-07-07 16:21:21 +02:00
Jakub Jelen
c82aa92687
pkcs15: Clean memory on alocation failure
2020-07-07 16:21:21 +02:00
Jakub Jelen
2d6de2510c
pkcs15: Drop bogus checks
2020-07-07 16:21:21 +02:00
Jakub Jelen
f49162af04
Avoid memory leaks when initializing tokeninfo in various drivers
...
Thanks oss-fuzz
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=22578
2020-06-09 13:02:27 +02:00
Doug Engert
c03efeee40
sc_supported_algo_info - Put ECDSA OID as inline
...
Mismatch of ASN1 parsing of tokeninfo.supported_algos[n].paramters
in one place parameter was treated as a pointer to sc_object_id
and in another as inline structure. This caused segfaults
in pkcs15-tool when it tried to print the OID.
Changes to be committed:
modified: src/libopensc/opensc.h
modified: src/libopensc/pkcs15.c
2020-05-09 23:59:51 +02:00
Doug Engert
3f21dc57b7
Increase SC_MAX_SUPPORTED_ALGORITHMS from 8 to 16
...
CardOS cards may have more then 8 supported_algo_info entries in tokenInfo.
We may bemissing some. We have seen 8 in some pkcs15-tool -i -v output.
Simple fix is to incrase the limit. More appropriate fix is to remove the limit,
much like is done with sc_algorithm_info. and use realloc of the array.
On branch cardos-5.3
Changes to be committed:
modified: src/libopensc/pkcs15-prkey.c
modified: src/libopensc/pkcs15-skey.c
modified: src/libopensc/pkcs15.c
modified: src/libopensc/types.h
2020-05-09 23:59:51 +02:00
Jakub Jelen
75be610ea0
pkcs15: Clean memory if it was not transfered to framework-pkcs15
2020-05-07 02:32:46 +02:00
Frank Morgner
ea2991ea69
fixed memory leak
...
also, use sc_file_free instead of free
fixes https://oss-fuzz.com/testcase-detail/4905082200260608
2020-02-10 10:17:16 +01:00
Jakub Jelen
424ebf8ed1
pkcs15: Avoid insane allocations
...
Thanks oss-fuzz
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18592
2019-10-31 02:18:36 +01:00
Jakub Jelen
6c7b4bed37
pkcs15*: Avoid null dereference from fuzzers
...
Thanks oss-fuzz.
Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18591
2019-10-31 02:17:44 +01:00
Jakub Jelen
6522df7587
pkcs15: Avoid null dereference in fuzzers
...
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16617
2019-10-25 20:22:40 +02:00
Jakub Jelen
532b06d07e
pkcs15: Avoid insane allocations
...
and use single max constant accross the code
https://oss-fuzz.com/testcase-detail/6314983763214336
2019-10-25 20:22:40 +02:00
Jakub Jelen
ff893d2224
pkcs15: Remove unused code
2019-10-22 09:22:59 +02:00
Frank Morgner
af8f965009
fixed memory leak
2019-07-26 15:23:02 +02:00
Frank Morgner
e28ada99fe
added parameter checking
2019-07-26 15:23:02 +02:00
Frank Morgner
755ac78a02
added fuzzing with libFuzzer and OSS-Fuzz
...
makes cmocka detection not required for building tests
2019-07-26 15:23:02 +02:00
Frank Morgner
94388f9538
fixed more clang-tidy warnings
2019-06-05 13:48:51 +02:00
Frank Morgner
71b85d15e4
opensc.conf: Configure handling of private_certificate
...
possible choices: ignore, protect, declassify
fixes https://github.com/OpenSC/OpenSC/issues/1430
2019-03-13 21:18:57 +01:00
Frank Morgner
d4f1decd15
Make sure card's strings are Nul terminated
...
Avoids out of bounds reads when using internal operations with the given string
2019-03-13 21:17:00 +01:00
Frank Morgner
7f7bcbff52
fixed misuse of realloc
...
calling it with size 0 leads to a free, which eventually may lead to a
double free corruption.
2019-01-30 21:57:59 +01:00
Frank Morgner
d806ee3245
fixed unsafe usage of gmtime
...
reported by lgtm
2019-01-20 23:02:21 +01:00
Hannu Honkanen
aa8f666f46
Removed unnecessary spaces from framework-pkc15.c as requested.
...
pkcs15: added explicit comparison when checking return value of sc_compare_oid() to make the logic more obvious.
2018-11-20 11:52:54 +01:00
Hannu Honkanen
7f91b6e07f
MyEID: add AES algorithms to tokenInfo as supported during init. It is better to do it already in init, because adding them in C_UnwrapKey operations would require SO-PIN which is inconvenient.
...
pkcs15: added function to get a specific supported algorithm, checking also OID.
This is needed because for AES there are different OIDs for each key length.
2018-11-20 11:52:54 +01:00
Hannu Honkanen
a2156da044
Fix encoding of SC_ASN1_CHOICE entry "parameters" in c_asn1_algorithm_info. Format only the selected entry of the choice.
2018-10-31 10:24:19 +02:00
Frank Morgner
ea6f7cfe1d
Added memory locking for secrets ( #1491 )
...
When caching a PIN in memory or using an OpenSSL private key this data should not be swapped to disk.
2018-10-10 14:52:01 +02:00
Frank Morgner
c463985fed
Removed code for obsolete cards from D-Trust ( #1261 )
2018-05-18 23:49:59 +02:00
Frank Morgner
5d7ed37246
Removed configuration option paranoid-memory
...
Don't pretend that we're capable of performing memory locking. The
implementation of that, `sc_mem_alloc_secure()` (also removed), was
almost unused anyway.
2018-05-18 12:46:51 +02:00
Frank Morgner
b403934718
PKCS#15: prevent use of empty serial number in TokenInfo
...
... and initialize the serial number with the card's serial number if
nothing useful is in EF.TokenInfo
2018-03-09 14:36:55 +01:00
Frank Morgner
87cdfcb08c
OpenPGP: Implemented "keep alive" command
2018-02-07 11:57:48 +01:00
Frank Morgner
4251a362b5
fixed potential memory leak
2017-11-09 12:42:29 +01:00
Frank Morgner
594e125f06
Added PKCS#15 emulator for DIN 66291 profile
2017-10-27 19:48:22 +02:00
Jakub Jelen
60dbebf511
Parse the ECC parameters from TokenInfo (CHOICE in AlgorithmInfo)
...
Fixes #1134
2017-09-02 00:19:35 +02:00
Frank Morgner
555671b54d
sc_read_binary may return less bytes than requested
...
Note, that there are a number of card drivers that still use
`sc_read_binary` in the wrong way. Unfortunately, I don't have the time
to go through all of them.
Fixes https://github.com/OpenSC/OpenSC/issues/1112
2017-08-27 21:21:00 +02:00
Timo Teräs
2632b616d9
Imporve SKDF decoding and implement encoding
...
- fixes decoding of SecretKeyAttributes
- adds support for algorithmReferences
- adds support for algIndependentKeys (PKCS#15 Generic keys)
- implements encoding of SKDF
2017-06-13 10:40:36 +02:00
Timo Teräs
2114dea687
pkcs15: fix commit 76d59158
auth object regressions
...
Few conversions of SC_PKCS15_TYPE_AUTH_PIN to SC_PKCS15_TYPE_AUTH
were missed.
2017-04-24 13:14:46 +02:00
Frank Morgner
6bfb39454b
Fix missing error handling of memory allocation ( #1020 )
...
* libopensc: handle allocation errors
* handle more faults during memory allocation
fixes several situations that cause segmentation fault
2017-04-20 21:08:49 +02:00
Frank Morgner
9d15326de1
fixed more coverity issues
2017-04-20 10:58:54 +02:00
Timo Teräs
76d59158fe
pkcs15: fix and simplify object type class comparisons
2017-04-13 12:49:13 +02:00
Frank Morgner
e7915ec198
replace assert with error handling
2017-04-04 09:11:35 +02:00
Michał Trojnara
645780e6d4
NULL parameter check moved to sc_file_free()
...
This fixes numerous issues where the check is *not* performed,
and also simplifies the code.
2017-01-10 12:46:44 +01:00
Frank Morgner
8efca4d6db
pkcs15: don't require-L for file caching
...
File caching is done transparently when the user sets the config option.
2016-07-24 17:19:18 +02:00
Frank Morgner
21fd6f0d95
libopensc: cache EF.ODF and EF.TokenInfo
2016-07-24 17:19:18 +02:00
Frank Morgner
72dda66be8
fixed possible loss of data
2016-06-14 14:57:08 +02:00
Viktor Tarasov
ca2c1c56c8
libopensc: sc_hex_to_bin() accepts hex string with length 1
...
fix issue #751
2016-05-12 09:58:28 +02:00
Viktor Tarasov
9ac4120594
pkcs15: 'aid' argument for emulator init
...
Allows to PKCS#15 emulator to bind more then one application
2016-04-08 10:48:58 +02:00
Viktor Tarasov
47eb21175c
p15: auxiliary data in prkey info data type
2016-04-08 10:48:58 +02:00