mbedtls/library
Ryan Everett c0053cc499 Make multi-part cipher operations thread-safe
Within setup we create a copy of the key and put it in the operation field.
After setup, we only ever use the new copy,
and do not interact with any key slots.
Therefore we need only register as a reader of the key during setup,
then unregister after we stop accessing the key.

Simultaneous API calls on the same operation object are not thread-safe.

Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2024-02-22 10:27:52 +00:00
..
.gitignore Revert "Auto-generated files for v3.5.0" 2023-10-05 00:17:21 +01:00
aes.c Use optimised counter increment in AES-CTR and CTR-DRBG 2024-01-15 11:45:01 +00:00
aesce.c Fix remaining warnings from -Wshorten-64-to-32 2024-02-13 13:41:16 +00:00
aesce.h Merge remote-tracking branch 'origin/development' into msft-aarch64 2023-11-30 11:01:50 +00:00
aesni.c Disable automatic setting of clang target flags on old clang 2023-12-19 13:11:47 +00:00
aesni.h Merge pull request #8124 from yanrayw/support_cipher_encrypt_only 2023-11-23 17:43:00 +00:00
alignment.h Pacify check-names 2024-02-06 15:00:58 +00:00
aria.c aria: remove leftover in comments 2024-01-30 16:28:09 +01:00
asn1parse.c pem: do not parse ASN1 data after decryption (removes ASN1 dependency) 2024-02-16 15:26:12 +01:00
asn1write.c asn1: use the new symbol to guard dependencies of ECDSA conversion functions 2024-01-24 16:26:35 +01:00
base64.c Use size_t cast for pointer subtractions 2023-11-21 17:09:46 +00:00
base64_internal.h Header updates 2023-11-03 12:21:36 +00:00
bignum.c bignum: removing usage of MPI_VALIDATE_RET() 2024-01-29 12:00:21 +01:00
bignum_core.c Header updates 2023-11-03 12:21:36 +00:00
bignum_core.h Header updates 2023-11-03 12:21:36 +00:00
bignum_mod.c Header updates 2023-11-03 12:21:36 +00:00
bignum_mod.h Header updates 2023-11-03 12:21:36 +00:00
bignum_mod_raw.c Header updates 2023-11-03 12:21:36 +00:00
bignum_mod_raw.h Header updates 2023-11-03 12:21:36 +00:00
bignum_mod_raw_invasive.h Header updates 2023-11-03 12:21:36 +00:00
block_cipher.c psa: add key_type as input parameter of psa_can_do_cipher() 2023-12-28 18:33:17 +01:00
block_cipher_internal.h block_cipher: add encrypt() 2023-11-10 12:14:53 +01:00
bn_mul.h Header updates 2023-11-03 12:21:36 +00:00
camellia.c Merge remote-tracking branch 'origin/development' into support_cipher_encrypt_only 2023-11-23 10:31:26 +08:00
ccm.c Merge pull request #8632 from valeriosetti/issue8598 2024-01-08 08:07:53 +00:00
chacha20.c Header updates 2023-11-03 12:21:36 +00:00
chachapoly.c Header updates 2023-11-03 12:21:36 +00:00
check_crypto_config.h Header updates 2023-11-03 12:21:36 +00:00
cipher.c Merge remote-tracking branch 'origin/development' into support_cipher_encrypt_only 2023-11-23 10:31:26 +08:00
cipher_wrap.c cipher_wrap: fix guards for some CCM/GCM functions 2024-01-02 17:20:58 +01:00
cipher_wrap.h Merge remote-tracking branch 'origin/development' into support_cipher_encrypt_only 2023-11-23 10:31:26 +08:00
cmac.c Header updates 2023-11-03 12:21:36 +00:00
CMakeLists.txt Merge pull request #8636 from paul-elliott-arm/new_test_thread_interface 2024-02-08 12:35:40 +00:00
common.h Fix comment typo 2024-01-23 10:05:08 +00:00
constant_time.c Remove unused code 2023-12-01 13:53:45 +00:00
constant_time_impl.h Merge pull request #8515 from mschulz-at-hilscher/fixes/pragma-error-gcc452 2023-11-27 11:28:30 +00:00
constant_time_internal.h Header updates 2023-11-03 12:21:36 +00:00
ctr.h Add header guards 2024-01-17 11:06:31 +00:00
ctr_drbg.c Fix error in ctr_drbg 2024-01-16 17:28:25 +00:00
debug.c debug: move internal functions declarations to an internal header file 2024-01-18 15:30:46 +01:00
debug_internal.h debug: move internal functions declarations to an internal header file 2024-01-18 15:30:46 +01:00
des.c Header updates 2023-11-03 12:21:36 +00:00
dhm.c Use MBEDTLS_GET_UINTxx_BE macro 2023-11-21 17:09:46 +00:00
ecdh.c Use size_t cast for pointer subtractions 2023-11-21 17:09:46 +00:00
ecdsa.c Header updates 2023-11-03 12:21:36 +00:00
ecjpake.c Use size_t cast for pointer subtractions 2023-11-21 17:09:46 +00:00
ecp.c Make input parameter const 2024-01-02 17:56:54 +01:00
ecp_curves.c Merge pull request #8665 from ivq/reduce_static_mem 2024-02-07 23:26:27 +00:00
ecp_curves_new.c lib: remove NULL pointer checks performed with MBEDTLS_INTERNAL_VALIDATE[_RET] 2024-01-29 12:00:15 +01:00
ecp_internal_alt.h Header updates 2023-11-03 12:21:36 +00:00
ecp_invasive.h Header updates 2023-11-03 12:21:36 +00:00
entropy.c Header updates 2023-11-03 12:21:36 +00:00
entropy_poll.c fix build for midipix 2024-01-30 14:50:23 +01:00
entropy_poll.h Header updates 2023-11-03 12:21:36 +00:00
gcm.c Handle sizeof(size_t) > sizeof(uint64_t) 2024-01-23 21:38:06 +08:00
hkdf.c Header updates 2023-11-03 12:21:36 +00:00
hmac_drbg.c Header updates 2023-11-03 12:21:36 +00:00
lmots.c Use standard byte conversion fns in lms 2023-11-21 17:09:46 +00:00
lmots.h Use standard byte conversion fns in lms 2023-11-21 17:09:46 +00:00
lms.c Fix remaining warnings from -Wshorten-64-to-32 2024-02-13 13:41:16 +00:00
Makefile Start adding internal module block_cipher.c 2023-11-10 11:21:17 +01:00
md.c Header updates 2023-11-03 12:21:36 +00:00
md5.c Header updates 2023-11-03 12:21:36 +00:00
md_psa.h md: move PSA conversion functions from md_psa.h to psa_util.h 2024-01-02 13:26:04 +01:00
md_wrap.h Header updates 2023-11-03 12:21:36 +00:00
memory_buffer_alloc.c Header updates 2023-11-03 12:21:36 +00:00
mps_common.h Fix some non-standard headers 2023-11-03 12:24:58 +00:00
mps_error.h Fix some non-standard headers 2023-11-03 12:24:58 +00:00
mps_reader.c Fix some non-standard headers 2023-11-03 12:24:58 +00:00
mps_reader.h Fix some non-standard headers 2023-11-03 12:24:58 +00:00
mps_trace.c Fix some non-standard headers 2023-11-03 12:24:58 +00:00
mps_trace.h Fix some non-standard headers 2023-11-03 12:24:58 +00:00
net_sockets.c Avoid use of ip_len as it clashes with a macro in AIX system headers 2023-12-08 21:51:15 +00:00
nist_kw.c Header updates 2023-11-03 12:21:36 +00:00
oid.c Merge remote-tracking branch 'upstream/development' into pkcs5_aes_new 2024-02-08 14:26:29 +00:00
padlock.c Merge remote-tracking branch 'origin/development' into support_cipher_encrypt_only 2023-11-23 10:31:26 +08:00
padlock.h Header updates 2023-11-03 12:21:36 +00:00
pem.c pem: zeroize the entire buffer in case of errors in mbedtls_pem_read_buffer() 2024-02-20 10:22:36 +01:00
pk.c Fix IAR cast warning 2024-02-13 13:40:26 +00:00
pk_internal.h Merge pull request #8715 from valeriosetti/issue7964 2024-02-05 15:09:15 +00:00
pk_wrap.c pk_wrap: set proper PSA algin rsa wrappers based on padding mode set in RSA context 2024-02-15 15:52:05 +01:00
pk_wrap.h pk_wrap: remove last references to MBEDTLS_PSA_CRYPTO_C 2023-12-20 12:59:57 +02:00
pkcs5.c pkcs[5/12]: add CIPHER_C for [en/de]crypting functions 2023-12-21 16:39:04 +01:00
pkcs7.c x509: move internal functions declarations to a private header 2024-01-19 09:07:35 +01:00
pkcs12.c pkcs[5/12]: add CIPHER_C for [en/de]crypting functions 2023-12-21 16:39:04 +01:00
pkparse.c pkparse: fix check for ASN1 errors in mbedtls_pk_parse_subpubkey() 2024-02-02 16:44:18 +01:00
pkwrite.c rsa: rename parse/write functions in order to follow the standard format 2024-02-01 17:00:29 +01:00
pkwrite.h Header updates 2023-11-03 12:21:36 +00:00
platform.c Header updates 2023-11-03 12:21:36 +00:00
platform_util.c Merge pull request #8761 from valeriosetti/issue4681 2024-02-06 17:29:38 +00:00
poly1305.c Header updates 2023-11-03 12:21:36 +00:00
psa_crypto.c Make multi-part cipher operations thread-safe 2024-02-22 10:27:52 +00:00
psa_crypto_aead.c Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_aead.h Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_cipher.c Merge pull request #8444 from Mbed-TLS/cvv-code-size 2023-11-06 12:50:37 +00:00
psa_crypto_cipher.h Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_client.c Error out when get domain_parameters is not supported 2023-12-08 17:30:26 +08:00
psa_crypto_core.h Clarify which unregister operation needs to be used 2024-02-20 18:01:29 +00:00
psa_crypto_core_common.h Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_driver_wrappers_no_static.h Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_ecp.c Merge pull request #8666 from valeriosetti/issue8340 2024-01-18 13:58:55 +00:00
psa_crypto_ecp.h Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_ffdh.c psa_crypto_ffdh: fix typos 2024-01-26 17:58:09 +01:00
psa_crypto_ffdh.h psa_crypto_ffdh: move dhm.h inclusion to c file 2024-01-26 09:35:18 +01:00
psa_crypto_hash.c Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_hash.h Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_invasive.h Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_its.h Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_mac.c Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_mac.h Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_pake.c Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_pake.h Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_random_impl.h Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_rsa.c rsa: simplify mbedtls_rsa_parse_pubkey() input parameters 2024-02-01 17:19:37 +01:00
psa_crypto_rsa.h Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_se.c Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_se.h Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_slot_management.c Merge pull request #8773 from Ryan-Everett-arm/threadsafe-key-locking 2024-02-21 13:55:12 +00:00
psa_crypto_slot_management.h Merge pull request #8773 from Ryan-Everett-arm/threadsafe-key-locking 2024-02-21 13:55:12 +00:00
psa_crypto_storage.c Header updates 2023-11-03 12:21:36 +00:00
psa_crypto_storage.h Header updates 2023-11-03 12:21:36 +00:00
psa_its_file.c Use MBEDTLS_GET_UINTxx_BE macro 2023-11-21 17:09:46 +00:00
psa_util.c psa_util: improve leading zeros check in convert_der_to_raw_single_int() 2024-02-07 16:16:58 +01:00
psa_util_internal.h psa_util: add error translations from PSA to cipher 2023-12-14 18:08:14 +01:00
ripemd160.c Header updates 2023-11-03 12:21:36 +00:00
rsa.c Merge pull request #8804 from valeriosetti/issue8799 2024-02-20 11:58:52 +00:00
rsa_alt_helpers.c Header updates 2023-11-03 12:21:36 +00:00
rsa_alt_helpers.h rsa: introduce rsa_internal_rsassa_pss_sign_no_mode_check() 2023-12-20 12:59:57 +02:00
rsa_internal.h rsa_internal: fix documentation for mbedtls_rsa_parse_key() 2024-02-05 08:48:39 +01:00
sha1.c Header updates 2023-11-03 12:21:36 +00:00
sha3.c Pack the iota round constants 2024-02-13 18:14:58 +01:00
sha256.c Merge remote-tracking branch 'origin/development' into msft-aarch64 2023-11-30 09:34:41 +00:00
sha512.c Support SHA-512 hwcap detection on old libc 2024-01-30 15:31:42 +00:00
ssl_cache.c Header updates 2023-11-03 12:21:36 +00:00
ssl_ciphersuites.c library/tests: replace md_psa.h with psa_util.h as include file for MD conversion 2024-01-02 13:27:32 +01:00
ssl_ciphersuites_internal.h ssl_ciphersuites: move internal functions declarations to a private header 2024-01-18 15:08:28 +01:00
ssl_client.c debug: move internal functions declarations to an internal header file 2024-01-18 15:30:46 +01:00
ssl_client.h Header updates 2023-11-03 12:21:36 +00:00
ssl_cookie.c library/tests: replace md_psa.h with psa_util.h as include file for MD conversion 2024-01-02 13:27:32 +01:00
ssl_debug_helpers.h Revert "tls13: Introduce early_data_state SSL context field" 2024-02-01 20:03:57 +01:00
ssl_misc.h tls13: cli: Refine early data status 2024-02-06 16:43:33 +01:00
ssl_msg.c Merge pull request #8727 from ronald-cron-arm/tls13-ignore-early-data-when-rejected 2024-02-06 13:16:03 +00:00
ssl_ticket.c ssl_ticket.c: Base ticket age check on the ticket creation time 2024-01-15 10:29:51 +01:00
ssl_tls.c Merge pull request #8574 from ronald-cron-arm/ssl-tickets 2024-02-21 09:38:46 +00:00
ssl_tls12_client.c Merge pull request #8574 from ronald-cron-arm/ssl-tickets 2024-02-21 09:38:46 +00:00
ssl_tls12_server.c Merge pull request #8574 from ronald-cron-arm/ssl-tickets 2024-02-21 09:38:46 +00:00
ssl_tls13_client.c Merge pull request #8574 from ronald-cron-arm/ssl-tickets 2024-02-21 09:38:46 +00:00
ssl_tls13_generic.c Merge pull request #8755 from ronald-cron-arm/tls13-client-early-data-status 2024-02-13 20:36:42 +00:00
ssl_tls13_invasive.h Header updates 2023-11-03 12:21:36 +00:00
ssl_tls13_keys.c Merge pull request #8715 from valeriosetti/issue7964 2024-02-05 15:09:15 +00:00
ssl_tls13_keys.h Fix some non-standard headers 2023-11-03 12:24:58 +00:00
ssl_tls13_server.c Merge pull request #8574 from ronald-cron-arm/ssl-tickets 2024-02-21 09:38:46 +00:00
threading.c Fix typo 2024-01-19 13:45:19 +00:00
timing.c Header updates 2023-11-03 12:21:36 +00:00
version.c Header updates 2023-11-03 12:21:36 +00:00
x509.c x509: move internal functions declarations to a private header 2024-01-19 09:07:35 +01:00
x509_create.c Update fix to be more platform-independent 2024-01-22 15:31:05 +00:00
x509_crl.c x509: move internal functions declarations to a private header 2024-01-19 09:07:35 +01:00
x509_crt.c Merge pull request #8715 from valeriosetti/issue7964 2024-02-05 15:09:15 +00:00
x509_csr.c x509: move internal functions declarations to a private header 2024-01-19 09:07:35 +01:00
x509_internal.h pk: move mbedtls_pk_load_file to pk_internal 2024-01-19 09:07:39 +01:00
x509write.c x509: move internal functions declarations to a private header 2024-01-19 09:07:35 +01:00
x509write_crt.c Merge pull request #8715 from valeriosetti/issue7964 2024-02-05 15:09:15 +00:00
x509write_csr.c Merge pull request #8715 from valeriosetti/issue7964 2024-02-05 15:09:15 +00:00