/mbedtls-3.4.0/library/ |
D | ssl_debug_helpers_generated.c | 32 const char *mbedtls_ssl_named_group_to_str( uint16_t in ) in mbedtls_ssl_named_group_to_str() argument 34 switch( in ) in mbedtls_ssl_named_group_to_str() 76 const char *mbedtls_ssl_sig_alg_to_str( uint16_t in ) in mbedtls_ssl_sig_alg_to_str() argument 78 switch( in ) in mbedtls_ssl_sig_alg_to_str() 118 const char *mbedtls_ssl_states_str( mbedtls_ssl_states in ) in mbedtls_ssl_states_str() argument 152 if( in > ( sizeof( in_to_str )/sizeof( in_to_str[0]) - 1 ) || in mbedtls_ssl_states_str() 153 in_to_str[ in ] == NULL ) in mbedtls_ssl_states_str() 157 return in_to_str[ in ]; in mbedtls_ssl_states_str() 160 const char *mbedtls_ssl_protocol_version_str( mbedtls_ssl_protocol_version in ) in mbedtls_ssl_protocol_version_str() argument 169 if( in > ( sizeof( in_to_str )/sizeof( in_to_str[0]) - 1 ) || in mbedtls_ssl_protocol_version_str() [all …]
|
D | ssl_debug_helpers.h | 34 const char *mbedtls_ssl_states_str( mbedtls_ssl_states in ); 36 const char *mbedtls_ssl_protocol_version_str( mbedtls_ssl_protocol_version in ); 38 const char *mbedtls_tls_prf_types_str( mbedtls_tls_prf_types in ); 40 const char *mbedtls_ssl_key_export_type_str( mbedtls_ssl_key_export_type in ); 42 const char *mbedtls_ssl_sig_alg_to_str( uint16_t in ); 44 const char *mbedtls_ssl_named_group_to_str( uint16_t in );
|
/mbedtls-3.4.0/ |
D | ChangeLog | 21 from a release, the Python module jsonschema is now necessary, in 23 maintained in scripts/basic.requirements.txt and may change again 24 in the future. 32 * Support rsa_pss_rsae_* signature algorithms in TLS 1.2. 35 resulting in library names like "libmbedtls.so" rather than 39 are supported in this implementation. 41 built-in implementation present, but only in some configurations. 46 See the documentation of the corresponding macros in mbedtls_config.h for 50 all hashes only provided by drivers (no built-in hash) is to use 53 properly negotiate/accept hashes based on their availability in PSA. [all …]
|
D | README.md | 11 …in the fully documented configuration file `include/mbedtls/mbedtls_config.h`, which is also the p… 15 … configurations focused on specific use cases in the `configs/` directory. You can read more about… 24 To generate a local copy of the library documentation in HTML format, tailored to your compile-time… 41 …ays complete and up-to-date. The others should reflect all changes present in the CMake and Make b… 43 …epends on libmbedcrypto. As a result, some linkers will expect flags to be in a specific order, fo… 51 * Python 3.6 to generate the test code, and to generate sample programs in the development branch. 52 * Perl to run the tests, and to generate some source files in the development branch. 57 ### Generated source files in the development branch 59 …in the development branch of Mbed TLS, but the generated files are included in official releases. … 84 We intentionally only use a minimum of functionality in the makefiles in order to keep them as simp… [all …]
|
/mbedtls-3.4.0/tests/suites/ |
D | test_suite_bignum.misc.data | 331 Base test mbedtls_mpi_lt_mpi_ct (X is longer in storage) 334 Base test mbedtls_mpi_lt_mpi_ct (Y is longer in storage) 685 Shrink 0 limbs in a buffer of size 0 to 0 688 Shrink 2 limbs in a buffer of size 2 to 4 691 Shrink 2 limbs in a buffer of size 4 to 4 694 Shrink 2 limbs in a buffer of size 8 to 4 697 Shrink 4 limbs in a buffer of size 8 to 4 700 Shrink 6 limbs in a buffer of size 8 to 4 yielding 6 703 Shrink 2 limbs in a buffer of size 4 to 0 yielding 2 706 Shrink 1 limbs in a buffer of size 4 to 0 yielding 1 [all …]
|
D | test_suite_cipher.aria.data | 65 ARIA-128 CCM*-NO-TAG - Encrypt and decrypt 0 bytes in multiple parts 69 ARIA-128 CCM*-NO-TAG - Encrypt and decrypt 1 bytes in multiple parts 1 73 ARIA-128 CCM*-NO-TAG - Encrypt and decrypt 1 bytes in multiple parts 2 77 ARIA-128 CCM*-NO-TAG - Encrypt and decrypt 16 bytes in multiple parts 1 81 ARIA-128 CCM*-NO-TAG - Encrypt and decrypt 16 bytes in multiple parts 2 85 ARIA-128 CCM*-NO-TAG - Encrypt and decrypt 16 bytes in multiple parts 3 89 ARIA-128 CCM*-NO-TAG - Encrypt and decrypt 16 bytes in multiple parts 4 93 ARIA-128 CCM*-NO-TAG - Encrypt and decrypt 22 bytes in multiple parts 1 97 ARIA-128-CCM*-NO-TAG - Encrypt and decrypt 22 bytes in multiple parts 2 101 ARIA-128-CCM*-NO-TAG - Encrypt and decrypt 23 bytes in multiple parts 1 [all …]
|
D | test_suite_cipher.camellia.data | 309 CAMELLIA Encrypt and decrypt 0 bytes in multiple parts [#1] 313 CAMELLIA Encrypt and decrypt 1 bytes in multiple parts 1 [#1] 317 CAMELLIA Encrypt and decrypt 1 bytes in multiple parts 2 [#1] 321 CAMELLIA Encrypt and decrypt 16 bytes in multiple parts 1 [#1] 325 CAMELLIA Encrypt and decrypt 16 bytes in multiple parts 2 [#1] 329 CAMELLIA Encrypt and decrypt 16 bytes in multiple parts 3 [#1] 333 CAMELLIA Encrypt and decrypt 16 bytes in multiple parts 4 [#1] 337 CAMELLIA Encrypt and decrypt 22 bytes in multiple parts 1 [#1] 341 CAMELLIA Encrypt and decrypt 22 bytes in multiple parts 1 [#2] 345 CAMELLIA Encrypt and decrypt 22 bytes in multiple parts 1 [#3] [all …]
|
D | test_suite_cipher.chacha20.data | 69 ChaCha20 Encrypt and decrypt 0 bytes in multiple parts 1 73 ChaCha20 Encrypt and decrypt 1 bytes in multiple parts 1 77 ChaCha20 Encrypt and decrypt 1 bytes in multiple parts 2 81 ChaCha20 Encrypt and decrypt 16 bytes in multiple parts 1 85 ChaCha20 Encrypt and decrypt 16 bytes in multiple parts 2 89 ChaCha20 Encrypt and decrypt 16 bytes in multiple parts 3 93 ChaCha20 Encrypt and decrypt 16 bytes in multiple parts 4 97 ChaCha20 Encrypt and decrypt 22 bytes in multiple parts 1 101 ChaCha20 Encrypt and decrypt 22 bytes in multiple parts 2 105 ChaCha20 Encrypt and decrypt 22 bytes in multiple parts 3 [all …]
|
D | test_suite_cipher.null.data | 57 NULL Encrypt and decrypt 1 bytes in multiple parts 1 61 NULL Encrypt and decrypt 1 bytes in multiple parts 2 65 NULL Encrypt and decrypt 16 bytes in multiple parts 1 69 NULL Encrypt and decrypt 16 bytes in multiple parts 2 73 NULL Encrypt and decrypt 16 bytes in multiple parts 3 77 NULL Encrypt and decrypt 16 bytes in multiple parts 4 81 NULL Encrypt and decrypt 22 bytes in multiple parts 1 [#1] 85 NULL Encrypt and decrypt 22 bytes in multiple parts 1 [#2] 89 NULL Encrypt and decrypt 22 bytes in multiple parts 1 [#3] 93 NULL Encrypt and decrypt 32 bytes in multiple parts 1
|
D | test_suite_cipher.chachapoly.data | 65 ChaCha20+Poly1305 Encrypt and decrypt 0 bytes in multiple parts 1 69 ChaCha20+Poly1305 Encrypt and decrypt 1 bytes in multiple parts 1 73 ChaCha20+Poly1305 Encrypt and decrypt 1 bytes in multiple parts 2 77 ChaCha20+Poly1305 Encrypt and decrypt 16 bytes in multiple parts 1 81 ChaCha20+Poly1305 Encrypt and decrypt 16 bytes in multiple parts 2 85 ChaCha20+Poly1305 Encrypt and decrypt 16 bytes in multiple parts 3 89 ChaCha20+Poly1305 Encrypt and decrypt 16 bytes in multiple parts 4 93 ChaCha20+Poly1305 Encrypt and decrypt 22 bytes in multiple parts 1 97 ChaCha20+Poly1305 Encrypt and decrypt 22 bytes in multiple parts 2 101 ChaCha20+Poly1305 Encrypt and decrypt 22 bytes in multiple parts 3 [all …]
|
D | test_suite_cipher.aes.data | 309 AES-128 CBC - Encrypt and decrypt 0 bytes in multiple parts with PKCS7 padding 313 AES-128 CBC - Encrypt and decrypt 1 bytes in multiple parts with PKCS7 padding 1 317 AES-128 CBC - Encrypt and decrypt 1 bytes in multiple parts with PKCS7 padding 2 321 AES-128 CBC - Encrypt and decrypt 16 bytes in multiple parts with PKCS7 padding 1 325 AES-128 CBC - Encrypt and decrypt 16 bytes in multiple parts with PKCS7 padding 2 329 AES-128 CBC - Encrypt and decrypt 16 bytes in multiple parts with PKCS7 padding 3 333 AES-128 CBC - Encrypt and decrypt 16 bytes in multiple parts with PKCS7 padding 4 337 AES-128 CBC - Encrypt and decrypt 22 bytes in multiple parts with PKCS7 padding 1 341 AES-128 CBC - Encrypt and decrypt 22 bytes in multiple parts with PKCS7 padding 2 345 AES-128 CBC - Encrypt and decrypt 23 bytes in multiple parts with PKCS7 padding 1 [all …]
|
D | test_suite_cipher.des.data | 313 DES Encrypt and decrypt 0 bytes in multiple parts 317 DES Encrypt and decrypt 1 bytes in multiple parts 1 321 DES Encrypt and decrypt 1 bytes in multiple parts 2 325 DES Encrypt and decrypt 16 bytes in multiple parts 1 329 DES Encrypt and decrypt 16 bytes in multiple parts 2 333 DES Encrypt and decrypt 16 bytes in multiple parts 3 337 DES Encrypt and decrypt 16 bytes in multiple parts 4 341 DES Encrypt and decrypt 22 bytes in multiple parts 1 [#1] 345 DES Encrypt and decrypt 22 bytes in multiple parts 1 [#2] 349 DES Encrypt and decrypt 22 bytes in multiple parts 1 [#3] [all …]
|
D | test_suite_aes.function | 365 const unsigned char in[16] = { 0 }; 370 mbedtls_aes_crypt_ecb( &aes_ctx, invalid_mode, in, out ) ); 375 out, in, out ) ); 383 in, in, out ) ); 391 &size, out, in, out ) ); 394 out, in, out ) ); 406 const unsigned char in[16] = { 0 }; 425 out, in, out ) 429 out, in, out ) 436 in, in, out ) [all …]
|
/mbedtls-3.4.0/docs/architecture/psa-migration/ |
D | testing.md | 4 This document records the testing strategy used so far in implementing 11 There needs to be at least one build in `all.sh` that enables 16 ensured by the fact that it's disabled in the default config. 35 in order to create PK contexts that can then be passed to existing TLS and 41 - in `test_suite_pk` we have a new test function `pk_psa_utils` that exercises 45 - in `test_suite_pk` we modified the existing `pk_psa_sign` test function to 47 - in `test_suite_pkwrite` we should have a new test function checking that 52 - in `programs/ssl/ssl_client2` a new option `key_opaque` that causes the 53 new API to be used, and one or more tests in `ssl-opt.sh` using that. 55 - in `test_suite_x509write` we have a new test function [all …]
|
D | strategy.md | 1 This document explains the strategy that was used so far in starting the 31 - `MBEDTLS_USE_PSA_CRYPTO` - disabled by default (enabled in "full" config), 32 controls usage of PSA Crypto APIs to perform operations in X.509 and TLS 61 backward compatibility issues, and in particular if the cost of implementing 68 Currently this option controls not only the presence of restartable APIs in 69 the crypto library, but also their use in the TLS and X.509 layers. Since PSA 74 Supporting this in PSA is on our roadmap and currently planned for end of 77 It will then require follow-up work to make use of the new PSA API in 78 PK/X.509/TLS in all places where we currently allow restartable operations. 87 2. It's currently not possible to enable `MBEDTLS_PSA_CRYPTO_C` in [all …]
|
D | psa-limitations.md | 2 1.1) that may impact our ability to (1) use it for all crypto operations in 3 TLS and X.509 and (2) support isolation of all long-term secrets in TLS (that 4 is, goals G1 and G2 in [strategy.md](strategy.md) in the same directory). 7 operations done in TLS and X.509 code, but of course it's still possible that 17 There is currently no support for that in PSA at all, but it will be added at 23 Things that are in the API but not implemented yet 26 PSA Crypto has an API for FFDH, but it's not implemented in Mbed TLS yet. 35 (See also the first paragraph in the previous section.) 38 well-known parameters (some of them defined in the spec, but implementations 42 parameters (P and G) in its ServerKeyExchange message. This has been found to [all …]
|
/mbedtls-3.4.0/docs/architecture/ |
D | mbed-crypto-storage-specification.md | 16 Released in November 2018. <br> 17 Integrated in Mbed OS 5.11. 37 …nformation about each key is stored in a dedicated file whose name is constructed from the key ide… 39 …range from 1 to 0xfffeffff. This limitation on the range is not documented in user-facing document… 41 The code uses the following constant in an internal header (note that despite the name, this value … 49 All integers are encoded in little-endian order in 8-bit bytes. 81 …in a directory other than the current directory. This value is simply prepended to the file name (… 92 Released in February 2019. <br> 93 Integrated in Mbed OS 5.12. 110 …in a dedicated file designated by the key identifier. In integrations where there is no concept of… [all …]
|
D | tls13-support.md | 7 Mbed TLS provides a partial implementation of the TLS 1.3 protocol defined in 83 Note that in absence of an application profile standard specifying otherwise 92 - TLS 1.2 and TLS 1.3 can be enabled in the build independently of each 103 configuration options in the sense that when enabling TLS 1.3 in the library 146 (1) These options must remain in their default state of enabled. 152 compatibility mode as defined in section D.4 of RFC 8446. 207 work to reduce review rounds and the number of comments in each round. They 222 - Use TLS1_3 in TLS 1.3 specific macros. 224 - The names of macros and variables related to a field or structure in the 226 it is in the specification. If the field name is "too long" and we prefer [all …]
|
D | psa-crypto-implementation-structure.md | 11 …yptography API implementation is made of a core and PSA drivers as defined in the PSA driver inter… 16 * The organization of the software cryptographic implementations in drivers promotes modularization… 17 …ctionalities can be described by a JSON driver description file as defined in the PSA driver inter… 22 The core implements all the APIs as defined in the PSA Cryptography API specification but does not … 47 * clean-up in case of error ... */ 52 …. The implementations are generated in a psa_crypto_driver_wrappers.c C file and the function prot… 56 …in this generated file are guarded by pre-processor directives based on PSA_WANT_xyz macros (see [… 60 Key creation implementation in Mbed TLS PSA core is articulated around three internal functions: ps… 62 …t allocates a key slot, prepares it with the specified key attributes, and in case of a volatile k… 71 …in the following) is a driver in the sense that it is compliant with the PSA driver interface spec… [all …]
|
/mbedtls-3.4.0/docs/architecture/testing/ |
D | invasive-testing.md | 5 … testing as much as possible: test the documented behavior of the product, in a realistic environm… 30 …ctical way of doing it another way. All public interfaces should be useful in at least some config… 34 In unit tests and in test programs, it's ok to include internal header files from `library/`. Do no… 36 … part of the public API. Declare such functions in `library/*.h` and include the corresponding hea… 38 …ails of the library and not just on its documented behavior, add a comment in the code that explai… 41 > /* This test file is specific to the ITS implementation in PSA Crypto 59 * **Do not use `MBEDTLS_TEST_HOOKS` for security checks or assertions.** Security checks belong in … 69 …hat does nothing (not a macro, to avoid accidentally skipping side effects in its parameters), to … 71 …, or to a function that does nothing. The global variable is defined in a header in the `library` … 89 …tever the tests check is guaranteed behavior of the product which cannot change in future versions. [all …]
|
/mbedtls-3.4.0/ChangeLog.d/ |
D | 00README.md | 10 * Bug fixes in the library or in sample programs: fixing a security hole, 11 fixing broken behavior, fixing the build in some configuration or on some 13 * New features in the library, new sample programs, or new platform support. 14 * Changes in existing behavior. These should be rare. Changes in features 25 Until Mbed TLS 2.24.0, we required changelog entries in more cases. 47 <!-- Keep this synchronized with STANDARD_CATEGORIES in assemble_changelog.py! --> 59 Use “Changes” for anything that doesn't fit in the other categories. 68 bug in mbedtls_xxx() ….” 79 why one might be interested in the feature. For an API change or a deprecation, 88 to move the entries from files in `ChangeLog.d` to the main `ChangeLog` file.
|
/mbedtls-3.4.0/docs/proposed/ |
D | psa-driver-integration-guide.md | 4 **This is a specification of work in progress. The implementation is not yet merged into Mbed TLS.** 8 …lemented in Mbed TLS yet and is disabled by default. You can enable the experimental work in progr… 16 …* in JSON format and some code to include in the build. The driver code can either be provided in … 22 1. Activate `MBEDTLS_PSA_CRYPTO_DRIVERS` in the library configuration.
|
D | psa-driver-developer-guide.md | 4 **This is a specification of work in progress. The implementation is not yet merged into Mbed TLS.** 10 …lemented in Mbed TLS yet and is disabled by default. You can enable the experimental work in progr… 20 * **Transparent** drivers implement cryptographic operations on keys that are provided in cleartext… 25 …in a **driver description file**. The driver description file declares which functions the driver … 27 …ver description file is JSON. The structure of this JSON file is specified in the section [“Driver… 31 * A driver description file (in JSON format). 32 …red by the driver description. The names of these header files is declared in the driver descripti… 37 …pecified in the PSA Cryptography Driver Interface specification](psa-driver-interface.html#driver-…
|
D | psa-driver-interface.md | 4 This document describes an interface for cryptoprocessor drivers in the PSA cryptography API. This … 6 …ecification is work in progress and should be considered to be in a beta stage. There is ongoing w… 12 …ns in a uniform way regardless of how the operations are performed. Under the hood, different keys… 14 …icies, and dispatches cryptographic operations either to the applicable driver or to built-in code. 16 Functions in the PSA Cryptography API invoke functions in the core. Code from the core calls driver… 22 * **Transparent** drivers implement cryptographic operations on keys that are provided in cleartext… 33 …hardware: accelerators that operate on keys in cleartext; cryptoprocessors that can wrap keys with… 35 …actions with platform-specific hardware happen only inside the driver (and in fact a driver need n… 47 …to implement some functions with C linkage, and to declare these functions in a **driver descripti… 49 …ver description file is JSON. The structure of this JSON file is specified in the section [“Driver… [all …]
|
D | psa-conditional-inclusion-c.md | 1 Conditional inclusion of cryptographic mechanism through the PSA API in Mbed TLS 4 …rface for deciding at build time which cryptographic mechanisms to include in the PSA Cryptography… 6 This is currently a proposal for Mbed TLS. It is not currently on track for standardization in PSA. 12 …include only a subset of the available cryptographic mechanisms, primarily in order to reduce the … 18 Mbed TLS offers a way to select which cryptographic mechanisms are included in a build through its … 22 …in implementations of cryptographic mechanisms) can be augmented with drivers. **Transparent drive… 24 …in particular do not work well for asymmetric cryptography. For example, many parts of the ECC cod… 32 [Req.drivers] If a PSA driver is available in the build, a suitably configured Mbed TLS build must … 34 … compiler. This is necessary to allow building an application and Mbed TLS in development environm… 52 … describes the feature that the symbol enables. The symbols are documented in the section [“PSA Cr… [all …]
|