mbedtls/library
Gilles Peskine 4b7f340fbf Clean up status code handling inside psa_destroy_key
Adopt a simple method for tracking whether there was a failure: each
fallible operation sets overall_status, unless overall_status is
already non-successful. Thus in case of multiple failures, the
function always reports whatever failed first. This may not always be
the right thing, but it's simple.

This revealed a bug whereby if the only failure was the call to
psa_destroy_se_key(), i.e. if the driver reported a failure or if the
driver lacked support for destroying keys, psa_destroy_key() would
ignore that failure.

For a key in a secure element, if creating a transaction file fails,
don't touch storage, but close the key in memory. This may not be
right, but it's no wronger than it was before. Tracked in
https://github.com/ARMmbed/mbed-crypto/issues/215
2019-08-13 15:58:36 +02:00
..
.gitignore
aes.c Add further missing brackets around macro parameters 2019-02-19 17:59:57 +00:00
aesni.c
arc4.c
aria.c
asn1parse.c
asn1write.c Add new function mbedtls_asn1_write_named_bitstring() 2019-02-28 09:36:30 +00:00
base64.c
bignum.c Merge remote-tracking branch 'origin/pr/2405' into development 2019-04-05 14:08:49 +01:00
blowfish.c
camellia.c
ccm.c Merge remote-tracking branch 'origin/pr/2092' into development 2019-04-24 11:17:21 +01:00
chacha20.c Improve macro hygiene 2019-02-19 17:59:00 +00:00
chachapoly.c
cipher_wrap.c Wrap lines at 80 columns 2019-04-02 10:07:28 -07:00
cipher.c Convert cipher and pk to PSA attribute-based key creation 2019-06-05 11:34:54 +02:00
cmac.c
CMakeLists.txt Merge remote-tracking branch 'upstream-crypto/development' into psa-api-1.0-beta-merge_development_20190801 2019-07-31 17:47:49 +02:00
ctr_drbg.c
des.c Improve macro hygiene 2019-02-19 17:59:00 +00:00
dhm.c Allow DHM self test to run without MBEDTLS_PEM_PARSE_C 2019-06-03 17:46:56 +01:00
ecdh.c Fix ECDH secret export for Mongomery curves 2019-02-26 16:49:52 +00:00
ecdsa.c
ecjpake.c
ecp_curves.c Improve macro hygiene 2019-02-19 17:59:00 +00:00
ecp.c Prevent dead code warning 2019-07-04 12:19:47 +02:00
entropy_poll.c
entropy.c
error.c Add specific SSL error code for unexpected CIDs 2019-06-03 16:07:50 +01:00
gcm.c
havege.c Fix minor type choice inconsistency 2019-06-24 15:45:09 +02:00
hkdf.c
hmac_drbg.c
Makefile Merge remote-tracking branch 'upstream-crypto/development' into psa-api-1.0-beta-merge_development_20190801 2019-07-31 17:47:49 +02:00
md2.c
md4.c Add more missing parentheses around macro parameters 2019-02-19 17:59:57 +00:00
md5.c Add further missing brackets around macro parameters 2019-02-19 17:59:57 +00:00
md_wrap.c
md.c md: Remove dependency on X.509 2019-03-11 16:46:20 +00:00
memory_buffer_alloc.c
nist_kw.c
oid.c Add support for RSA PKCSv1.5 signatures using RIPEMD-160 2019-05-06 12:15:17 -04:00
padlock.c
pem.c
pk_wrap.c Convert cipher and pk to PSA attribute-based key creation 2019-06-05 11:34:54 +02:00
pk.c Convert cipher and pk to PSA attribute-based key creation 2019-06-05 11:34:54 +02:00
pkcs5.c
pkcs12.c
pkparse.c
pkwrite.c Convert cipher and pk to PSA attribute-based key creation 2019-06-05 11:34:54 +02:00
platform_util.c
platform.c
poly1305.c Improve macro hygiene 2019-02-19 17:59:00 +00:00
psa_crypto_core.h Rename internal macro to pass check-names.sh 2019-08-08 10:58:09 +02:00
psa_crypto_invasive.h
psa_crypto_its.h Add psa_trusted_storage_linux persistent storage support for v1.0.0 APIs 2019-07-23 17:30:37 +01:00
psa_crypto_se.c Pass the key creation method to drivers 2019-08-09 14:59:31 +02:00
psa_crypto_se.h Pass the key creation method to drivers 2019-08-09 14:59:31 +02:00
psa_crypto_service_integration.h Add common header for crypto service integration 2019-02-19 15:09:14 +02:00
psa_crypto_slot_management.c Rename psa_internal_allocate_key_slot to psa_get_empty_key_slot 2019-08-08 10:58:09 +02:00
psa_crypto_slot_management.h Rename psa_internal_allocate_key_slot to psa_get_empty_key_slot 2019-08-08 10:58:09 +02:00
psa_crypto_storage.c Merge pull request #198 from gilles-peskine-arm/psa-api-1.0-beta-merge_development_20190801 2019-08-08 10:24:53 +02:00
psa_crypto_storage.h Switch storage functions over to psa_core_key_attributes_t 2019-07-31 14:15:27 +02:00
psa_crypto.c Clean up status code handling inside psa_destroy_key 2019-08-13 15:58:36 +02:00
psa_its_file.c Add psa_trusted_storage_linux persistent storage support for v1.0.0 APIs 2019-07-23 17:30:37 +01:00
ripemd160.c Improve macro hygiene 2019-02-19 17:59:00 +00:00
rsa_internal.c
rsa.c
sha1.c Add further missing brackets around macro parameters 2019-02-19 17:59:57 +00:00
sha256.c Add further missing brackets around macro parameters 2019-02-19 17:59:57 +00:00
sha512.c Add more missing parentheses around macro parameters 2019-02-19 17:59:57 +00:00
threading.c
timing.c timing: Remove redundant include file 2019-06-20 10:51:21 +01:00
version_features.c Merge remote-tracking branch 'upstream-crypto/development' into psa-api-1.0-beta-merge_development_20190801 2019-07-31 17:47:49 +02:00
version.c
xtea.c