@scriptc/runtime 0.0.0 → 0.0.2
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/LICENSE +202 -0
- package/package.json +16 -6
- package/src/scr_array.c +488 -0
- package/src/scr_assert.c +1393 -0
- package/src/scr_async.c +2593 -0
- package/src/scr_async_dyn.c +607 -0
- package/src/scr_bytes.c +1425 -0
- package/src/scr_bytes_io.c +161 -0
- package/src/scr_child.c +3587 -0
- package/src/scr_closure.c +214 -0
- package/src/scr_console.c +143 -0
- package/src/scr_cycle.c +218 -0
- package/src/scr_dc.c +805 -0
- package/src/scr_dgram.c +1007 -0
- package/src/scr_dyn_handle.c +154 -0
- package/src/scr_dyn_invoke.c +644 -0
- package/src/scr_error.c +332 -0
- package/src/scr_events.c +714 -0
- package/src/scr_events_emitter.c +699 -0
- package/src/scr_exception.c +242 -0
- package/src/scr_fetch.c +1130 -0
- package/src/scr_fetch_curl.c +654 -0
- package/src/scr_http.c +3482 -0
- package/src/scr_http2.c +3030 -0
- package/src/scr_inspect.c +803 -0
- package/src/scr_inspect_island.c +51 -0
- package/src/scr_island.c +9363 -0
- package/src/scr_json.c +2151 -0
- package/src/scr_lib.c +3612 -0
- package/src/scr_loop_epoll.c +241 -0
- package/src/scr_loop_kqueue.c +121 -0
- package/src/scr_loop_wsapoll.c +208 -0
- package/src/scr_map.c +591 -0
- package/src/scr_net.c +3017 -0
- package/src/scr_net_island.c +458 -0
- package/src/scr_number.c +115 -0
- package/src/scr_object.c +25 -0
- package/src/scr_path.c +1266 -0
- package/src/scr_platform.h +119 -0
- package/src/scr_readline.c +287 -0
- package/src/scr_regex.c +1080 -0
- package/src/scr_runtime.h +5046 -0
- package/src/scr_stream.c +2877 -0
- package/src/scr_string.c +1264 -0
- package/src/scr_symbol.c +132 -0
- package/src/scr_test.c +662 -0
- package/src/scr_tls.c +1520 -0
- package/src/scr_union.c +105 -0
- package/src/scr_url.c +911 -0
- package/src/scr_url_internal.h +29 -0
- package/src/scr_url_params.c +561 -0
- package/src/scr_watch.c +568 -0
- package/src/scr_web.c +1778 -0
- package/src/scr_win.c +76 -0
- package/src/scr_zlib.c +197 -0
- package/src/scr_zlib_island.c +15 -0
- package/vendor/README.md +52 -0
- package/vendor/curl/COPYRIGHT +534 -0
- package/vendor/curl/include/curl/curl.h +3214 -0
- package/vendor/curl/include/curl/curlver.h +79 -0
- package/vendor/curl/include/curl/easy.h +125 -0
- package/vendor/curl/include/curl/header.h +74 -0
- package/vendor/curl/include/curl/mprintf.h +52 -0
- package/vendor/curl/include/curl/multi.h +460 -0
- package/vendor/curl/include/curl/options.h +70 -0
- package/vendor/curl/include/curl/stdcheaders.h +35 -0
- package/vendor/curl/include/curl/system.h +508 -0
- package/vendor/curl/include/curl/typecheck-gcc.h +716 -0
- package/vendor/curl/include/curl/urlapi.h +149 -0
- package/vendor/curl/include/curl/websockets.h +84 -0
- package/vendor/mbedtls/LICENSE +553 -0
- package/vendor/mbedtls/include/CMakeLists.txt +22 -0
- package/vendor/mbedtls/include/mbedtls/aes.h +631 -0
- package/vendor/mbedtls/include/mbedtls/aria.h +343 -0
- package/vendor/mbedtls/include/mbedtls/asn1.h +642 -0
- package/vendor/mbedtls/include/mbedtls/asn1write.h +390 -0
- package/vendor/mbedtls/include/mbedtls/base64.h +82 -0
- package/vendor/mbedtls/include/mbedtls/bignum.h +1088 -0
- package/vendor/mbedtls/include/mbedtls/block_cipher.h +76 -0
- package/vendor/mbedtls/include/mbedtls/build_info.h +194 -0
- package/vendor/mbedtls/include/mbedtls/camellia.h +305 -0
- package/vendor/mbedtls/include/mbedtls/ccm.h +526 -0
- package/vendor/mbedtls/include/mbedtls/chacha20.h +209 -0
- package/vendor/mbedtls/include/mbedtls/chachapoly.h +351 -0
- package/vendor/mbedtls/include/mbedtls/check_config.h +1149 -0
- package/vendor/mbedtls/include/mbedtls/cipher.h +1250 -0
- package/vendor/mbedtls/include/mbedtls/cmac.h +246 -0
- package/vendor/mbedtls/include/mbedtls/compat-2.x.h +46 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h +578 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h +873 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h +359 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h +145 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_ssl.h +91 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_x509.h +35 -0
- package/vendor/mbedtls/include/mbedtls/config_psa.h +61 -0
- package/vendor/mbedtls/include/mbedtls/constant_time.h +36 -0
- package/vendor/mbedtls/include/mbedtls/ctr_drbg.h +596 -0
- package/vendor/mbedtls/include/mbedtls/debug.h +156 -0
- package/vendor/mbedtls/include/mbedtls/des.h +385 -0
- package/vendor/mbedtls/include/mbedtls/dhm.h +972 -0
- package/vendor/mbedtls/include/mbedtls/ecdh.h +455 -0
- package/vendor/mbedtls/include/mbedtls/ecdsa.h +674 -0
- package/vendor/mbedtls/include/mbedtls/ecjpake.h +298 -0
- package/vendor/mbedtls/include/mbedtls/ecp.h +1517 -0
- package/vendor/mbedtls/include/mbedtls/entropy.h +274 -0
- package/vendor/mbedtls/include/mbedtls/error.h +201 -0
- package/vendor/mbedtls/include/mbedtls/gcm.h +387 -0
- package/vendor/mbedtls/include/mbedtls/hkdf.h +124 -0
- package/vendor/mbedtls/include/mbedtls/hmac_drbg.h +434 -0
- package/vendor/mbedtls/include/mbedtls/lms.h +440 -0
- package/vendor/mbedtls/include/mbedtls/mbedtls_config.h +4446 -0
- package/vendor/mbedtls/include/mbedtls/md.h +526 -0
- package/vendor/mbedtls/include/mbedtls/md5.h +190 -0
- package/vendor/mbedtls/include/mbedtls/memory_buffer_alloc.h +142 -0
- package/vendor/mbedtls/include/mbedtls/net_sockets.h +299 -0
- package/vendor/mbedtls/include/mbedtls/nist_kw.h +166 -0
- package/vendor/mbedtls/include/mbedtls/oid.h +727 -0
- package/vendor/mbedtls/include/mbedtls/pem.h +160 -0
- package/vendor/mbedtls/include/mbedtls/pk.h +1303 -0
- package/vendor/mbedtls/include/mbedtls/pkcs12.h +186 -0
- package/vendor/mbedtls/include/mbedtls/pkcs5.h +198 -0
- package/vendor/mbedtls/include/mbedtls/pkcs7.h +252 -0
- package/vendor/mbedtls/include/mbedtls/platform.h +516 -0
- package/vendor/mbedtls/include/mbedtls/platform_time.h +79 -0
- package/vendor/mbedtls/include/mbedtls/platform_util.h +247 -0
- package/vendor/mbedtls/include/mbedtls/poly1305.h +168 -0
- package/vendor/mbedtls/include/mbedtls/private_access.h +20 -0
- package/vendor/mbedtls/include/mbedtls/psa_util.h +207 -0
- package/vendor/mbedtls/include/mbedtls/ripemd160.h +136 -0
- package/vendor/mbedtls/include/mbedtls/rsa.h +1170 -0
- package/vendor/mbedtls/include/mbedtls/sha1.h +219 -0
- package/vendor/mbedtls/include/mbedtls/sha256.h +200 -0
- package/vendor/mbedtls/include/mbedtls/sha3.h +172 -0
- package/vendor/mbedtls/include/mbedtls/sha512.h +208 -0
- package/vendor/mbedtls/include/mbedtls/ssl.h +5887 -0
- package/vendor/mbedtls/include/mbedtls/ssl_cache.h +187 -0
- package/vendor/mbedtls/include/mbedtls/ssl_ciphersuites.h +482 -0
- package/vendor/mbedtls/include/mbedtls/ssl_cookie.h +106 -0
- package/vendor/mbedtls/include/mbedtls/ssl_ticket.h +199 -0
- package/vendor/mbedtls/include/mbedtls/threading.h +167 -0
- package/vendor/mbedtls/include/mbedtls/timing.h +94 -0
- package/vendor/mbedtls/include/mbedtls/version.h +78 -0
- package/vendor/mbedtls/include/mbedtls/x509.h +500 -0
- package/vendor/mbedtls/include/mbedtls/x509_crl.h +184 -0
- package/vendor/mbedtls/include/mbedtls/x509_crt.h +1208 -0
- package/vendor/mbedtls/include/mbedtls/x509_csr.h +382 -0
- package/vendor/mbedtls/include/psa/build_info.h +20 -0
- package/vendor/mbedtls/include/psa/crypto.h +4998 -0
- package/vendor/mbedtls/include/psa/crypto_adjust_auto_enabled.h +31 -0
- package/vendor/mbedtls/include/psa/crypto_adjust_config_dependencies.h +51 -0
- package/vendor/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h +101 -0
- package/vendor/mbedtls/include/psa/crypto_adjust_config_synonyms.h +49 -0
- package/vendor/mbedtls/include/psa/crypto_builtin_composites.h +214 -0
- package/vendor/mbedtls/include/psa/crypto_builtin_key_derivation.h +118 -0
- package/vendor/mbedtls/include/psa/crypto_builtin_primitives.h +114 -0
- package/vendor/mbedtls/include/psa/crypto_compat.h +230 -0
- package/vendor/mbedtls/include/psa/crypto_config.h +145 -0
- package/vendor/mbedtls/include/psa/crypto_driver_common.h +44 -0
- package/vendor/mbedtls/include/psa/crypto_driver_contexts_composites.h +151 -0
- package/vendor/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h +52 -0
- package/vendor/mbedtls/include/psa/crypto_driver_contexts_primitives.h +105 -0
- package/vendor/mbedtls/include/psa/crypto_extra.h +2145 -0
- package/vendor/mbedtls/include/psa/crypto_legacy.h +88 -0
- package/vendor/mbedtls/include/psa/crypto_platform.h +102 -0
- package/vendor/mbedtls/include/psa/crypto_se_driver.h +1383 -0
- package/vendor/mbedtls/include/psa/crypto_sizes.h +1319 -0
- package/vendor/mbedtls/include/psa/crypto_struct.h +527 -0
- package/vendor/mbedtls/include/psa/crypto_types.h +508 -0
- package/vendor/mbedtls/include/psa/crypto_values.h +2782 -0
- package/vendor/mbedtls/library/aes.c +2294 -0
- package/vendor/mbedtls/library/aesce.c +624 -0
- package/vendor/mbedtls/library/aesce.h +136 -0
- package/vendor/mbedtls/library/aesni.c +846 -0
- package/vendor/mbedtls/library/aesni.h +162 -0
- package/vendor/mbedtls/library/alignment.h +704 -0
- package/vendor/mbedtls/library/aria.c +969 -0
- package/vendor/mbedtls/library/asn1parse.c +468 -0
- package/vendor/mbedtls/library/asn1write.c +440 -0
- package/vendor/mbedtls/library/base64.c +322 -0
- package/vendor/mbedtls/library/base64_internal.h +45 -0
- package/vendor/mbedtls/library/bignum.c +2583 -0
- package/vendor/mbedtls/library/bignum_core.c +1240 -0
- package/vendor/mbedtls/library/bignum_core.h +872 -0
- package/vendor/mbedtls/library/bignum_core_invasive.h +38 -0
- package/vendor/mbedtls/library/bignum_internal.h +122 -0
- package/vendor/mbedtls/library/bignum_mod.c +394 -0
- package/vendor/mbedtls/library/bignum_mod.h +452 -0
- package/vendor/mbedtls/library/bignum_mod_raw.c +276 -0
- package/vendor/mbedtls/library/bignum_mod_raw.h +416 -0
- package/vendor/mbedtls/library/bignum_mod_raw_invasive.h +34 -0
- package/vendor/mbedtls/library/block_cipher.c +207 -0
- package/vendor/mbedtls/library/block_cipher_internal.h +99 -0
- package/vendor/mbedtls/library/bn_mul.h +1094 -0
- package/vendor/mbedtls/library/camellia.c +1058 -0
- package/vendor/mbedtls/library/ccm.c +777 -0
- package/vendor/mbedtls/library/chacha20.c +563 -0
- package/vendor/mbedtls/library/chacha20_internal.h +23 -0
- package/vendor/mbedtls/library/chachapoly.c +487 -0
- package/vendor/mbedtls/library/check_crypto_config.h +136 -0
- package/vendor/mbedtls/library/cipher.c +1712 -0
- package/vendor/mbedtls/library/cipher_invasive.h +28 -0
- package/vendor/mbedtls/library/cipher_wrap.c +2482 -0
- package/vendor/mbedtls/library/cipher_wrap.h +178 -0
- package/vendor/mbedtls/library/cmac.c +1067 -0
- package/vendor/mbedtls/library/common.h +487 -0
- package/vendor/mbedtls/library/constant_time.c +247 -0
- package/vendor/mbedtls/library/constant_time_impl.h +541 -0
- package/vendor/mbedtls/library/constant_time_internal.h +579 -0
- package/vendor/mbedtls/library/ctr.h +35 -0
- package/vendor/mbedtls/library/ctr_drbg.c +1016 -0
- package/vendor/mbedtls/library/debug.c +475 -0
- package/vendor/mbedtls/library/debug_internal.h +185 -0
- package/vendor/mbedtls/library/des.c +1042 -0
- package/vendor/mbedtls/library/dhm.c +700 -0
- package/vendor/mbedtls/library/ecdh.c +696 -0
- package/vendor/mbedtls/library/ecdsa.c +858 -0
- package/vendor/mbedtls/library/ecjpake.c +1216 -0
- package/vendor/mbedtls/library/ecp.c +3674 -0
- package/vendor/mbedtls/library/ecp_curves.c +6125 -0
- package/vendor/mbedtls/library/ecp_curves_new.c +9 -0
- package/vendor/mbedtls/library/ecp_internal_alt.h +287 -0
- package/vendor/mbedtls/library/ecp_invasive.h +305 -0
- package/vendor/mbedtls/library/entropy.c +680 -0
- package/vendor/mbedtls/library/entropy_poll.c +233 -0
- package/vendor/mbedtls/library/entropy_poll.h +64 -0
- package/vendor/mbedtls/library/error.c +878 -0
- package/vendor/mbedtls/library/gcm.c +1330 -0
- package/vendor/mbedtls/library/hkdf.c +161 -0
- package/vendor/mbedtls/library/hmac_drbg.c +633 -0
- package/vendor/mbedtls/library/lmots.c +789 -0
- package/vendor/mbedtls/library/lmots.h +288 -0
- package/vendor/mbedtls/library/lms.c +778 -0
- package/vendor/mbedtls/library/md.c +1108 -0
- package/vendor/mbedtls/library/md5.c +426 -0
- package/vendor/mbedtls/library/md_psa.h +26 -0
- package/vendor/mbedtls/library/md_wrap.h +46 -0
- package/vendor/mbedtls/library/memory_buffer_alloc.c +751 -0
- package/vendor/mbedtls/library/mps_common.h +181 -0
- package/vendor/mbedtls/library/mps_error.h +89 -0
- package/vendor/mbedtls/library/mps_reader.c +538 -0
- package/vendor/mbedtls/library/mps_reader.h +366 -0
- package/vendor/mbedtls/library/mps_trace.c +112 -0
- package/vendor/mbedtls/library/mps_trace.h +154 -0
- package/vendor/mbedtls/library/net_sockets.c +694 -0
- package/vendor/mbedtls/library/nist_kw.c +729 -0
- package/vendor/mbedtls/library/oid.c +1166 -0
- package/vendor/mbedtls/library/padlock.c +157 -0
- package/vendor/mbedtls/library/padlock.h +111 -0
- package/vendor/mbedtls/library/pem.c +554 -0
- package/vendor/mbedtls/library/pk.c +1602 -0
- package/vendor/mbedtls/library/pk_ecc.c +261 -0
- package/vendor/mbedtls/library/pk_internal.h +241 -0
- package/vendor/mbedtls/library/pk_wrap.c +1618 -0
- package/vendor/mbedtls/library/pk_wrap.h +138 -0
- package/vendor/mbedtls/library/pkcs12.c +437 -0
- package/vendor/mbedtls/library/pkcs5.c +500 -0
- package/vendor/mbedtls/library/pkcs7.c +787 -0
- package/vendor/mbedtls/library/pkparse.c +1392 -0
- package/vendor/mbedtls/library/pkwrite.c +631 -0
- package/vendor/mbedtls/library/pkwrite.h +121 -0
- package/vendor/mbedtls/library/platform.c +402 -0
- package/vendor/mbedtls/library/platform_util.c +258 -0
- package/vendor/mbedtls/library/poly1305.c +492 -0
- package/vendor/mbedtls/library/psa_crypto.c +9532 -0
- package/vendor/mbedtls/library/psa_crypto_aead.c +646 -0
- package/vendor/mbedtls/library/psa_crypto_aead.h +499 -0
- package/vendor/mbedtls/library/psa_crypto_cipher.c +747 -0
- package/vendor/mbedtls/library/psa_crypto_cipher.h +316 -0
- package/vendor/mbedtls/library/psa_crypto_client.c +22 -0
- package/vendor/mbedtls/library/psa_crypto_core.h +983 -0
- package/vendor/mbedtls/library/psa_crypto_core_common.h +52 -0
- package/vendor/mbedtls/library/psa_crypto_driver_wrappers.h +2896 -0
- package/vendor/mbedtls/library/psa_crypto_driver_wrappers_no_static.c +256 -0
- package/vendor/mbedtls/library/psa_crypto_driver_wrappers_no_static.h +31 -0
- package/vendor/mbedtls/library/psa_crypto_ecp.c +594 -0
- package/vendor/mbedtls/library/psa_crypto_ecp.h +267 -0
- package/vendor/mbedtls/library/psa_crypto_ffdh.c +361 -0
- package/vendor/mbedtls/library/psa_crypto_ffdh.h +131 -0
- package/vendor/mbedtls/library/psa_crypto_hash.c +470 -0
- package/vendor/mbedtls/library/psa_crypto_hash.h +211 -0
- package/vendor/mbedtls/library/psa_crypto_invasive.h +92 -0
- package/vendor/mbedtls/library/psa_crypto_its.h +131 -0
- package/vendor/mbedtls/library/psa_crypto_mac.c +505 -0
- package/vendor/mbedtls/library/psa_crypto_mac.h +264 -0
- package/vendor/mbedtls/library/psa_crypto_pake.c +571 -0
- package/vendor/mbedtls/library/psa_crypto_pake.h +159 -0
- package/vendor/mbedtls/library/psa_crypto_random.c +181 -0
- package/vendor/mbedtls/library/psa_crypto_random.h +72 -0
- package/vendor/mbedtls/library/psa_crypto_random_impl.h +200 -0
- package/vendor/mbedtls/library/psa_crypto_rsa.c +714 -0
- package/vendor/mbedtls/library/psa_crypto_rsa.h +321 -0
- package/vendor/mbedtls/library/psa_crypto_se.c +373 -0
- package/vendor/mbedtls/library/psa_crypto_se.h +192 -0
- package/vendor/mbedtls/library/psa_crypto_slot_management.c +1137 -0
- package/vendor/mbedtls/library/psa_crypto_slot_management.h +344 -0
- package/vendor/mbedtls/library/psa_crypto_storage.c +481 -0
- package/vendor/mbedtls/library/psa_crypto_storage.h +392 -0
- package/vendor/mbedtls/library/psa_its_file.c +254 -0
- package/vendor/mbedtls/library/psa_util.c +614 -0
- package/vendor/mbedtls/library/psa_util_internal.h +100 -0
- package/vendor/mbedtls/library/ripemd160.c +490 -0
- package/vendor/mbedtls/library/rsa.c +3121 -0
- package/vendor/mbedtls/library/rsa_alt_helpers.c +455 -0
- package/vendor/mbedtls/library/rsa_alt_helpers.h +209 -0
- package/vendor/mbedtls/library/rsa_internal.h +188 -0
- package/vendor/mbedtls/library/sha1.c +480 -0
- package/vendor/mbedtls/library/sha256.c +983 -0
- package/vendor/mbedtls/library/sha3.c +721 -0
- package/vendor/mbedtls/library/sha512.c +1115 -0
- package/vendor/mbedtls/library/ssl_cache.c +410 -0
- package/vendor/mbedtls/library/ssl_ciphersuites.c +2050 -0
- package/vendor/mbedtls/library/ssl_ciphersuites_internal.h +154 -0
- package/vendor/mbedtls/library/ssl_client.c +1023 -0
- package/vendor/mbedtls/library/ssl_client.h +22 -0
- package/vendor/mbedtls/library/ssl_cookie.c +384 -0
- package/vendor/mbedtls/library/ssl_debug_helpers.h +85 -0
- package/vendor/mbedtls/library/ssl_debug_helpers_generated.c +251 -0
- package/vendor/mbedtls/library/ssl_misc.h +3198 -0
- package/vendor/mbedtls/library/ssl_msg.c +6619 -0
- package/vendor/mbedtls/library/ssl_ticket.c +556 -0
- package/vendor/mbedtls/library/ssl_tls.c +10234 -0
- package/vendor/mbedtls/library/ssl_tls12_client.c +3688 -0
- package/vendor/mbedtls/library/ssl_tls12_server.c +4311 -0
- package/vendor/mbedtls/library/ssl_tls13_client.c +3208 -0
- package/vendor/mbedtls/library/ssl_tls13_generic.c +1793 -0
- package/vendor/mbedtls/library/ssl_tls13_invasive.h +23 -0
- package/vendor/mbedtls/library/ssl_tls13_keys.c +1918 -0
- package/vendor/mbedtls/library/ssl_tls13_keys.h +668 -0
- package/vendor/mbedtls/library/ssl_tls13_server.c +3624 -0
- package/vendor/mbedtls/library/threading.c +193 -0
- package/vendor/mbedtls/library/threading_internal.h +28 -0
- package/vendor/mbedtls/library/timing.c +152 -0
- package/vendor/mbedtls/library/version.c +32 -0
- package/vendor/mbedtls/library/version_features.c +856 -0
- package/vendor/mbedtls/library/x509.c +1776 -0
- package/vendor/mbedtls/library/x509_create.c +570 -0
- package/vendor/mbedtls/library/x509_crl.c +708 -0
- package/vendor/mbedtls/library/x509_crt.c +3311 -0
- package/vendor/mbedtls/library/x509_csr.c +648 -0
- package/vendor/mbedtls/library/x509_internal.h +101 -0
- package/vendor/mbedtls/library/x509write.c +174 -0
- package/vendor/mbedtls/library/x509write_crt.c +688 -0
- package/vendor/mbedtls/library/x509write_csr.c +336 -0
- package/vendor/quickjs-ng/CMakeLists.txt +566 -0
- package/vendor/quickjs-ng/LICENSE +24 -0
- package/vendor/quickjs-ng/README.md +24 -0
- package/vendor/quickjs-ng/api-test.c +1195 -0
- package/vendor/quickjs-ng/builtin-array-fromasync.h +119 -0
- package/vendor/quickjs-ng/builtin-iterator-zip-keyed.h +332 -0
- package/vendor/quickjs-ng/builtin-iterator-zip.h +337 -0
- package/vendor/quickjs-ng/cutils.h +1998 -0
- package/vendor/quickjs-ng/dtoa.c +1619 -0
- package/vendor/quickjs-ng/dtoa.h +87 -0
- package/vendor/quickjs-ng/gen/function_source.c +81 -0
- package/vendor/quickjs-ng/gen/hello.c +53 -0
- package/vendor/quickjs-ng/gen/hello_module.c +106 -0
- package/vendor/quickjs-ng/gen/repl.c +3036 -0
- package/vendor/quickjs-ng/gen/standalone.c +323 -0
- package/vendor/quickjs-ng/gen/test_fib.c +81 -0
- package/vendor/quickjs-ng/libregexp-opcode.h +73 -0
- package/vendor/quickjs-ng/libregexp.c +3474 -0
- package/vendor/quickjs-ng/libregexp.h +101 -0
- package/vendor/quickjs-ng/libunicode-table.h +5173 -0
- package/vendor/quickjs-ng/libunicode.c +2069 -0
- package/vendor/quickjs-ng/libunicode.h +172 -0
- package/vendor/quickjs-ng/list.h +107 -0
- package/vendor/quickjs-ng/lre-test.c +52 -0
- package/vendor/quickjs-ng/qjs.c +762 -0
- package/vendor/quickjs-ng/qjsc.c +673 -0
- package/vendor/quickjs-ng/quickjs-atom.h +280 -0
- package/vendor/quickjs-ng/quickjs-c-atomics.h +54 -0
- package/vendor/quickjs-ng/quickjs-libc.c +5037 -0
- package/vendor/quickjs-ng/quickjs-libc.h +87 -0
- package/vendor/quickjs-ng/quickjs-opcode.h +377 -0
- package/vendor/quickjs-ng/quickjs.c +64041 -0
- package/vendor/quickjs-ng/quickjs.h +1447 -0
- package/vendor/quickjs-ng/run-test262.c +2374 -0
- package/vendor/quickjs-ng/unicode_gen.c +3121 -0
- package/vendor/quickjs-ng/unicode_gen_def.h +310 -0
- package/vendor/ryu/LICENSE-Boost +23 -0
- package/vendor/ryu/common.h +114 -0
- package/vendor/ryu/d2s.c +509 -0
- package/vendor/ryu/d2s_full_table.h +367 -0
- package/vendor/ryu/d2s_intrinsics.h +357 -0
- package/vendor/ryu/d2s_small_table.h +186 -0
- package/vendor/ryu/digit_table.h +35 -0
- package/vendor/ryu/ryu.h +46 -0
- package/vendor/zlib/LICENSE +22 -0
- package/vendor/zlib/adler32.c +164 -0
- package/vendor/zlib/compress.c +75 -0
- package/vendor/zlib/crc32.c +1049 -0
- package/vendor/zlib/crc32.h +9446 -0
- package/vendor/zlib/deflate.c +2139 -0
- package/vendor/zlib/deflate.h +377 -0
- package/vendor/zlib/gzclose.c +23 -0
- package/vendor/zlib/gzguts.h +214 -0
- package/vendor/zlib/gzlib.c +582 -0
- package/vendor/zlib/gzread.c +602 -0
- package/vendor/zlib/gzwrite.c +631 -0
- package/vendor/zlib/infback.c +628 -0
- package/vendor/zlib/inffast.c +320 -0
- package/vendor/zlib/inffast.h +11 -0
- package/vendor/zlib/inffixed.h +94 -0
- package/vendor/zlib/inflate.c +1526 -0
- package/vendor/zlib/inflate.h +126 -0
- package/vendor/zlib/inftrees.c +299 -0
- package/vendor/zlib/inftrees.h +62 -0
- package/vendor/zlib/trees.c +1117 -0
- package/vendor/zlib/trees.h +128 -0
- package/vendor/zlib/uncompr.c +85 -0
- package/vendor/zlib/zconf.h +543 -0
- package/vendor/zlib/zlib.h +1938 -0
- package/vendor/zlib/zutil.c +299 -0
- package/vendor/zlib/zutil.h +254 -0
- package/README.md +0 -3
- package/index.js +0 -2
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* PSA FFDH 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_FFDH_H
|
|
10
|
+
#define PSA_CRYPTO_FFDH_H
|
|
11
|
+
|
|
12
|
+
#include <psa/crypto.h>
|
|
13
|
+
|
|
14
|
+
/** Perform a key agreement and return the FFDH shared secret.
|
|
15
|
+
*
|
|
16
|
+
* \param[in] attributes The attributes of the key to use for the
|
|
17
|
+
* operation.
|
|
18
|
+
* \param[in] peer_key The buffer containing the key context
|
|
19
|
+
* of the peer's public key.
|
|
20
|
+
* \param[in] peer_key_length Size of the \p peer_key buffer in
|
|
21
|
+
* bytes.
|
|
22
|
+
* \param[in] key_buffer The buffer containing the private key
|
|
23
|
+
* context.
|
|
24
|
+
* \param[in] key_buffer_size Size of the \p key_buffer buffer in
|
|
25
|
+
* bytes.
|
|
26
|
+
* \param[out] shared_secret The buffer to which the shared secret
|
|
27
|
+
* is to be written.
|
|
28
|
+
* \param[in] shared_secret_size Size of the \p shared_secret buffer in
|
|
29
|
+
* bytes.
|
|
30
|
+
* \param[out] shared_secret_length On success, the number of bytes that make
|
|
31
|
+
* up the returned shared secret.
|
|
32
|
+
* \retval #PSA_SUCCESS
|
|
33
|
+
* Success. Shared secret successfully calculated.
|
|
34
|
+
* \retval #PSA_ERROR_INVALID_ARGUMENT
|
|
35
|
+
* \p key_buffer_size, \p peer_key_length, \p shared_secret_size
|
|
36
|
+
* do not match
|
|
37
|
+
* \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
|
|
38
|
+
* \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
|
|
39
|
+
*/
|
|
40
|
+
psa_status_t mbedtls_psa_ffdh_key_agreement(
|
|
41
|
+
const psa_key_attributes_t *attributes,
|
|
42
|
+
const uint8_t *peer_key,
|
|
43
|
+
size_t peer_key_length,
|
|
44
|
+
const uint8_t *key_buffer,
|
|
45
|
+
size_t key_buffer_size,
|
|
46
|
+
uint8_t *shared_secret,
|
|
47
|
+
size_t shared_secret_size,
|
|
48
|
+
size_t *shared_secret_length);
|
|
49
|
+
|
|
50
|
+
/** Export a public key or the public part of a DH key pair in binary format.
|
|
51
|
+
*
|
|
52
|
+
* \param[in] attributes The attributes for the key to export.
|
|
53
|
+
* \param[in] key_buffer Material or context of the key to export.
|
|
54
|
+
* \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
|
|
55
|
+
* \param[out] data Buffer where the key data is to be written.
|
|
56
|
+
* \param[in] data_size Size of the \p data buffer in bytes.
|
|
57
|
+
* \param[out] data_length On success, the number of bytes written in
|
|
58
|
+
* \p data
|
|
59
|
+
*
|
|
60
|
+
* \retval #PSA_SUCCESS The public key was exported successfully.
|
|
61
|
+
* \retval #PSA_ERROR_BUFFER_TOO_SMALL
|
|
62
|
+
* The size of \p key_buffer is too small.
|
|
63
|
+
* \retval #PSA_ERROR_NOT_PERMITTED \emptydescription
|
|
64
|
+
* \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
|
|
65
|
+
* \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
|
|
66
|
+
*/
|
|
67
|
+
psa_status_t mbedtls_psa_ffdh_export_public_key(
|
|
68
|
+
const psa_key_attributes_t *attributes,
|
|
69
|
+
const uint8_t *key_buffer,
|
|
70
|
+
size_t key_buffer_size,
|
|
71
|
+
uint8_t *data,
|
|
72
|
+
size_t data_size,
|
|
73
|
+
size_t *data_length);
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* \brief Generate DH key.
|
|
77
|
+
*
|
|
78
|
+
* \note The signature of the function is that of a PSA driver generate_key
|
|
79
|
+
* entry point.
|
|
80
|
+
*
|
|
81
|
+
* \param[in] attributes The attributes for the key to generate.
|
|
82
|
+
* \param[out] key_buffer Buffer where the key data is to be written.
|
|
83
|
+
* \param[in] key_buffer_size Size of \p key_buffer in bytes.
|
|
84
|
+
* \param[out] key_buffer_length On success, the number of bytes written in
|
|
85
|
+
* \p key_buffer.
|
|
86
|
+
*
|
|
87
|
+
* \retval #PSA_SUCCESS
|
|
88
|
+
* The key was generated successfully.
|
|
89
|
+
* \retval #PSA_ERROR_NOT_SUPPORTED
|
|
90
|
+
* Key size in bits is invalid.
|
|
91
|
+
* \retval #PSA_ERROR_BUFFER_TOO_SMALL
|
|
92
|
+
* The size of \p key_buffer is too small.
|
|
93
|
+
* \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
|
|
94
|
+
* \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
|
|
95
|
+
*/
|
|
96
|
+
psa_status_t mbedtls_psa_ffdh_generate_key(
|
|
97
|
+
const psa_key_attributes_t *attributes,
|
|
98
|
+
uint8_t *key_buffer,
|
|
99
|
+
size_t key_buffer_size,
|
|
100
|
+
size_t *key_buffer_length);
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* \brief Import DH key.
|
|
104
|
+
*
|
|
105
|
+
* \note The signature of the function is that of a PSA driver import_key
|
|
106
|
+
* entry point.
|
|
107
|
+
*
|
|
108
|
+
* \param[in] attributes The attributes for the key to import.
|
|
109
|
+
* \param[in] data The buffer containing the key data in import
|
|
110
|
+
* format.
|
|
111
|
+
* \param[in] data_length Size of the \p data buffer in bytes.
|
|
112
|
+
* \param[out] key_buffer The buffer containing the key data in output
|
|
113
|
+
* format.
|
|
114
|
+
* \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes. This
|
|
115
|
+
* size is greater or equal to \p data_length.
|
|
116
|
+
* \param[out] key_buffer_length The length of the data written in \p
|
|
117
|
+
* key_buffer in bytes.
|
|
118
|
+
* \param[out] bits The key size in number of bits.
|
|
119
|
+
*
|
|
120
|
+
* \retval #PSA_SUCCESS
|
|
121
|
+
* The key was generated successfully.
|
|
122
|
+
* \retval #PSA_ERROR_BUFFER_TOO_SMALL
|
|
123
|
+
* The size of \p key_buffer is too small.
|
|
124
|
+
*/
|
|
125
|
+
psa_status_t mbedtls_psa_ffdh_import_key(
|
|
126
|
+
const psa_key_attributes_t *attributes,
|
|
127
|
+
const uint8_t *data, size_t data_length,
|
|
128
|
+
uint8_t *key_buffer, size_t key_buffer_size,
|
|
129
|
+
size_t *key_buffer_length, size_t *bits);
|
|
130
|
+
|
|
131
|
+
#endif /* PSA_CRYPTO_FFDH_H */
|
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* PSA hashing layer on top of Mbed TLS software 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
|
+
#include "common.h"
|
|
10
|
+
|
|
11
|
+
#if defined(MBEDTLS_PSA_CRYPTO_C)
|
|
12
|
+
|
|
13
|
+
#include <psa/crypto.h>
|
|
14
|
+
#include "psa_crypto_core.h"
|
|
15
|
+
#include "psa_crypto_hash.h"
|
|
16
|
+
|
|
17
|
+
#include <mbedtls/error.h>
|
|
18
|
+
#include <string.h>
|
|
19
|
+
|
|
20
|
+
#if defined(MBEDTLS_PSA_BUILTIN_HASH)
|
|
21
|
+
psa_status_t mbedtls_psa_hash_abort(
|
|
22
|
+
mbedtls_psa_hash_operation_t *operation)
|
|
23
|
+
{
|
|
24
|
+
switch (operation->alg) {
|
|
25
|
+
case 0:
|
|
26
|
+
/* The object has (apparently) been initialized but it is not
|
|
27
|
+
* in use. It's ok to call abort on such an object, and there's
|
|
28
|
+
* nothing to do. */
|
|
29
|
+
break;
|
|
30
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_MD5)
|
|
31
|
+
case PSA_ALG_MD5:
|
|
32
|
+
mbedtls_md5_free(&operation->ctx.md5);
|
|
33
|
+
break;
|
|
34
|
+
#endif
|
|
35
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160)
|
|
36
|
+
case PSA_ALG_RIPEMD160:
|
|
37
|
+
mbedtls_ripemd160_free(&operation->ctx.ripemd160);
|
|
38
|
+
break;
|
|
39
|
+
#endif
|
|
40
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_1)
|
|
41
|
+
case PSA_ALG_SHA_1:
|
|
42
|
+
mbedtls_sha1_free(&operation->ctx.sha1);
|
|
43
|
+
break;
|
|
44
|
+
#endif
|
|
45
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_224)
|
|
46
|
+
case PSA_ALG_SHA_224:
|
|
47
|
+
mbedtls_sha256_free(&operation->ctx.sha256);
|
|
48
|
+
break;
|
|
49
|
+
#endif
|
|
50
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_256)
|
|
51
|
+
case PSA_ALG_SHA_256:
|
|
52
|
+
mbedtls_sha256_free(&operation->ctx.sha256);
|
|
53
|
+
break;
|
|
54
|
+
#endif
|
|
55
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_384)
|
|
56
|
+
case PSA_ALG_SHA_384:
|
|
57
|
+
mbedtls_sha512_free(&operation->ctx.sha512);
|
|
58
|
+
break;
|
|
59
|
+
#endif
|
|
60
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_512)
|
|
61
|
+
case PSA_ALG_SHA_512:
|
|
62
|
+
mbedtls_sha512_free(&operation->ctx.sha512);
|
|
63
|
+
break;
|
|
64
|
+
#endif
|
|
65
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_224)
|
|
66
|
+
case PSA_ALG_SHA3_224:
|
|
67
|
+
#endif
|
|
68
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_256)
|
|
69
|
+
case PSA_ALG_SHA3_256:
|
|
70
|
+
#endif
|
|
71
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_384)
|
|
72
|
+
case PSA_ALG_SHA3_384:
|
|
73
|
+
#endif
|
|
74
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_512)
|
|
75
|
+
case PSA_ALG_SHA3_512:
|
|
76
|
+
#endif
|
|
77
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_224) || \
|
|
78
|
+
defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_256) || \
|
|
79
|
+
defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_384) || \
|
|
80
|
+
defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_512)
|
|
81
|
+
mbedtls_sha3_free(&operation->ctx.sha3);
|
|
82
|
+
break;
|
|
83
|
+
#endif
|
|
84
|
+
default:
|
|
85
|
+
return PSA_ERROR_BAD_STATE;
|
|
86
|
+
}
|
|
87
|
+
operation->alg = 0;
|
|
88
|
+
return PSA_SUCCESS;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
psa_status_t mbedtls_psa_hash_setup(
|
|
92
|
+
mbedtls_psa_hash_operation_t *operation,
|
|
93
|
+
psa_algorithm_t alg)
|
|
94
|
+
{
|
|
95
|
+
int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
|
|
96
|
+
|
|
97
|
+
/* A context must be freshly initialized before it can be set up. */
|
|
98
|
+
if (operation->alg != 0) {
|
|
99
|
+
return PSA_ERROR_BAD_STATE;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
switch (alg) {
|
|
103
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_MD5)
|
|
104
|
+
case PSA_ALG_MD5:
|
|
105
|
+
mbedtls_md5_init(&operation->ctx.md5);
|
|
106
|
+
ret = mbedtls_md5_starts(&operation->ctx.md5);
|
|
107
|
+
break;
|
|
108
|
+
#endif
|
|
109
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160)
|
|
110
|
+
case PSA_ALG_RIPEMD160:
|
|
111
|
+
mbedtls_ripemd160_init(&operation->ctx.ripemd160);
|
|
112
|
+
ret = mbedtls_ripemd160_starts(&operation->ctx.ripemd160);
|
|
113
|
+
break;
|
|
114
|
+
#endif
|
|
115
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_1)
|
|
116
|
+
case PSA_ALG_SHA_1:
|
|
117
|
+
mbedtls_sha1_init(&operation->ctx.sha1);
|
|
118
|
+
ret = mbedtls_sha1_starts(&operation->ctx.sha1);
|
|
119
|
+
break;
|
|
120
|
+
#endif
|
|
121
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_224)
|
|
122
|
+
case PSA_ALG_SHA_224:
|
|
123
|
+
mbedtls_sha256_init(&operation->ctx.sha256);
|
|
124
|
+
ret = mbedtls_sha256_starts(&operation->ctx.sha256, 1);
|
|
125
|
+
break;
|
|
126
|
+
#endif
|
|
127
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_256)
|
|
128
|
+
case PSA_ALG_SHA_256:
|
|
129
|
+
mbedtls_sha256_init(&operation->ctx.sha256);
|
|
130
|
+
ret = mbedtls_sha256_starts(&operation->ctx.sha256, 0);
|
|
131
|
+
break;
|
|
132
|
+
#endif
|
|
133
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_384)
|
|
134
|
+
case PSA_ALG_SHA_384:
|
|
135
|
+
mbedtls_sha512_init(&operation->ctx.sha512);
|
|
136
|
+
ret = mbedtls_sha512_starts(&operation->ctx.sha512, 1);
|
|
137
|
+
break;
|
|
138
|
+
#endif
|
|
139
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_512)
|
|
140
|
+
case PSA_ALG_SHA_512:
|
|
141
|
+
mbedtls_sha512_init(&operation->ctx.sha512);
|
|
142
|
+
ret = mbedtls_sha512_starts(&operation->ctx.sha512, 0);
|
|
143
|
+
break;
|
|
144
|
+
#endif
|
|
145
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_224)
|
|
146
|
+
case PSA_ALG_SHA3_224:
|
|
147
|
+
mbedtls_sha3_init(&operation->ctx.sha3);
|
|
148
|
+
ret = mbedtls_sha3_starts(&operation->ctx.sha3, MBEDTLS_SHA3_224);
|
|
149
|
+
break;
|
|
150
|
+
#endif
|
|
151
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_256)
|
|
152
|
+
case PSA_ALG_SHA3_256:
|
|
153
|
+
mbedtls_sha3_init(&operation->ctx.sha3);
|
|
154
|
+
ret = mbedtls_sha3_starts(&operation->ctx.sha3, MBEDTLS_SHA3_256);
|
|
155
|
+
break;
|
|
156
|
+
#endif
|
|
157
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_384)
|
|
158
|
+
case PSA_ALG_SHA3_384:
|
|
159
|
+
mbedtls_sha3_init(&operation->ctx.sha3);
|
|
160
|
+
ret = mbedtls_sha3_starts(&operation->ctx.sha3, MBEDTLS_SHA3_384);
|
|
161
|
+
break;
|
|
162
|
+
#endif
|
|
163
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_512)
|
|
164
|
+
case PSA_ALG_SHA3_512:
|
|
165
|
+
mbedtls_sha3_init(&operation->ctx.sha3);
|
|
166
|
+
ret = mbedtls_sha3_starts(&operation->ctx.sha3, MBEDTLS_SHA3_512);
|
|
167
|
+
break;
|
|
168
|
+
#endif
|
|
169
|
+
default:
|
|
170
|
+
return PSA_ALG_IS_HASH(alg) ?
|
|
171
|
+
PSA_ERROR_NOT_SUPPORTED :
|
|
172
|
+
PSA_ERROR_INVALID_ARGUMENT;
|
|
173
|
+
}
|
|
174
|
+
if (ret == 0) {
|
|
175
|
+
operation->alg = alg;
|
|
176
|
+
} else {
|
|
177
|
+
mbedtls_psa_hash_abort(operation);
|
|
178
|
+
}
|
|
179
|
+
return mbedtls_to_psa_error(ret);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
psa_status_t mbedtls_psa_hash_clone(
|
|
183
|
+
const mbedtls_psa_hash_operation_t *source_operation,
|
|
184
|
+
mbedtls_psa_hash_operation_t *target_operation)
|
|
185
|
+
{
|
|
186
|
+
switch (source_operation->alg) {
|
|
187
|
+
case 0:
|
|
188
|
+
return PSA_ERROR_BAD_STATE;
|
|
189
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_MD5)
|
|
190
|
+
case PSA_ALG_MD5:
|
|
191
|
+
mbedtls_md5_clone(&target_operation->ctx.md5,
|
|
192
|
+
&source_operation->ctx.md5);
|
|
193
|
+
break;
|
|
194
|
+
#endif
|
|
195
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160)
|
|
196
|
+
case PSA_ALG_RIPEMD160:
|
|
197
|
+
mbedtls_ripemd160_clone(&target_operation->ctx.ripemd160,
|
|
198
|
+
&source_operation->ctx.ripemd160);
|
|
199
|
+
break;
|
|
200
|
+
#endif
|
|
201
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_1)
|
|
202
|
+
case PSA_ALG_SHA_1:
|
|
203
|
+
mbedtls_sha1_clone(&target_operation->ctx.sha1,
|
|
204
|
+
&source_operation->ctx.sha1);
|
|
205
|
+
break;
|
|
206
|
+
#endif
|
|
207
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_224)
|
|
208
|
+
case PSA_ALG_SHA_224:
|
|
209
|
+
mbedtls_sha256_clone(&target_operation->ctx.sha256,
|
|
210
|
+
&source_operation->ctx.sha256);
|
|
211
|
+
break;
|
|
212
|
+
#endif
|
|
213
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_256)
|
|
214
|
+
case PSA_ALG_SHA_256:
|
|
215
|
+
mbedtls_sha256_clone(&target_operation->ctx.sha256,
|
|
216
|
+
&source_operation->ctx.sha256);
|
|
217
|
+
break;
|
|
218
|
+
#endif
|
|
219
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_384)
|
|
220
|
+
case PSA_ALG_SHA_384:
|
|
221
|
+
mbedtls_sha512_clone(&target_operation->ctx.sha512,
|
|
222
|
+
&source_operation->ctx.sha512);
|
|
223
|
+
break;
|
|
224
|
+
#endif
|
|
225
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_512)
|
|
226
|
+
case PSA_ALG_SHA_512:
|
|
227
|
+
mbedtls_sha512_clone(&target_operation->ctx.sha512,
|
|
228
|
+
&source_operation->ctx.sha512);
|
|
229
|
+
break;
|
|
230
|
+
#endif
|
|
231
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_224)
|
|
232
|
+
case PSA_ALG_SHA3_224:
|
|
233
|
+
#endif
|
|
234
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_256)
|
|
235
|
+
case PSA_ALG_SHA3_256:
|
|
236
|
+
#endif
|
|
237
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_384)
|
|
238
|
+
case PSA_ALG_SHA3_384:
|
|
239
|
+
#endif
|
|
240
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_512)
|
|
241
|
+
case PSA_ALG_SHA3_512:
|
|
242
|
+
#endif
|
|
243
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_224) || \
|
|
244
|
+
defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_256) || \
|
|
245
|
+
defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_384) || \
|
|
246
|
+
defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_512)
|
|
247
|
+
mbedtls_sha3_clone(&target_operation->ctx.sha3,
|
|
248
|
+
&source_operation->ctx.sha3);
|
|
249
|
+
break;
|
|
250
|
+
#endif
|
|
251
|
+
default:
|
|
252
|
+
(void) source_operation;
|
|
253
|
+
(void) target_operation;
|
|
254
|
+
return PSA_ERROR_NOT_SUPPORTED;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
target_operation->alg = source_operation->alg;
|
|
258
|
+
return PSA_SUCCESS;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
psa_status_t mbedtls_psa_hash_update(
|
|
262
|
+
mbedtls_psa_hash_operation_t *operation,
|
|
263
|
+
const uint8_t *input,
|
|
264
|
+
size_t input_length)
|
|
265
|
+
{
|
|
266
|
+
int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
|
|
267
|
+
|
|
268
|
+
switch (operation->alg) {
|
|
269
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_MD5)
|
|
270
|
+
case PSA_ALG_MD5:
|
|
271
|
+
ret = mbedtls_md5_update(&operation->ctx.md5,
|
|
272
|
+
input, input_length);
|
|
273
|
+
break;
|
|
274
|
+
#endif
|
|
275
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160)
|
|
276
|
+
case PSA_ALG_RIPEMD160:
|
|
277
|
+
ret = mbedtls_ripemd160_update(&operation->ctx.ripemd160,
|
|
278
|
+
input, input_length);
|
|
279
|
+
break;
|
|
280
|
+
#endif
|
|
281
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_1)
|
|
282
|
+
case PSA_ALG_SHA_1:
|
|
283
|
+
ret = mbedtls_sha1_update(&operation->ctx.sha1,
|
|
284
|
+
input, input_length);
|
|
285
|
+
break;
|
|
286
|
+
#endif
|
|
287
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_224)
|
|
288
|
+
case PSA_ALG_SHA_224:
|
|
289
|
+
ret = mbedtls_sha256_update(&operation->ctx.sha256,
|
|
290
|
+
input, input_length);
|
|
291
|
+
break;
|
|
292
|
+
#endif
|
|
293
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_256)
|
|
294
|
+
case PSA_ALG_SHA_256:
|
|
295
|
+
ret = mbedtls_sha256_update(&operation->ctx.sha256,
|
|
296
|
+
input, input_length);
|
|
297
|
+
break;
|
|
298
|
+
#endif
|
|
299
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_384)
|
|
300
|
+
case PSA_ALG_SHA_384:
|
|
301
|
+
ret = mbedtls_sha512_update(&operation->ctx.sha512,
|
|
302
|
+
input, input_length);
|
|
303
|
+
break;
|
|
304
|
+
#endif
|
|
305
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_512)
|
|
306
|
+
case PSA_ALG_SHA_512:
|
|
307
|
+
ret = mbedtls_sha512_update(&operation->ctx.sha512,
|
|
308
|
+
input, input_length);
|
|
309
|
+
break;
|
|
310
|
+
#endif
|
|
311
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_224)
|
|
312
|
+
case PSA_ALG_SHA3_224:
|
|
313
|
+
#endif
|
|
314
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_256)
|
|
315
|
+
case PSA_ALG_SHA3_256:
|
|
316
|
+
#endif
|
|
317
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_384)
|
|
318
|
+
case PSA_ALG_SHA3_384:
|
|
319
|
+
#endif
|
|
320
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_512)
|
|
321
|
+
case PSA_ALG_SHA3_512:
|
|
322
|
+
#endif
|
|
323
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_224) || \
|
|
324
|
+
defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_256) || \
|
|
325
|
+
defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_384) || \
|
|
326
|
+
defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_512)
|
|
327
|
+
ret = mbedtls_sha3_update(&operation->ctx.sha3,
|
|
328
|
+
input, input_length);
|
|
329
|
+
break;
|
|
330
|
+
#endif
|
|
331
|
+
default:
|
|
332
|
+
(void) input;
|
|
333
|
+
(void) input_length;
|
|
334
|
+
return PSA_ERROR_BAD_STATE;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
return mbedtls_to_psa_error(ret);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
psa_status_t mbedtls_psa_hash_finish(
|
|
341
|
+
mbedtls_psa_hash_operation_t *operation,
|
|
342
|
+
uint8_t *hash,
|
|
343
|
+
size_t hash_size,
|
|
344
|
+
size_t *hash_length)
|
|
345
|
+
{
|
|
346
|
+
psa_status_t status;
|
|
347
|
+
int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
|
|
348
|
+
size_t actual_hash_length = PSA_HASH_LENGTH(operation->alg);
|
|
349
|
+
|
|
350
|
+
/* Fill the output buffer with something that isn't a valid hash
|
|
351
|
+
* (barring an attack on the hash and deliberately-crafted input),
|
|
352
|
+
* in case the caller doesn't check the return status properly. */
|
|
353
|
+
*hash_length = hash_size;
|
|
354
|
+
/* If hash_size is 0 then hash may be NULL and then the
|
|
355
|
+
* call to memset would have undefined behavior. */
|
|
356
|
+
if (hash_size != 0) {
|
|
357
|
+
memset(hash, '!', hash_size);
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
if (hash_size < actual_hash_length) {
|
|
361
|
+
status = PSA_ERROR_BUFFER_TOO_SMALL;
|
|
362
|
+
goto exit;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
switch (operation->alg) {
|
|
366
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_MD5)
|
|
367
|
+
case PSA_ALG_MD5:
|
|
368
|
+
ret = mbedtls_md5_finish(&operation->ctx.md5, hash);
|
|
369
|
+
break;
|
|
370
|
+
#endif
|
|
371
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160)
|
|
372
|
+
case PSA_ALG_RIPEMD160:
|
|
373
|
+
ret = mbedtls_ripemd160_finish(&operation->ctx.ripemd160, hash);
|
|
374
|
+
break;
|
|
375
|
+
#endif
|
|
376
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_1)
|
|
377
|
+
case PSA_ALG_SHA_1:
|
|
378
|
+
ret = mbedtls_sha1_finish(&operation->ctx.sha1, hash);
|
|
379
|
+
break;
|
|
380
|
+
#endif
|
|
381
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_224)
|
|
382
|
+
case PSA_ALG_SHA_224:
|
|
383
|
+
ret = mbedtls_sha256_finish(&operation->ctx.sha256, hash);
|
|
384
|
+
break;
|
|
385
|
+
#endif
|
|
386
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_256)
|
|
387
|
+
case PSA_ALG_SHA_256:
|
|
388
|
+
ret = mbedtls_sha256_finish(&operation->ctx.sha256, hash);
|
|
389
|
+
break;
|
|
390
|
+
#endif
|
|
391
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_384)
|
|
392
|
+
case PSA_ALG_SHA_384:
|
|
393
|
+
ret = mbedtls_sha512_finish(&operation->ctx.sha512, hash);
|
|
394
|
+
break;
|
|
395
|
+
#endif
|
|
396
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_512)
|
|
397
|
+
case PSA_ALG_SHA_512:
|
|
398
|
+
ret = mbedtls_sha512_finish(&operation->ctx.sha512, hash);
|
|
399
|
+
break;
|
|
400
|
+
#endif
|
|
401
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_224)
|
|
402
|
+
case PSA_ALG_SHA3_224:
|
|
403
|
+
#endif
|
|
404
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_256)
|
|
405
|
+
case PSA_ALG_SHA3_256:
|
|
406
|
+
#endif
|
|
407
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_384)
|
|
408
|
+
case PSA_ALG_SHA3_384:
|
|
409
|
+
#endif
|
|
410
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_512)
|
|
411
|
+
case PSA_ALG_SHA3_512:
|
|
412
|
+
#endif
|
|
413
|
+
#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_224) || \
|
|
414
|
+
defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_256) || \
|
|
415
|
+
defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_384) || \
|
|
416
|
+
defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_512)
|
|
417
|
+
ret = mbedtls_sha3_finish(&operation->ctx.sha3, hash, hash_size);
|
|
418
|
+
break;
|
|
419
|
+
#endif
|
|
420
|
+
default:
|
|
421
|
+
(void) hash;
|
|
422
|
+
return PSA_ERROR_BAD_STATE;
|
|
423
|
+
}
|
|
424
|
+
status = mbedtls_to_psa_error(ret);
|
|
425
|
+
|
|
426
|
+
exit:
|
|
427
|
+
if (status == PSA_SUCCESS) {
|
|
428
|
+
*hash_length = actual_hash_length;
|
|
429
|
+
}
|
|
430
|
+
return status;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
psa_status_t mbedtls_psa_hash_compute(
|
|
434
|
+
psa_algorithm_t alg,
|
|
435
|
+
const uint8_t *input,
|
|
436
|
+
size_t input_length,
|
|
437
|
+
uint8_t *hash,
|
|
438
|
+
size_t hash_size,
|
|
439
|
+
size_t *hash_length)
|
|
440
|
+
{
|
|
441
|
+
mbedtls_psa_hash_operation_t operation = MBEDTLS_PSA_HASH_OPERATION_INIT;
|
|
442
|
+
psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
|
|
443
|
+
psa_status_t abort_status = PSA_ERROR_CORRUPTION_DETECTED;
|
|
444
|
+
|
|
445
|
+
*hash_length = hash_size;
|
|
446
|
+
status = mbedtls_psa_hash_setup(&operation, alg);
|
|
447
|
+
if (status != PSA_SUCCESS) {
|
|
448
|
+
goto exit;
|
|
449
|
+
}
|
|
450
|
+
status = mbedtls_psa_hash_update(&operation, input, input_length);
|
|
451
|
+
if (status != PSA_SUCCESS) {
|
|
452
|
+
goto exit;
|
|
453
|
+
}
|
|
454
|
+
status = mbedtls_psa_hash_finish(&operation, hash, hash_size, hash_length);
|
|
455
|
+
if (status != PSA_SUCCESS) {
|
|
456
|
+
goto exit;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
exit:
|
|
460
|
+
abort_status = mbedtls_psa_hash_abort(&operation);
|
|
461
|
+
if (status == PSA_SUCCESS) {
|
|
462
|
+
return abort_status;
|
|
463
|
+
} else {
|
|
464
|
+
return status;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
}
|
|
468
|
+
#endif /* MBEDTLS_PSA_BUILTIN_HASH */
|
|
469
|
+
|
|
470
|
+
#endif /* MBEDTLS_PSA_CRYPTO_C */
|