edhoc 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.gyp +64 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_types.h +34 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_ead_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_ead_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_edhoc_types.h +97 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_types.h +37 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_info_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_info_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_types.h +34 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_types.h +38 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_x509_types.h +170 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_ead_decode.c +74 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_ead_encode.c +74 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_decode.c +62 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_encode.c +62 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_decode.c +141 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_encode.c +141 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_info_decode.c +61 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_info_encode.c +61 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_decode.c +112 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_encode.c +112 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_decode.c +93 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_encode.c +93 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_decode.c +193 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_encode.c +194 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_decode.c +189 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_encode.c +189 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_decode.c +88 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_encode.c +88 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_decode.c +63 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_encode.c +63 -0
- package/external/libedhoc/externals/compact25519/src/c25519/c25519.c +126 -0
- package/external/libedhoc/externals/compact25519/src/c25519/c25519.h +49 -0
- package/external/libedhoc/externals/compact25519/src/c25519/ed25519.c +323 -0
- package/external/libedhoc/externals/compact25519/src/c25519/ed25519.h +84 -0
- package/external/libedhoc/externals/compact25519/src/c25519/edsign.c +171 -0
- package/external/libedhoc/externals/compact25519/src/c25519/edsign.h +53 -0
- package/external/libedhoc/externals/compact25519/src/c25519/f25519.c +330 -0
- package/external/libedhoc/externals/compact25519/src/c25519/f25519.h +98 -0
- package/external/libedhoc/externals/compact25519/src/c25519/fprime.c +226 -0
- package/external/libedhoc/externals/compact25519/src/c25519/fprime.h +81 -0
- package/external/libedhoc/externals/compact25519/src/c25519/sha512.c +230 -0
- package/external/libedhoc/externals/compact25519/src/c25519/sha512.h +54 -0
- package/external/libedhoc/externals/compact25519/src/compact_ed25519.c +46 -0
- package/external/libedhoc/externals/compact25519/src/compact_ed25519.h +110 -0
- package/external/libedhoc/externals/compact25519/src/compact_wipe.c +12 -0
- package/external/libedhoc/externals/compact25519/src/compact_wipe.h +14 -0
- package/external/libedhoc/externals/compact25519/src/compact_x25519.c +68 -0
- package/external/libedhoc/externals/compact25519/src/compact_x25519.h +101 -0
- package/external/libedhoc/externals/compact25519/test/pcg_random.h +25 -0
- package/external/libedhoc/externals/compact25519/test/run-all.c +178 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/Hacl_Curve25519.h +21 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/everest.h +234 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib/FStar_UInt128.h +124 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.h +280 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib.h +29 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h +204 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/builtin.h +16 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/callconv.h +46 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/compat.h +34 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/debug.h +57 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/target.h +102 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/types.h +61 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/wasmsupport.h +5 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/Hacl_Curve25519.h +21 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/inttypes.h +36 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/stdbool.h +31 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/x25519.h +190 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c +760 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/Hacl_Curve25519_joined.c +50 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/everest.c +102 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c +413 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c +100 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c +805 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/x25519.c +186 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m/p256-m.c +1514 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m/p256-m.h +135 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c +312 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.h +219 -0
- package/external/libedhoc/externals/mbedtls/configs/config-ccm-psk-dtls1_2.h +92 -0
- package/external/libedhoc/externals/mbedtls/configs/config-ccm-psk-tls1_2.h +83 -0
- package/external/libedhoc/externals/mbedtls/configs/config-no-entropy.h +73 -0
- package/external/libedhoc/externals/mbedtls/configs/config-suite-b.h +106 -0
- package/external/libedhoc/externals/mbedtls/configs/config-symmetric-only.h +77 -0
- package/external/libedhoc/externals/mbedtls/configs/config-thread.h +76 -0
- package/external/libedhoc/externals/mbedtls/configs/crypto-config-ccm-aes-sha256.h +25 -0
- package/external/libedhoc/externals/mbedtls/configs/crypto_config_profile_medium.h +136 -0
- package/external/libedhoc/externals/mbedtls/configs/tfm_mbedcrypto_config_profile_medium.h +609 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_encdec.h +54 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_hashing.h +30 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_mainpage.h +19 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_rng.h +27 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_ssltls.h +37 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_tcpip.h +32 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_x509.h +31 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/aes.h +627 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/aria.h +341 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/asn1.h +641 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/asn1write.h +389 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/base64.h +82 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/bignum.h +1084 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/build_info.h +146 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/camellia.h +303 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ccm.h +518 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/chacha20.h +202 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/chachapoly.h +342 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/check_config.h +1206 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/cipher.h +1183 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/cmac.h +246 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/compat-2.x.h +46 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h +183 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h +877 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h +334 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h +142 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_ssl.h +76 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_x509.h +25 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_psa.h +55 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/constant_time.h +36 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ctr_drbg.h +564 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/debug.h +308 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/des.h +385 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/dhm.h +972 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecdh.h +441 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecdsa.h +671 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecjpake.h +298 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecp.h +1362 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/entropy.h +273 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/error.h +201 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/gcm.h +370 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/hkdf.h +124 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/hmac_drbg.h +434 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/lms.h +440 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/mbedtls_config.h +4116 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/md.h +640 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/md5.h +190 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/memory_buffer_alloc.h +142 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/net_sockets.h +299 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/nist_kw.h +166 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/oid.h +722 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pem.h +160 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pk.h +1091 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs12.h +186 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs5.h +197 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs7.h +241 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/platform.h +485 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/platform_time.h +79 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/platform_util.h +201 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/poly1305.h +168 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/private_access.h +20 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/psa_util.h +104 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ripemd160.h +136 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/rsa.h +1143 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha1.h +219 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha256.h +198 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha3.h +172 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha512.h +208 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl.h +5369 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_cache.h +187 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_ciphersuites.h +616 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_cookie.h +106 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_ticket.h +181 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/threading.h +105 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/timing.h +94 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/version.h +78 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509.h +550 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_crl.h +184 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_crt.h +1196 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_csr.h +319 -0
- package/external/libedhoc/externals/mbedtls/include/psa/build_info.h +20 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto.h +4685 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_auto_enabled.h +21 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h +91 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_config_synonyms.h +45 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_composites.h +210 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_key_derivation.h +118 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_primitives.h +114 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_compat.h +153 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_config.h +153 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_common.h +44 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_composites.h +151 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h +52 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_primitives.h +105 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_extra.h +2064 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_legacy.h +88 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_platform.h +92 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_se_driver.h +1383 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_sizes.h +1282 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_struct.h +460 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_types.h +453 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_values.h +2756 -0
- package/external/libedhoc/externals/mbedtls/library/aes.c +2315 -0
- package/external/libedhoc/externals/mbedtls/library/aesce.c +503 -0
- package/external/libedhoc/externals/mbedtls/library/aesce.h +121 -0
- package/external/libedhoc/externals/mbedtls/library/aesni.c +802 -0
- package/external/libedhoc/externals/mbedtls/library/aesni.h +158 -0
- package/external/libedhoc/externals/mbedtls/library/alignment.h +509 -0
- package/external/libedhoc/externals/mbedtls/library/aria.c +991 -0
- package/external/libedhoc/externals/mbedtls/library/asn1parse.c +467 -0
- package/external/libedhoc/externals/mbedtls/library/asn1write.c +436 -0
- package/external/libedhoc/externals/mbedtls/library/base64.c +299 -0
- package/external/libedhoc/externals/mbedtls/library/base64_internal.h +45 -0
- package/external/libedhoc/externals/mbedtls/library/bignum.c +2806 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_core.c +894 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_core.h +763 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod.c +394 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod.h +452 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw.c +276 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw.h +416 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw_invasive.h +34 -0
- package/external/libedhoc/externals/mbedtls/library/bn_mul.h +1094 -0
- package/external/libedhoc/externals/mbedtls/library/camellia.c +1044 -0
- package/external/libedhoc/externals/mbedtls/library/ccm.c +712 -0
- package/external/libedhoc/externals/mbedtls/library/chacha20.c +497 -0
- package/external/libedhoc/externals/mbedtls/library/chachapoly.c +478 -0
- package/external/libedhoc/externals/mbedtls/library/check_crypto_config.h +141 -0
- package/external/libedhoc/externals/mbedtls/library/cipher.c +1664 -0
- package/external/libedhoc/externals/mbedtls/library/cipher_wrap.c +2422 -0
- package/external/libedhoc/externals/mbedtls/library/cipher_wrap.h +132 -0
- package/external/libedhoc/externals/mbedtls/library/cmac.c +1067 -0
- package/external/libedhoc/externals/mbedtls/library/common.h +325 -0
- package/external/libedhoc/externals/mbedtls/library/constant_time.c +261 -0
- package/external/libedhoc/externals/mbedtls/library/constant_time_impl.h +554 -0
- package/external/libedhoc/externals/mbedtls/library/constant_time_internal.h +579 -0
- package/external/libedhoc/externals/mbedtls/library/ctr_drbg.c +881 -0
- package/external/libedhoc/externals/mbedtls/library/debug.c +465 -0
- package/external/libedhoc/externals/mbedtls/library/des.c +1042 -0
- package/external/libedhoc/externals/mbedtls/library/dhm.c +712 -0
- package/external/libedhoc/externals/mbedtls/library/ecdh.c +685 -0
- package/external/libedhoc/externals/mbedtls/library/ecdsa.c +867 -0
- package/external/libedhoc/externals/mbedtls/library/ecjpake.c +1216 -0
- package/external/libedhoc/externals/mbedtls/library/ecp.c +3631 -0
- package/external/libedhoc/externals/mbedtls/library/ecp_curves.c +5467 -0
- package/external/libedhoc/externals/mbedtls/library/ecp_curves_new.c +6043 -0
- package/external/libedhoc/externals/mbedtls/library/ecp_internal_alt.h +287 -0
- package/external/libedhoc/externals/mbedtls/library/ecp_invasive.h +325 -0
- package/external/libedhoc/externals/mbedtls/library/entropy.c +676 -0
- package/external/libedhoc/externals/mbedtls/library/entropy_poll.c +229 -0
- package/external/libedhoc/externals/mbedtls/library/entropy_poll.h +64 -0
- package/external/libedhoc/externals/mbedtls/library/error.c +878 -0
- package/external/libedhoc/externals/mbedtls/library/gcm.c +1168 -0
- package/external/libedhoc/externals/mbedtls/library/hkdf.c +161 -0
- package/external/libedhoc/externals/mbedtls/library/hmac_drbg.c +633 -0
- package/external/libedhoc/externals/mbedtls/library/lmots.c +821 -0
- package/external/libedhoc/externals/mbedtls/library/lmots.h +311 -0
- package/external/libedhoc/externals/mbedtls/library/lms.c +779 -0
- package/external/libedhoc/externals/mbedtls/library/md.c +1108 -0
- package/external/libedhoc/externals/mbedtls/library/md5.c +426 -0
- package/external/libedhoc/externals/mbedtls/library/md_psa.h +63 -0
- package/external/libedhoc/externals/mbedtls/library/md_wrap.h +46 -0
- package/external/libedhoc/externals/mbedtls/library/memory_buffer_alloc.c +745 -0
- package/external/libedhoc/externals/mbedtls/library/mps_common.h +181 -0
- package/external/libedhoc/externals/mbedtls/library/mps_error.h +89 -0
- package/external/libedhoc/externals/mbedtls/library/mps_reader.c +538 -0
- package/external/libedhoc/externals/mbedtls/library/mps_reader.h +366 -0
- package/external/libedhoc/externals/mbedtls/library/mps_trace.c +112 -0
- package/external/libedhoc/externals/mbedtls/library/mps_trace.h +154 -0
- package/external/libedhoc/externals/mbedtls/library/net_sockets.c +696 -0
- package/external/libedhoc/externals/mbedtls/library/nist_kw.c +725 -0
- package/external/libedhoc/externals/mbedtls/library/oid.c +1154 -0
- package/external/libedhoc/externals/mbedtls/library/padlock.c +155 -0
- package/external/libedhoc/externals/mbedtls/library/padlock.h +111 -0
- package/external/libedhoc/externals/mbedtls/library/pem.c +520 -0
- package/external/libedhoc/externals/mbedtls/library/pk.c +970 -0
- package/external/libedhoc/externals/mbedtls/library/pk_internal.h +118 -0
- package/external/libedhoc/externals/mbedtls/library/pk_wrap.c +1834 -0
- package/external/libedhoc/externals/mbedtls/library/pk_wrap.h +156 -0
- package/external/libedhoc/externals/mbedtls/library/pkcs12.c +447 -0
- package/external/libedhoc/externals/mbedtls/library/pkcs5.c +496 -0
- package/external/libedhoc/externals/mbedtls/library/pkcs7.c +773 -0
- package/external/libedhoc/externals/mbedtls/library/pkparse.c +1845 -0
- package/external/libedhoc/externals/mbedtls/library/pkwrite.c +836 -0
- package/external/libedhoc/externals/mbedtls/library/pkwrite.h +112 -0
- package/external/libedhoc/externals/mbedtls/library/platform.c +402 -0
- package/external/libedhoc/externals/mbedtls/library/platform_util.c +285 -0
- package/external/libedhoc/externals/mbedtls/library/poly1305.c +492 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto.c +8432 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_aead.c +653 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_aead.h +499 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_cipher.c +590 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_cipher.h +293 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_client.c +67 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_core.h +838 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_core_common.h +52 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers.h +2871 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers_no_static.c +256 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers_no_static.h +31 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ecp.c +561 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ecp.h +267 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ffdh.c +295 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ffdh.h +132 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_hash.c +470 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_hash.h +211 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_invasive.h +70 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_its.h +131 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_mac.c +496 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_mac.h +264 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_pake.c +571 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_pake.h +159 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_random_impl.h +192 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_rsa.c +727 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_rsa.h +317 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_se.c +373 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_se.h +185 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_slot_management.c +559 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_slot_management.h +213 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_storage.c +481 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_storage.h +384 -0
- package/external/libedhoc/externals/mbedtls/library/psa_its_file.c +259 -0
- package/external/libedhoc/externals/mbedtls/library/psa_util.c +160 -0
- package/external/libedhoc/externals/mbedtls/library/psa_util_internal.h +96 -0
- package/external/libedhoc/externals/mbedtls/library/ripemd160.c +490 -0
- package/external/libedhoc/externals/mbedtls/library/rsa.c +2640 -0
- package/external/libedhoc/externals/mbedtls/library/rsa_alt_helpers.c +447 -0
- package/external/libedhoc/externals/mbedtls/library/rsa_alt_helpers.h +208 -0
- package/external/libedhoc/externals/mbedtls/library/sha1.c +480 -0
- package/external/libedhoc/externals/mbedtls/library/sha256.c +946 -0
- package/external/libedhoc/externals/mbedtls/library/sha3.c +626 -0
- package/external/libedhoc/externals/mbedtls/library/sha512.c +1111 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_cache.c +410 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_ciphersuites.c +2050 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_client.c +1017 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_client.h +22 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_cookie.c +380 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_debug_helpers.h +78 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_debug_helpers_generated.c +234 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_misc.h +2847 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_msg.c +6155 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_ticket.c +540 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls.c +9577 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls12_client.c +3607 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls12_server.c +4403 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_client.c +3046 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_generic.c +1740 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_invasive.h +23 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_keys.c +1897 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_keys.h +651 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_server.c +3146 -0
- package/external/libedhoc/externals/mbedtls/library/threading.c +181 -0
- package/external/libedhoc/externals/mbedtls/library/timing.c +154 -0
- package/external/libedhoc/externals/mbedtls/library/version.c +32 -0
- package/external/libedhoc/externals/mbedtls/library/version_features.c +826 -0
- package/external/libedhoc/externals/mbedtls/library/x509.c +1776 -0
- package/external/libedhoc/externals/mbedtls/library/x509_create.c +557 -0
- package/external/libedhoc/externals/mbedtls/library/x509_crl.c +712 -0
- package/external/libedhoc/externals/mbedtls/library/x509_crt.c +3292 -0
- package/external/libedhoc/externals/mbedtls/library/x509_csr.c +574 -0
- package/external/libedhoc/externals/mbedtls/library/x509write.c +174 -0
- package/external/libedhoc/externals/mbedtls/library/x509write_crt.c +681 -0
- package/external/libedhoc/externals/mbedtls/library/x509write_csr.c +331 -0
- package/external/libedhoc/externals/mbedtls/programs/aes/crypt_and_hash.c +573 -0
- package/external/libedhoc/externals/mbedtls/programs/cipher/cipher_aead_demo.c +259 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/common.c +105 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/common.h +25 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_client.c +195 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_dtlsclient.c +138 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_dtlsserver.c +183 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_pkcs7.c +20 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_privkey.c +106 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_pubkey.c +86 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_server.c +218 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509crl.c +41 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509crt.c +41 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509csr.c +41 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/onefile.c +69 -0
- package/external/libedhoc/externals/mbedtls/programs/hash/generic_sum.c +209 -0
- package/external/libedhoc/externals/mbedtls/programs/hash/hello.c +45 -0
- package/external/libedhoc/externals/mbedtls/programs/hash/md_hmac_demo.c +136 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/dh_client.c +274 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/dh_genprime.c +161 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/dh_server.c +296 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/ecdh_curve25519.c +189 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/ecdsa.c +217 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/gen_key.c +419 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/key_app.c +316 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/key_app_writer.c +435 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/mpi_demo.c +84 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_decrypt.c +153 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_encrypt.c +154 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_sign.c +155 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_verify.c +128 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_decrypt.c +172 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_encrypt.c +149 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_genkey.c +141 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_sign.c +155 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_sign_pss.c +161 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_verify.c +131 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_verify_pss.c +136 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/aead_demo.c +281 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/crypto_examples.c +321 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/hmac_demo.c +159 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/key_ladder_demo.c +691 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/psa_constant_names.c +310 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/psa_constant_names_generated.c +474 -0
- package/external/libedhoc/externals/mbedtls/programs/random/gen_entropy.c +75 -0
- package/external/libedhoc/externals/mbedtls/programs/random/gen_random_ctr_drbg.c +107 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/dtls_client.c +342 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/dtls_server.c +408 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/mini_client.c +274 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_client1.c +288 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_client2.c +3118 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_context_info.c +1009 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_fork_server.c +381 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_mail_client.c +804 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_pthread_server.c +489 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_server.c +362 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_server2.c +4268 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_common_source.c +375 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_lib.c +601 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_lib.h +306 -0
- package/external/libedhoc/externals/mbedtls/programs/test/benchmark.c +1284 -0
- package/external/libedhoc/externals/mbedtls/programs/test/cmake_package/cmake_package.c +27 -0
- package/external/libedhoc/externals/mbedtls/programs/test/cmake_package_install/cmake_package_install.c +28 -0
- package/external/libedhoc/externals/mbedtls/programs/test/cmake_subproject/cmake_subproject.c +28 -0
- package/external/libedhoc/externals/mbedtls/programs/test/dlopen.c +92 -0
- package/external/libedhoc/externals/mbedtls/programs/test/query_compile_time_config.c +66 -0
- package/external/libedhoc/externals/mbedtls/programs/test/query_config.c +5137 -0
- package/external/libedhoc/externals/mbedtls/programs/test/query_config.h +34 -0
- package/external/libedhoc/externals/mbedtls/programs/test/query_included_headers.c +29 -0
- package/external/libedhoc/externals/mbedtls/programs/test/selftest.c +583 -0
- package/external/libedhoc/externals/mbedtls/programs/test/udp_proxy.c +967 -0
- package/external/libedhoc/externals/mbedtls/programs/test/zeroize.c +72 -0
- package/external/libedhoc/externals/mbedtls/programs/util/pem2der.c +265 -0
- package/external/libedhoc/externals/mbedtls/programs/util/strerror.c +61 -0
- package/external/libedhoc/externals/mbedtls/programs/wince_main.c +31 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/cert_app.c +456 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/cert_req.c +509 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/cert_write.c +1012 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/crl_app.c +132 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/load_roots.c +165 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/req_app.c +132 -0
- package/external/libedhoc/externals/mbedtls/tests/configs/tls13-only.h +31 -0
- package/external/libedhoc/externals/mbedtls/tests/configs/user-config-for-test.h +89 -0
- package/external/libedhoc/externals/mbedtls/tests/configs/user-config-malloc-0-null.h +22 -0
- package/external/libedhoc/externals/mbedtls/tests/configs/user-config-zeroize-memset.h +17 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/aes_alt.h +23 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/aria_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/camellia_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ccm_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/chacha20_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/chachapoly_alt.h +18 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/cmac_alt.h +15 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/des_alt.h +22 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/dhm_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ecjpake_alt.h +15 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ecp_alt.h +22 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/gcm_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/md5_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/nist_kw_alt.h +15 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/platform_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/poly1305_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ripemd160_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/rsa_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha1_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha256_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha512_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/threading_alt.h +14 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/timing_alt.h +19 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-extra/psa/crypto.h +7 -0
- package/external/libedhoc/externals/mbedtls/tests/include/baremetal-override/time.h +6 -0
- package/external/libedhoc/externals/mbedtls/tests/include/spe/crypto_spe.h +131 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/arguments.h +26 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/asn1_helpers.h +38 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/bignum_helpers.h +106 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/certs.h +234 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/constant_flow.h +71 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/aead.h +121 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/asymmetric_encryption.h +67 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/cipher.h +130 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/config_test_driver.h +44 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/crypto_config_test_driver_extension.h +430 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/hash.h +64 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/key_agreement.h +62 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/key_management.h +123 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/mac.h +125 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/pake.h +75 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/signature.h +112 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/test_driver.h +32 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/fake_external_rng_for_test.h +40 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/helpers.h +268 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/macros.h +250 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/psa_crypto_helpers.h +398 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/psa_exercise_key.h +223 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/psa_helpers.h +24 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/random.h +91 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/ssl_helpers.h +628 -0
- package/external/libedhoc/externals/mbedtls/tests/src/asn1_helpers.c +62 -0
- package/external/libedhoc/externals/mbedtls/tests/src/bignum_helpers.c +145 -0
- package/external/libedhoc/externals/mbedtls/tests/src/certs.c +480 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/hash.c +199 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/platform_builtin_keys.c +78 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_aead.c +462 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c +151 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_cipher.c +424 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_key_agreement.c +147 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_key_management.c +783 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_mac.c +422 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_pake.c +202 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_signature.c +405 -0
- package/external/libedhoc/externals/mbedtls/tests/src/fake_external_rng_for_test.c +45 -0
- package/external/libedhoc/externals/mbedtls/tests/src/helpers.c +353 -0
- package/external/libedhoc/externals/mbedtls/tests/src/psa_crypto_helpers.c +196 -0
- package/external/libedhoc/externals/mbedtls/tests/src/psa_exercise_key.c +989 -0
- package/external/libedhoc/externals/mbedtls/tests/src/random.c +136 -0
- package/external/libedhoc/externals/mbedtls/tests/src/test_certs.h +1226 -0
- package/external/libedhoc/externals/mbedtls/tests/src/test_helpers/ssl_helpers.c +2292 -0
- package/external/libedhoc/externals/mbedtls/tests/src/threading_helpers.c +210 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_common.h +422 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_debug.h +69 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_decode.h +358 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_encode.h +296 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_tags.h +94 -0
- package/external/libedhoc/externals/zcbor/samples/hello_world/src/main.c +41 -0
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_decode.h +39 -0
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_encode.h +39 -0
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_types.h +47 -0
- package/external/libedhoc/externals/zcbor/samples/pet/src/main.c +128 -0
- package/external/libedhoc/externals/zcbor/samples/pet/src/pet_decode.c +69 -0
- package/external/libedhoc/externals/zcbor/samples/pet/src/pet_encode.c +70 -0
- package/external/libedhoc/externals/zcbor/src/zcbor_common.c +257 -0
- package/external/libedhoc/externals/zcbor/src/zcbor_decode.c +1107 -0
- package/external/libedhoc/externals/zcbor/src/zcbor_encode.c +722 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test1_suit_old_formats/src/main.c +368 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test2_suit/src/main.c +189 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test3_simple/src/main.c +529 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test5_corner_cases/src/main.c +2010 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test7_suit9_simple/src/main.c +134 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test8_suit12/src/main.c +863 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test9_manifest14/src/main.c +364 -0
- package/external/libedhoc/externals/zcbor/tests/encode/test1_suit/src/main.c +453 -0
- package/external/libedhoc/externals/zcbor/tests/encode/test2_simple/src/main.c +123 -0
- package/external/libedhoc/externals/zcbor/tests/encode/test3_corner_cases/src/main.c +1527 -0
- package/external/libedhoc/externals/zcbor/tests/encode/test4_senml/src/main.c +66 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_manifest12.c +136 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_pet.c +12 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/main_entry.c +60 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/main_entry.h +5 -0
- package/external/libedhoc/externals/zcbor/tests/unit/test1_unit_tests/src/main.c +1044 -0
- package/external/libedhoc/externals/zcbor/tests/unit/test3_float16/src/main.c +202 -0
- package/external/libedhoc/include/edhoc.h +393 -0
- package/external/libedhoc/include/edhoc_context.h +318 -0
- package/external/libedhoc/include/edhoc_credentials.h +217 -0
- package/external/libedhoc/include/edhoc_crypto.h +331 -0
- package/external/libedhoc/include/edhoc_ead.h +99 -0
- package/external/libedhoc/include/edhoc_macros.h +51 -0
- package/external/libedhoc/include/edhoc_values.h +181 -0
- package/external/libedhoc/library/edhoc.c +219 -0
- package/external/libedhoc/library/edhoc_exporter.c +543 -0
- package/external/libedhoc/library/edhoc_message_1.c +439 -0
- package/external/libedhoc/library/edhoc_message_2.c +2994 -0
- package/external/libedhoc/library/edhoc_message_3.c +2658 -0
- package/external/libedhoc/library/edhoc_message_4.c +826 -0
- package/external/libedhoc/library/edhoc_message_error.c +238 -0
- package/external/libedhoc/tests/include/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.h +37 -0
- package/external/libedhoc/tests/include/cipher_suites/cipher_suite_0.h +134 -0
- package/external/libedhoc/tests/include/cipher_suites/cipher_suite_2.h +140 -0
- package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_0.h +48 -0
- package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_2.h +48 -0
- package/external/libedhoc/tests/include/edhoc_trace_1/authentication_credentials_1.h +60 -0
- package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_1.h +208 -0
- package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_ead_1.h +59 -0
- package/external/libedhoc/tests/include/edhoc_trace_1/test_vector_1.h +738 -0
- package/external/libedhoc/tests/include/edhoc_trace_2/authentication_credentials_2.h +60 -0
- package/external/libedhoc/tests/include/edhoc_trace_2/test_edhoc_handshake_2.h +199 -0
- package/external/libedhoc/tests/include/edhoc_trace_2/test_vector_2.h +525 -0
- package/external/libedhoc/tests/include/error_message/test_edhoc_error_message.h +48 -0
- package/external/libedhoc/tests/include/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.h +92 -0
- package/external/libedhoc/tests/include/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.h +96 -0
- package/external/libedhoc/tests/include/x509_chain_cs_0/test_vector_x5chain_cs_0.h +140 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.h +58 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.h +56 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.h +57 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2/test_vector_x5chain_cs_2.h +169 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.h +59 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.h +57 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_vector_x5chain_cs_2_static_dh.h +163 -0
- package/external/libedhoc/tests/include/x509_hash_cs_2/authentication_credentials_x5t_cs_2.h +60 -0
- package/external/libedhoc/tests/include/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.h +57 -0
- package/external/libedhoc/tests/include/x509_hash_cs_2/test_vector_x5t_cs_2.h +181 -0
- package/external/libedhoc/tests/src/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.c +544 -0
- package/external/libedhoc/tests/src/cipher_suites/cipher_suite_0.c +447 -0
- package/external/libedhoc/tests/src/cipher_suites/cipher_suite_2.c +600 -0
- package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_0.c +475 -0
- package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_2.c +473 -0
- package/external/libedhoc/tests/src/edhoc_trace_1/authentication_credentials_1.c +252 -0
- package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_1.c +1829 -0
- package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_ead_1.c +1247 -0
- package/external/libedhoc/tests/src/edhoc_trace_2/authentication_credentials_2.c +170 -0
- package/external/libedhoc/tests/src/edhoc_trace_2/test_edhoc_handshake_2.c +1783 -0
- package/external/libedhoc/tests/src/error_message/test_edhoc_error_message.c +226 -0
- package/external/libedhoc/tests/src/tests.c +228 -0
- package/external/libedhoc/tests/src/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.c +332 -0
- package/external/libedhoc/tests/src/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.c +936 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.c +166 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.c +587 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.c +917 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.c +186 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.c +743 -0
- package/external/libedhoc/tests/src/x509_hash_cs_2/authentication_credentials_x5t_cs_2.c +261 -0
- package/external/libedhoc/tests/src/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.c +854 -0
- package/include/EdhocComposeAsyncWorker.h +61 -0
- package/include/EdhocCredentialManager.h +100 -0
- package/include/EdhocCryptoManager.h +504 -0
- package/include/EdhocEadManager.h +151 -0
- package/include/EdhocExportAsyncWorker.h +71 -0
- package/include/EdhocProcessAsyncWorker.h +76 -0
- package/include/LibEDHOC.h +304 -0
- package/include/Suites.h +27 -0
- package/include/UserContext.h +79 -0
- package/include/Utils.h +110 -0
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/edhoc.node +0 -0
- package/prebuilds/win32-ia32/edhoc.node +0 -0
- package/prebuilds/win32-x64/edhoc.node +0 -0
- package/src/EdhocComposeAsyncWorker.cpp +88 -0
- package/src/EdhocCredentialManager.cpp +360 -0
- package/src/EdhocCryptoManager.cpp +967 -0
- package/src/EdhocEadManager.cpp +156 -0
- package/src/EdhocExportAsyncWorker.cpp +82 -0
- package/src/EdhocProcessAsyncWorker.cpp +74 -0
- package/src/LibEDHOC.cpp +369 -0
- package/src/Suites.cpp +153 -0
- package/src/Utils.cpp +115 -0
- /package/prebuilds/{darwin-x64+arm64 → darwin-x64}/edhoc.node +0 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* PSA crypto layer on top of Mbed TLS crypto
|
|
3
|
+
*/
|
|
4
|
+
/*
|
|
5
|
+
* Copyright The Mbed TLS Contributors
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
#ifndef PSA_CRYPTO_SLOT_MANAGEMENT_H
|
|
10
|
+
#define PSA_CRYPTO_SLOT_MANAGEMENT_H
|
|
11
|
+
|
|
12
|
+
#include "psa/crypto.h"
|
|
13
|
+
#include "psa_crypto_core.h"
|
|
14
|
+
#include "psa_crypto_se.h"
|
|
15
|
+
|
|
16
|
+
/** Range of volatile key identifiers.
|
|
17
|
+
*
|
|
18
|
+
* The last #MBEDTLS_PSA_KEY_SLOT_COUNT identifiers of the implementation
|
|
19
|
+
* range of key identifiers are reserved for volatile key identifiers.
|
|
20
|
+
* A volatile key identifier is equal to #PSA_KEY_ID_VOLATILE_MIN plus the
|
|
21
|
+
* index of the key slot containing the volatile key definition.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/** The minimum value for a volatile key identifier.
|
|
25
|
+
*/
|
|
26
|
+
#define PSA_KEY_ID_VOLATILE_MIN (PSA_KEY_ID_VENDOR_MAX - \
|
|
27
|
+
MBEDTLS_PSA_KEY_SLOT_COUNT + 1)
|
|
28
|
+
|
|
29
|
+
/** The maximum value for a volatile key identifier.
|
|
30
|
+
*/
|
|
31
|
+
#define PSA_KEY_ID_VOLATILE_MAX PSA_KEY_ID_VENDOR_MAX
|
|
32
|
+
|
|
33
|
+
/** Test whether a key identifier is a volatile key identifier.
|
|
34
|
+
*
|
|
35
|
+
* \param key_id Key identifier to test.
|
|
36
|
+
*
|
|
37
|
+
* \retval 1
|
|
38
|
+
* The key identifier is a volatile key identifier.
|
|
39
|
+
* \retval 0
|
|
40
|
+
* The key identifier is not a volatile key identifier.
|
|
41
|
+
*/
|
|
42
|
+
static inline int psa_key_id_is_volatile(psa_key_id_t key_id)
|
|
43
|
+
{
|
|
44
|
+
return (key_id >= PSA_KEY_ID_VOLATILE_MIN) &&
|
|
45
|
+
(key_id <= PSA_KEY_ID_VOLATILE_MAX);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** Get the description of a key given its identifier and lock it.
|
|
49
|
+
*
|
|
50
|
+
* The descriptions of volatile keys and loaded persistent keys are stored in
|
|
51
|
+
* key slots. This function returns a pointer to the key slot containing the
|
|
52
|
+
* description of a key given its identifier.
|
|
53
|
+
*
|
|
54
|
+
* In case of a persistent key, the function loads the description of the key
|
|
55
|
+
* into a key slot if not already done.
|
|
56
|
+
*
|
|
57
|
+
* On success, the returned key slot is locked. It is the responsibility of
|
|
58
|
+
* the caller to unlock the key slot when it does not access it anymore.
|
|
59
|
+
*
|
|
60
|
+
* \param key Key identifier to query.
|
|
61
|
+
* \param[out] p_slot On success, `*p_slot` contains a pointer to the
|
|
62
|
+
* key slot containing the description of the key
|
|
63
|
+
* identified by \p key.
|
|
64
|
+
*
|
|
65
|
+
* \retval #PSA_SUCCESS
|
|
66
|
+
* \p *p_slot contains a pointer to the key slot containing the
|
|
67
|
+
* description of the key identified by \p key.
|
|
68
|
+
* The key slot counter has been incremented.
|
|
69
|
+
* \retval #PSA_ERROR_BAD_STATE
|
|
70
|
+
* The library has not been initialized.
|
|
71
|
+
* \retval #PSA_ERROR_INVALID_HANDLE
|
|
72
|
+
* \p key is not a valid key identifier.
|
|
73
|
+
* \retval #PSA_ERROR_INSUFFICIENT_MEMORY
|
|
74
|
+
* \p key is a persistent key identifier. The implementation does not
|
|
75
|
+
* have sufficient resources to load the persistent key. This can be
|
|
76
|
+
* due to a lack of empty key slot, or available memory.
|
|
77
|
+
* \retval #PSA_ERROR_DOES_NOT_EXIST
|
|
78
|
+
* There is no key with key identifier \p key.
|
|
79
|
+
* \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
|
|
80
|
+
* \retval #PSA_ERROR_STORAGE_FAILURE \emptydescription
|
|
81
|
+
* \retval #PSA_ERROR_DATA_CORRUPT \emptydescription
|
|
82
|
+
*/
|
|
83
|
+
psa_status_t psa_get_and_lock_key_slot(mbedtls_svc_key_id_t key,
|
|
84
|
+
psa_key_slot_t **p_slot);
|
|
85
|
+
|
|
86
|
+
/** Initialize the key slot structures.
|
|
87
|
+
*
|
|
88
|
+
* \retval #PSA_SUCCESS
|
|
89
|
+
* Currently this function always succeeds.
|
|
90
|
+
*/
|
|
91
|
+
psa_status_t psa_initialize_key_slots(void);
|
|
92
|
+
|
|
93
|
+
/** Delete all data from key slots in memory.
|
|
94
|
+
*
|
|
95
|
+
* This does not affect persistent storage. */
|
|
96
|
+
void psa_wipe_all_key_slots(void);
|
|
97
|
+
|
|
98
|
+
/** Find a free key slot.
|
|
99
|
+
*
|
|
100
|
+
* This function returns a key slot that is available for use and is in its
|
|
101
|
+
* ground state (all-bits-zero). On success, the key slot is locked. It is
|
|
102
|
+
* the responsibility of the caller to unlock the key slot when it does not
|
|
103
|
+
* access it anymore.
|
|
104
|
+
*
|
|
105
|
+
* \param[out] volatile_key_id On success, volatile key identifier
|
|
106
|
+
* associated to the returned slot.
|
|
107
|
+
* \param[out] p_slot On success, a pointer to the slot.
|
|
108
|
+
*
|
|
109
|
+
* \retval #PSA_SUCCESS \emptydescription
|
|
110
|
+
* \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
|
|
111
|
+
* \retval #PSA_ERROR_BAD_STATE \emptydescription
|
|
112
|
+
*/
|
|
113
|
+
psa_status_t psa_get_empty_key_slot(psa_key_id_t *volatile_key_id,
|
|
114
|
+
psa_key_slot_t **p_slot);
|
|
115
|
+
|
|
116
|
+
/** Lock a key slot.
|
|
117
|
+
*
|
|
118
|
+
* This function increments the key slot lock counter by one.
|
|
119
|
+
*
|
|
120
|
+
* \param[in] slot The key slot.
|
|
121
|
+
*
|
|
122
|
+
* \retval #PSA_SUCCESS
|
|
123
|
+
The key slot lock counter was incremented.
|
|
124
|
+
* \retval #PSA_ERROR_CORRUPTION_DETECTED
|
|
125
|
+
* The lock counter already reached its maximum value and was not
|
|
126
|
+
* increased.
|
|
127
|
+
*/
|
|
128
|
+
static inline psa_status_t psa_lock_key_slot(psa_key_slot_t *slot)
|
|
129
|
+
{
|
|
130
|
+
if (slot->lock_count >= SIZE_MAX) {
|
|
131
|
+
return PSA_ERROR_CORRUPTION_DETECTED;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
slot->lock_count++;
|
|
135
|
+
|
|
136
|
+
return PSA_SUCCESS;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/** Unlock a key slot.
|
|
140
|
+
*
|
|
141
|
+
* This function decrements the key slot lock counter by one.
|
|
142
|
+
*
|
|
143
|
+
* \note To ease the handling of errors in retrieving a key slot
|
|
144
|
+
* a NULL input pointer is valid, and the function returns
|
|
145
|
+
* successfully without doing anything in that case.
|
|
146
|
+
*
|
|
147
|
+
* \param[in] slot The key slot.
|
|
148
|
+
* \retval #PSA_SUCCESS
|
|
149
|
+
* \p slot is NULL or the key slot lock counter has been
|
|
150
|
+
* decremented successfully.
|
|
151
|
+
* \retval #PSA_ERROR_CORRUPTION_DETECTED
|
|
152
|
+
* The lock counter was equal to 0.
|
|
153
|
+
*
|
|
154
|
+
*/
|
|
155
|
+
psa_status_t psa_unlock_key_slot(psa_key_slot_t *slot);
|
|
156
|
+
|
|
157
|
+
/** Test whether a lifetime designates a key in an external cryptoprocessor.
|
|
158
|
+
*
|
|
159
|
+
* \param lifetime The lifetime to test.
|
|
160
|
+
*
|
|
161
|
+
* \retval 1
|
|
162
|
+
* The lifetime designates an external key. There should be a
|
|
163
|
+
* registered driver for this lifetime, otherwise the key cannot
|
|
164
|
+
* be created or manipulated.
|
|
165
|
+
* \retval 0
|
|
166
|
+
* The lifetime designates a key that is volatile or in internal
|
|
167
|
+
* storage.
|
|
168
|
+
*/
|
|
169
|
+
static inline int psa_key_lifetime_is_external(psa_key_lifetime_t lifetime)
|
|
170
|
+
{
|
|
171
|
+
return PSA_KEY_LIFETIME_GET_LOCATION(lifetime)
|
|
172
|
+
!= PSA_KEY_LOCATION_LOCAL_STORAGE;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/** Validate a key's location.
|
|
176
|
+
*
|
|
177
|
+
* This function checks whether the key's attributes point to a location that
|
|
178
|
+
* is known to the PSA Core, and returns the driver function table if the key
|
|
179
|
+
* is to be found in an external location.
|
|
180
|
+
*
|
|
181
|
+
* \param[in] lifetime The key lifetime attribute.
|
|
182
|
+
* \param[out] p_drv On success, when a key is located in external
|
|
183
|
+
* storage, returns a pointer to the driver table
|
|
184
|
+
* associated with the key's storage location.
|
|
185
|
+
*
|
|
186
|
+
* \retval #PSA_SUCCESS \emptydescription
|
|
187
|
+
* \retval #PSA_ERROR_INVALID_ARGUMENT \emptydescription
|
|
188
|
+
*/
|
|
189
|
+
psa_status_t psa_validate_key_location(psa_key_lifetime_t lifetime,
|
|
190
|
+
psa_se_drv_table_entry_t **p_drv);
|
|
191
|
+
|
|
192
|
+
/** Validate the persistence of a key.
|
|
193
|
+
*
|
|
194
|
+
* \param[in] lifetime The key lifetime attribute.
|
|
195
|
+
*
|
|
196
|
+
* \retval #PSA_SUCCESS \emptydescription
|
|
197
|
+
* \retval #PSA_ERROR_NOT_SUPPORTED The key is persistent but persistent keys
|
|
198
|
+
* are not supported.
|
|
199
|
+
*/
|
|
200
|
+
psa_status_t psa_validate_key_persistence(psa_key_lifetime_t lifetime);
|
|
201
|
+
|
|
202
|
+
/** Validate a key identifier.
|
|
203
|
+
*
|
|
204
|
+
* \param[in] key The key identifier.
|
|
205
|
+
* \param[in] vendor_ok Non-zero to indicate that key identifiers in the
|
|
206
|
+
* vendor range are allowed, volatile key identifiers
|
|
207
|
+
* excepted \c 0 otherwise.
|
|
208
|
+
*
|
|
209
|
+
* \retval <> 0 if the key identifier is valid, 0 otherwise.
|
|
210
|
+
*/
|
|
211
|
+
int psa_is_valid_key_id(mbedtls_svc_key_id_t key, int vendor_ok);
|
|
212
|
+
|
|
213
|
+
#endif /* PSA_CRYPTO_SLOT_MANAGEMENT_H */
|
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* PSA persistent key storage
|
|
3
|
+
*/
|
|
4
|
+
/*
|
|
5
|
+
* Copyright The Mbed TLS Contributors
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
#include "common.h"
|
|
10
|
+
|
|
11
|
+
#if defined(MBEDTLS_PSA_CRYPTO_STORAGE_C)
|
|
12
|
+
|
|
13
|
+
#include <stdlib.h>
|
|
14
|
+
#include <string.h>
|
|
15
|
+
|
|
16
|
+
#include "psa/crypto.h"
|
|
17
|
+
#include "psa_crypto_storage.h"
|
|
18
|
+
#include "mbedtls/platform_util.h"
|
|
19
|
+
|
|
20
|
+
#if defined(MBEDTLS_PSA_ITS_FILE_C)
|
|
21
|
+
#include "psa_crypto_its.h"
|
|
22
|
+
#else /* Native ITS implementation */
|
|
23
|
+
#include "psa/error.h"
|
|
24
|
+
#include "psa/internal_trusted_storage.h"
|
|
25
|
+
#endif
|
|
26
|
+
|
|
27
|
+
#include "mbedtls/platform.h"
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
/****************************************************************/
|
|
32
|
+
/* Key storage */
|
|
33
|
+
/****************************************************************/
|
|
34
|
+
|
|
35
|
+
/* Determine a file name (ITS file identifier) for the given key identifier.
|
|
36
|
+
* The file name must be distinct from any file that is used for a purpose
|
|
37
|
+
* other than storing a key. Currently, the only such file is the random seed
|
|
38
|
+
* file whose name is PSA_CRYPTO_ITS_RANDOM_SEED_UID and whose value is
|
|
39
|
+
* 0xFFFFFF52. */
|
|
40
|
+
static psa_storage_uid_t psa_its_identifier_of_slot(mbedtls_svc_key_id_t key)
|
|
41
|
+
{
|
|
42
|
+
#if defined(MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER)
|
|
43
|
+
/* Encode the owner in the upper 32 bits. This means that if
|
|
44
|
+
* owner values are nonzero (as they are on a PSA platform),
|
|
45
|
+
* no key file will ever have a value less than 0x100000000, so
|
|
46
|
+
* the whole range 0..0xffffffff is available for non-key files. */
|
|
47
|
+
uint32_t unsigned_owner_id = MBEDTLS_SVC_KEY_ID_GET_OWNER_ID(key);
|
|
48
|
+
return ((uint64_t) unsigned_owner_id << 32) |
|
|
49
|
+
MBEDTLS_SVC_KEY_ID_GET_KEY_ID(key);
|
|
50
|
+
#else
|
|
51
|
+
/* Use the key id directly as a file name.
|
|
52
|
+
* psa_is_key_id_valid() in psa_crypto_slot_management.c
|
|
53
|
+
* is responsible for ensuring that key identifiers do not have a
|
|
54
|
+
* value that is reserved for non-key files. */
|
|
55
|
+
return key;
|
|
56
|
+
#endif
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* \brief Load persistent data for the given key slot number.
|
|
61
|
+
*
|
|
62
|
+
* This function reads data from a storage backend and returns the data in a
|
|
63
|
+
* buffer.
|
|
64
|
+
*
|
|
65
|
+
* \param key Persistent identifier of the key to be loaded. This
|
|
66
|
+
* should be an occupied storage location.
|
|
67
|
+
* \param[out] data Buffer where the data is to be written.
|
|
68
|
+
* \param data_size Size of the \c data buffer in bytes.
|
|
69
|
+
*
|
|
70
|
+
* \retval #PSA_SUCCESS \emptydescription
|
|
71
|
+
* \retval #PSA_ERROR_DATA_INVALID \emptydescription
|
|
72
|
+
* \retval #PSA_ERROR_DATA_CORRUPT \emptydescription
|
|
73
|
+
* \retval #PSA_ERROR_STORAGE_FAILURE \emptydescription
|
|
74
|
+
* \retval #PSA_ERROR_DOES_NOT_EXIST \emptydescription
|
|
75
|
+
*/
|
|
76
|
+
static psa_status_t psa_crypto_storage_load(
|
|
77
|
+
const mbedtls_svc_key_id_t key, uint8_t *data, size_t data_size)
|
|
78
|
+
{
|
|
79
|
+
psa_status_t status;
|
|
80
|
+
psa_storage_uid_t data_identifier = psa_its_identifier_of_slot(key);
|
|
81
|
+
struct psa_storage_info_t data_identifier_info;
|
|
82
|
+
size_t data_length = 0;
|
|
83
|
+
|
|
84
|
+
status = psa_its_get_info(data_identifier, &data_identifier_info);
|
|
85
|
+
if (status != PSA_SUCCESS) {
|
|
86
|
+
return status;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
status = psa_its_get(data_identifier, 0, (uint32_t) data_size, data, &data_length);
|
|
90
|
+
if (data_size != data_length) {
|
|
91
|
+
return PSA_ERROR_DATA_INVALID;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return status;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
int psa_is_key_present_in_storage(const mbedtls_svc_key_id_t key)
|
|
98
|
+
{
|
|
99
|
+
psa_status_t ret;
|
|
100
|
+
psa_storage_uid_t data_identifier = psa_its_identifier_of_slot(key);
|
|
101
|
+
struct psa_storage_info_t data_identifier_info;
|
|
102
|
+
|
|
103
|
+
ret = psa_its_get_info(data_identifier, &data_identifier_info);
|
|
104
|
+
|
|
105
|
+
if (ret == PSA_ERROR_DOES_NOT_EXIST) {
|
|
106
|
+
return 0;
|
|
107
|
+
}
|
|
108
|
+
return 1;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* \brief Store persistent data for the given key slot number.
|
|
113
|
+
*
|
|
114
|
+
* This function stores the given data buffer to a persistent storage.
|
|
115
|
+
*
|
|
116
|
+
* \param key Persistent identifier of the key to be stored. This
|
|
117
|
+
* should be an unoccupied storage location.
|
|
118
|
+
* \param[in] data Buffer containing the data to be stored.
|
|
119
|
+
* \param data_length The number of bytes
|
|
120
|
+
* that make up the data.
|
|
121
|
+
*
|
|
122
|
+
* \retval #PSA_SUCCESS \emptydescription
|
|
123
|
+
* \retval #PSA_ERROR_INSUFFICIENT_STORAGE \emptydescription
|
|
124
|
+
* \retval #PSA_ERROR_ALREADY_EXISTS \emptydescription
|
|
125
|
+
* \retval #PSA_ERROR_STORAGE_FAILURE \emptydescription
|
|
126
|
+
* \retval #PSA_ERROR_DATA_INVALID \emptydescription
|
|
127
|
+
*/
|
|
128
|
+
static psa_status_t psa_crypto_storage_store(const mbedtls_svc_key_id_t key,
|
|
129
|
+
const uint8_t *data,
|
|
130
|
+
size_t data_length)
|
|
131
|
+
{
|
|
132
|
+
psa_status_t status;
|
|
133
|
+
psa_storage_uid_t data_identifier = psa_its_identifier_of_slot(key);
|
|
134
|
+
struct psa_storage_info_t data_identifier_info;
|
|
135
|
+
|
|
136
|
+
if (psa_is_key_present_in_storage(key) == 1) {
|
|
137
|
+
return PSA_ERROR_ALREADY_EXISTS;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
status = psa_its_set(data_identifier, (uint32_t) data_length, data, 0);
|
|
141
|
+
if (status != PSA_SUCCESS) {
|
|
142
|
+
return PSA_ERROR_DATA_INVALID;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
status = psa_its_get_info(data_identifier, &data_identifier_info);
|
|
146
|
+
if (status != PSA_SUCCESS) {
|
|
147
|
+
goto exit;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
if (data_identifier_info.size != data_length) {
|
|
151
|
+
status = PSA_ERROR_DATA_INVALID;
|
|
152
|
+
goto exit;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
exit:
|
|
156
|
+
if (status != PSA_SUCCESS) {
|
|
157
|
+
/* Remove the file in case we managed to create it but something
|
|
158
|
+
* went wrong. It's ok if the file doesn't exist. If the file exists
|
|
159
|
+
* but the removal fails, we're already reporting an error so there's
|
|
160
|
+
* nothing else we can do. */
|
|
161
|
+
(void) psa_its_remove(data_identifier);
|
|
162
|
+
}
|
|
163
|
+
return status;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
psa_status_t psa_destroy_persistent_key(const mbedtls_svc_key_id_t key)
|
|
167
|
+
{
|
|
168
|
+
psa_status_t ret;
|
|
169
|
+
psa_storage_uid_t data_identifier = psa_its_identifier_of_slot(key);
|
|
170
|
+
struct psa_storage_info_t data_identifier_info;
|
|
171
|
+
|
|
172
|
+
ret = psa_its_get_info(data_identifier, &data_identifier_info);
|
|
173
|
+
if (ret == PSA_ERROR_DOES_NOT_EXIST) {
|
|
174
|
+
return PSA_SUCCESS;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (psa_its_remove(data_identifier) != PSA_SUCCESS) {
|
|
178
|
+
return PSA_ERROR_DATA_INVALID;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
ret = psa_its_get_info(data_identifier, &data_identifier_info);
|
|
182
|
+
if (ret != PSA_ERROR_DOES_NOT_EXIST) {
|
|
183
|
+
return PSA_ERROR_DATA_INVALID;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
return PSA_SUCCESS;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* \brief Get data length for given key slot number.
|
|
191
|
+
*
|
|
192
|
+
* \param key Persistent identifier whose stored data length
|
|
193
|
+
* is to be obtained.
|
|
194
|
+
* \param[out] data_length The number of bytes that make up the data.
|
|
195
|
+
*
|
|
196
|
+
* \retval #PSA_SUCCESS \emptydescription
|
|
197
|
+
* \retval #PSA_ERROR_STORAGE_FAILURE \emptydescription
|
|
198
|
+
* \retval #PSA_ERROR_DOES_NOT_EXIST \emptydescription
|
|
199
|
+
* \retval #PSA_ERROR_DATA_CORRUPT \emptydescription
|
|
200
|
+
*/
|
|
201
|
+
static psa_status_t psa_crypto_storage_get_data_length(
|
|
202
|
+
const mbedtls_svc_key_id_t key,
|
|
203
|
+
size_t *data_length)
|
|
204
|
+
{
|
|
205
|
+
psa_status_t status;
|
|
206
|
+
psa_storage_uid_t data_identifier = psa_its_identifier_of_slot(key);
|
|
207
|
+
struct psa_storage_info_t data_identifier_info;
|
|
208
|
+
|
|
209
|
+
status = psa_its_get_info(data_identifier, &data_identifier_info);
|
|
210
|
+
if (status != PSA_SUCCESS) {
|
|
211
|
+
return status;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
*data_length = (size_t) data_identifier_info.size;
|
|
215
|
+
|
|
216
|
+
return PSA_SUCCESS;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Persistent key storage magic header.
|
|
221
|
+
*/
|
|
222
|
+
#define PSA_KEY_STORAGE_MAGIC_HEADER "PSA\0KEY"
|
|
223
|
+
#define PSA_KEY_STORAGE_MAGIC_HEADER_LENGTH (sizeof(PSA_KEY_STORAGE_MAGIC_HEADER))
|
|
224
|
+
|
|
225
|
+
typedef struct {
|
|
226
|
+
uint8_t magic[PSA_KEY_STORAGE_MAGIC_HEADER_LENGTH];
|
|
227
|
+
uint8_t version[4];
|
|
228
|
+
uint8_t lifetime[sizeof(psa_key_lifetime_t)];
|
|
229
|
+
uint8_t type[2];
|
|
230
|
+
uint8_t bits[2];
|
|
231
|
+
uint8_t policy[sizeof(psa_key_policy_t)];
|
|
232
|
+
uint8_t data_len[4];
|
|
233
|
+
uint8_t key_data[];
|
|
234
|
+
} psa_persistent_key_storage_format;
|
|
235
|
+
|
|
236
|
+
void psa_format_key_data_for_storage(const uint8_t *data,
|
|
237
|
+
const size_t data_length,
|
|
238
|
+
const psa_core_key_attributes_t *attr,
|
|
239
|
+
uint8_t *storage_data)
|
|
240
|
+
{
|
|
241
|
+
psa_persistent_key_storage_format *storage_format =
|
|
242
|
+
(psa_persistent_key_storage_format *) storage_data;
|
|
243
|
+
|
|
244
|
+
memcpy(storage_format->magic, PSA_KEY_STORAGE_MAGIC_HEADER,
|
|
245
|
+
PSA_KEY_STORAGE_MAGIC_HEADER_LENGTH);
|
|
246
|
+
MBEDTLS_PUT_UINT32_LE(0, storage_format->version, 0);
|
|
247
|
+
MBEDTLS_PUT_UINT32_LE(attr->lifetime, storage_format->lifetime, 0);
|
|
248
|
+
MBEDTLS_PUT_UINT16_LE((uint16_t) attr->type, storage_format->type, 0);
|
|
249
|
+
MBEDTLS_PUT_UINT16_LE((uint16_t) attr->bits, storage_format->bits, 0);
|
|
250
|
+
MBEDTLS_PUT_UINT32_LE(attr->policy.usage, storage_format->policy, 0);
|
|
251
|
+
MBEDTLS_PUT_UINT32_LE(attr->policy.alg, storage_format->policy, sizeof(uint32_t));
|
|
252
|
+
MBEDTLS_PUT_UINT32_LE(attr->policy.alg2, storage_format->policy, 2 * sizeof(uint32_t));
|
|
253
|
+
MBEDTLS_PUT_UINT32_LE(data_length, storage_format->data_len, 0);
|
|
254
|
+
memcpy(storage_format->key_data, data, data_length);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
static psa_status_t check_magic_header(const uint8_t *data)
|
|
258
|
+
{
|
|
259
|
+
if (memcmp(data, PSA_KEY_STORAGE_MAGIC_HEADER,
|
|
260
|
+
PSA_KEY_STORAGE_MAGIC_HEADER_LENGTH) != 0) {
|
|
261
|
+
return PSA_ERROR_DATA_INVALID;
|
|
262
|
+
}
|
|
263
|
+
return PSA_SUCCESS;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
psa_status_t psa_parse_key_data_from_storage(const uint8_t *storage_data,
|
|
267
|
+
size_t storage_data_length,
|
|
268
|
+
uint8_t **key_data,
|
|
269
|
+
size_t *key_data_length,
|
|
270
|
+
psa_core_key_attributes_t *attr)
|
|
271
|
+
{
|
|
272
|
+
psa_status_t status;
|
|
273
|
+
const psa_persistent_key_storage_format *storage_format =
|
|
274
|
+
(const psa_persistent_key_storage_format *) storage_data;
|
|
275
|
+
uint32_t version;
|
|
276
|
+
|
|
277
|
+
if (storage_data_length < sizeof(*storage_format)) {
|
|
278
|
+
return PSA_ERROR_DATA_INVALID;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
status = check_magic_header(storage_data);
|
|
282
|
+
if (status != PSA_SUCCESS) {
|
|
283
|
+
return status;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
version = MBEDTLS_GET_UINT32_LE(storage_format->version, 0);
|
|
287
|
+
if (version != 0) {
|
|
288
|
+
return PSA_ERROR_DATA_INVALID;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
*key_data_length = MBEDTLS_GET_UINT32_LE(storage_format->data_len, 0);
|
|
292
|
+
if (*key_data_length > (storage_data_length - sizeof(*storage_format)) ||
|
|
293
|
+
*key_data_length > PSA_CRYPTO_MAX_STORAGE_SIZE) {
|
|
294
|
+
return PSA_ERROR_DATA_INVALID;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
if (*key_data_length == 0) {
|
|
298
|
+
*key_data = NULL;
|
|
299
|
+
} else {
|
|
300
|
+
*key_data = mbedtls_calloc(1, *key_data_length);
|
|
301
|
+
if (*key_data == NULL) {
|
|
302
|
+
return PSA_ERROR_INSUFFICIENT_MEMORY;
|
|
303
|
+
}
|
|
304
|
+
memcpy(*key_data, storage_format->key_data, *key_data_length);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
attr->lifetime = MBEDTLS_GET_UINT32_LE(storage_format->lifetime, 0);
|
|
308
|
+
attr->type = MBEDTLS_GET_UINT16_LE(storage_format->type, 0);
|
|
309
|
+
attr->bits = MBEDTLS_GET_UINT16_LE(storage_format->bits, 0);
|
|
310
|
+
attr->policy.usage = MBEDTLS_GET_UINT32_LE(storage_format->policy, 0);
|
|
311
|
+
attr->policy.alg = MBEDTLS_GET_UINT32_LE(storage_format->policy, sizeof(uint32_t));
|
|
312
|
+
attr->policy.alg2 = MBEDTLS_GET_UINT32_LE(storage_format->policy, 2 * sizeof(uint32_t));
|
|
313
|
+
|
|
314
|
+
return PSA_SUCCESS;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
psa_status_t psa_save_persistent_key(const psa_core_key_attributes_t *attr,
|
|
318
|
+
const uint8_t *data,
|
|
319
|
+
const size_t data_length)
|
|
320
|
+
{
|
|
321
|
+
size_t storage_data_length;
|
|
322
|
+
uint8_t *storage_data;
|
|
323
|
+
psa_status_t status;
|
|
324
|
+
|
|
325
|
+
/* All keys saved to persistent storage always have a key context */
|
|
326
|
+
if (data == NULL || data_length == 0) {
|
|
327
|
+
return PSA_ERROR_INVALID_ARGUMENT;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
if (data_length > PSA_CRYPTO_MAX_STORAGE_SIZE) {
|
|
331
|
+
return PSA_ERROR_INSUFFICIENT_STORAGE;
|
|
332
|
+
}
|
|
333
|
+
storage_data_length = data_length + sizeof(psa_persistent_key_storage_format);
|
|
334
|
+
|
|
335
|
+
storage_data = mbedtls_calloc(1, storage_data_length);
|
|
336
|
+
if (storage_data == NULL) {
|
|
337
|
+
return PSA_ERROR_INSUFFICIENT_MEMORY;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
psa_format_key_data_for_storage(data, data_length, attr, storage_data);
|
|
341
|
+
|
|
342
|
+
status = psa_crypto_storage_store(attr->id,
|
|
343
|
+
storage_data, storage_data_length);
|
|
344
|
+
|
|
345
|
+
mbedtls_zeroize_and_free(storage_data, storage_data_length);
|
|
346
|
+
|
|
347
|
+
return status;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
void psa_free_persistent_key_data(uint8_t *key_data, size_t key_data_length)
|
|
351
|
+
{
|
|
352
|
+
mbedtls_zeroize_and_free(key_data, key_data_length);
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
psa_status_t psa_load_persistent_key(psa_core_key_attributes_t *attr,
|
|
356
|
+
uint8_t **data,
|
|
357
|
+
size_t *data_length)
|
|
358
|
+
{
|
|
359
|
+
psa_status_t status = PSA_SUCCESS;
|
|
360
|
+
uint8_t *loaded_data;
|
|
361
|
+
size_t storage_data_length = 0;
|
|
362
|
+
mbedtls_svc_key_id_t key = attr->id;
|
|
363
|
+
|
|
364
|
+
status = psa_crypto_storage_get_data_length(key, &storage_data_length);
|
|
365
|
+
if (status != PSA_SUCCESS) {
|
|
366
|
+
return status;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
loaded_data = mbedtls_calloc(1, storage_data_length);
|
|
370
|
+
|
|
371
|
+
if (loaded_data == NULL) {
|
|
372
|
+
return PSA_ERROR_INSUFFICIENT_MEMORY;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
status = psa_crypto_storage_load(key, loaded_data, storage_data_length);
|
|
376
|
+
if (status != PSA_SUCCESS) {
|
|
377
|
+
goto exit;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
status = psa_parse_key_data_from_storage(loaded_data, storage_data_length,
|
|
381
|
+
data, data_length, attr);
|
|
382
|
+
|
|
383
|
+
/* All keys saved to persistent storage always have a key context */
|
|
384
|
+
if (status == PSA_SUCCESS &&
|
|
385
|
+
(*data == NULL || *data_length == 0)) {
|
|
386
|
+
status = PSA_ERROR_STORAGE_FAILURE;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
exit:
|
|
390
|
+
mbedtls_zeroize_and_free(loaded_data, storage_data_length);
|
|
391
|
+
return status;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
/****************************************************************/
|
|
397
|
+
/* Transactions */
|
|
398
|
+
/****************************************************************/
|
|
399
|
+
|
|
400
|
+
#if defined(PSA_CRYPTO_STORAGE_HAS_TRANSACTIONS)
|
|
401
|
+
|
|
402
|
+
psa_crypto_transaction_t psa_crypto_transaction;
|
|
403
|
+
|
|
404
|
+
psa_status_t psa_crypto_save_transaction(void)
|
|
405
|
+
{
|
|
406
|
+
struct psa_storage_info_t p_info;
|
|
407
|
+
psa_status_t status;
|
|
408
|
+
status = psa_its_get_info(PSA_CRYPTO_ITS_TRANSACTION_UID, &p_info);
|
|
409
|
+
if (status == PSA_SUCCESS) {
|
|
410
|
+
/* This shouldn't happen: we're trying to start a transaction while
|
|
411
|
+
* there is still a transaction that hasn't been replayed. */
|
|
412
|
+
return PSA_ERROR_CORRUPTION_DETECTED;
|
|
413
|
+
} else if (status != PSA_ERROR_DOES_NOT_EXIST) {
|
|
414
|
+
return status;
|
|
415
|
+
}
|
|
416
|
+
return psa_its_set(PSA_CRYPTO_ITS_TRANSACTION_UID,
|
|
417
|
+
sizeof(psa_crypto_transaction),
|
|
418
|
+
&psa_crypto_transaction,
|
|
419
|
+
0);
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
psa_status_t psa_crypto_load_transaction(void)
|
|
423
|
+
{
|
|
424
|
+
psa_status_t status;
|
|
425
|
+
size_t length;
|
|
426
|
+
status = psa_its_get(PSA_CRYPTO_ITS_TRANSACTION_UID, 0,
|
|
427
|
+
sizeof(psa_crypto_transaction),
|
|
428
|
+
&psa_crypto_transaction, &length);
|
|
429
|
+
if (status != PSA_SUCCESS) {
|
|
430
|
+
return status;
|
|
431
|
+
}
|
|
432
|
+
if (length != sizeof(psa_crypto_transaction)) {
|
|
433
|
+
return PSA_ERROR_DATA_INVALID;
|
|
434
|
+
}
|
|
435
|
+
return PSA_SUCCESS;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
psa_status_t psa_crypto_stop_transaction(void)
|
|
439
|
+
{
|
|
440
|
+
psa_status_t status = psa_its_remove(PSA_CRYPTO_ITS_TRANSACTION_UID);
|
|
441
|
+
/* Whether or not updating the storage succeeded, the transaction is
|
|
442
|
+
* finished now. It's too late to go back, so zero out the in-memory
|
|
443
|
+
* data. */
|
|
444
|
+
memset(&psa_crypto_transaction, 0, sizeof(psa_crypto_transaction));
|
|
445
|
+
return status;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
#endif /* PSA_CRYPTO_STORAGE_HAS_TRANSACTIONS */
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
/****************************************************************/
|
|
453
|
+
/* Random generator state */
|
|
454
|
+
/****************************************************************/
|
|
455
|
+
|
|
456
|
+
#if defined(MBEDTLS_PSA_INJECT_ENTROPY)
|
|
457
|
+
psa_status_t mbedtls_psa_storage_inject_entropy(const unsigned char *seed,
|
|
458
|
+
size_t seed_size)
|
|
459
|
+
{
|
|
460
|
+
psa_status_t status;
|
|
461
|
+
struct psa_storage_info_t p_info;
|
|
462
|
+
|
|
463
|
+
status = psa_its_get_info(PSA_CRYPTO_ITS_RANDOM_SEED_UID, &p_info);
|
|
464
|
+
|
|
465
|
+
if (PSA_ERROR_DOES_NOT_EXIST == status) { /* No seed exists */
|
|
466
|
+
status = psa_its_set(PSA_CRYPTO_ITS_RANDOM_SEED_UID, seed_size, seed, 0);
|
|
467
|
+
} else if (PSA_SUCCESS == status) {
|
|
468
|
+
/* You should not be here. Seed needs to be injected only once */
|
|
469
|
+
status = PSA_ERROR_NOT_PERMITTED;
|
|
470
|
+
}
|
|
471
|
+
return status;
|
|
472
|
+
}
|
|
473
|
+
#endif /* MBEDTLS_PSA_INJECT_ENTROPY */
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
/****************************************************************/
|
|
478
|
+
/* The end */
|
|
479
|
+
/****************************************************************/
|
|
480
|
+
|
|
481
|
+
#endif /* MBEDTLS_PSA_CRYPTO_STORAGE_C */
|