edhoc 1.0.1 → 1.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.
Files changed (657) hide show
  1. package/binding.gyp +64 -0
  2. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_decode.h +35 -0
  3. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_encode.h +35 -0
  4. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_types.h +34 -0
  5. package/external/libedhoc/backends/cbor/include/backend_cbor_ead_decode.h +35 -0
  6. package/external/libedhoc/backends/cbor/include/backend_cbor_ead_encode.h +35 -0
  7. package/external/libedhoc/backends/cbor/include/backend_cbor_edhoc_types.h +97 -0
  8. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_decode.h +35 -0
  9. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_encode.h +35 -0
  10. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_types.h +37 -0
  11. package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_decode.h +35 -0
  12. package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_encode.h +35 -0
  13. package/external/libedhoc/backends/cbor/include/backend_cbor_info_decode.h +35 -0
  14. package/external/libedhoc/backends/cbor/include/backend_cbor_info_encode.h +35 -0
  15. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_decode.h +35 -0
  16. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_encode.h +35 -0
  17. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_types.h +34 -0
  18. package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_decode.h +35 -0
  19. package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_encode.h +35 -0
  20. package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_decode.h +35 -0
  21. package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_encode.h +35 -0
  22. package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_decode.h +35 -0
  23. package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_encode.h +35 -0
  24. package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_decode.h +35 -0
  25. package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_encode.h +35 -0
  26. package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_decode.h +35 -0
  27. package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_encode.h +35 -0
  28. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_decode.h +35 -0
  29. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_encode.h +35 -0
  30. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_decode.h +35 -0
  31. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_encode.h +35 -0
  32. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_decode.h +35 -0
  33. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_encode.h +35 -0
  34. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_decode.h +35 -0
  35. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_encode.h +35 -0
  36. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_types.h +38 -0
  37. package/external/libedhoc/backends/cbor/include/backend_cbor_x509_types.h +170 -0
  38. package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_decode.c +59 -0
  39. package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_encode.c +59 -0
  40. package/external/libedhoc/backends/cbor/src/backend_cbor_ead_decode.c +74 -0
  41. package/external/libedhoc/backends/cbor/src/backend_cbor_ead_encode.c +74 -0
  42. package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_decode.c +62 -0
  43. package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_encode.c +62 -0
  44. package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_decode.c +141 -0
  45. package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_encode.c +141 -0
  46. package/external/libedhoc/backends/cbor/src/backend_cbor_info_decode.c +61 -0
  47. package/external/libedhoc/backends/cbor/src/backend_cbor_info_encode.c +61 -0
  48. package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_decode.c +59 -0
  49. package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_encode.c +59 -0
  50. package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_decode.c +112 -0
  51. package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_encode.c +112 -0
  52. package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_decode.c +59 -0
  53. package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_encode.c +59 -0
  54. package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_decode.c +59 -0
  55. package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_encode.c +59 -0
  56. package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_decode.c +59 -0
  57. package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_encode.c +59 -0
  58. package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_decode.c +93 -0
  59. package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_encode.c +93 -0
  60. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_decode.c +193 -0
  61. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_encode.c +194 -0
  62. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_decode.c +189 -0
  63. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_encode.c +189 -0
  64. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_decode.c +88 -0
  65. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_encode.c +88 -0
  66. package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_decode.c +63 -0
  67. package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_encode.c +63 -0
  68. package/external/libedhoc/externals/compact25519/src/c25519/c25519.c +126 -0
  69. package/external/libedhoc/externals/compact25519/src/c25519/c25519.h +49 -0
  70. package/external/libedhoc/externals/compact25519/src/c25519/ed25519.c +323 -0
  71. package/external/libedhoc/externals/compact25519/src/c25519/ed25519.h +84 -0
  72. package/external/libedhoc/externals/compact25519/src/c25519/edsign.c +171 -0
  73. package/external/libedhoc/externals/compact25519/src/c25519/edsign.h +53 -0
  74. package/external/libedhoc/externals/compact25519/src/c25519/f25519.c +330 -0
  75. package/external/libedhoc/externals/compact25519/src/c25519/f25519.h +98 -0
  76. package/external/libedhoc/externals/compact25519/src/c25519/fprime.c +226 -0
  77. package/external/libedhoc/externals/compact25519/src/c25519/fprime.h +81 -0
  78. package/external/libedhoc/externals/compact25519/src/c25519/sha512.c +230 -0
  79. package/external/libedhoc/externals/compact25519/src/c25519/sha512.h +54 -0
  80. package/external/libedhoc/externals/compact25519/src/compact_ed25519.c +46 -0
  81. package/external/libedhoc/externals/compact25519/src/compact_ed25519.h +110 -0
  82. package/external/libedhoc/externals/compact25519/src/compact_wipe.c +12 -0
  83. package/external/libedhoc/externals/compact25519/src/compact_wipe.h +14 -0
  84. package/external/libedhoc/externals/compact25519/src/compact_x25519.c +68 -0
  85. package/external/libedhoc/externals/compact25519/src/compact_x25519.h +101 -0
  86. package/external/libedhoc/externals/compact25519/test/pcg_random.h +25 -0
  87. package/external/libedhoc/externals/compact25519/test/run-all.c +178 -0
  88. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/Hacl_Curve25519.h +21 -0
  89. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/everest.h +234 -0
  90. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib/FStar_UInt128.h +124 -0
  91. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.h +280 -0
  92. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib.h +29 -0
  93. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h +204 -0
  94. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/builtin.h +16 -0
  95. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/callconv.h +46 -0
  96. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/compat.h +34 -0
  97. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/debug.h +57 -0
  98. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/target.h +102 -0
  99. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/types.h +61 -0
  100. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/wasmsupport.h +5 -0
  101. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/Hacl_Curve25519.h +21 -0
  102. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/inttypes.h +36 -0
  103. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/stdbool.h +31 -0
  104. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/x25519.h +190 -0
  105. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c +760 -0
  106. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/Hacl_Curve25519_joined.c +50 -0
  107. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/everest.c +102 -0
  108. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c +413 -0
  109. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c +100 -0
  110. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c +805 -0
  111. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/x25519.c +186 -0
  112. package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m/p256-m.c +1514 -0
  113. package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m/p256-m.h +135 -0
  114. package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c +312 -0
  115. package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.h +219 -0
  116. package/external/libedhoc/externals/mbedtls/configs/config-ccm-psk-dtls1_2.h +92 -0
  117. package/external/libedhoc/externals/mbedtls/configs/config-ccm-psk-tls1_2.h +83 -0
  118. package/external/libedhoc/externals/mbedtls/configs/config-no-entropy.h +73 -0
  119. package/external/libedhoc/externals/mbedtls/configs/config-suite-b.h +106 -0
  120. package/external/libedhoc/externals/mbedtls/configs/config-symmetric-only.h +77 -0
  121. package/external/libedhoc/externals/mbedtls/configs/config-thread.h +76 -0
  122. package/external/libedhoc/externals/mbedtls/configs/crypto-config-ccm-aes-sha256.h +25 -0
  123. package/external/libedhoc/externals/mbedtls/configs/crypto_config_profile_medium.h +136 -0
  124. package/external/libedhoc/externals/mbedtls/configs/tfm_mbedcrypto_config_profile_medium.h +609 -0
  125. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_encdec.h +54 -0
  126. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_hashing.h +30 -0
  127. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_mainpage.h +19 -0
  128. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_rng.h +27 -0
  129. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_ssltls.h +37 -0
  130. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_tcpip.h +32 -0
  131. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_x509.h +31 -0
  132. package/external/libedhoc/externals/mbedtls/include/mbedtls/aes.h +627 -0
  133. package/external/libedhoc/externals/mbedtls/include/mbedtls/aria.h +341 -0
  134. package/external/libedhoc/externals/mbedtls/include/mbedtls/asn1.h +641 -0
  135. package/external/libedhoc/externals/mbedtls/include/mbedtls/asn1write.h +389 -0
  136. package/external/libedhoc/externals/mbedtls/include/mbedtls/base64.h +82 -0
  137. package/external/libedhoc/externals/mbedtls/include/mbedtls/bignum.h +1084 -0
  138. package/external/libedhoc/externals/mbedtls/include/mbedtls/build_info.h +146 -0
  139. package/external/libedhoc/externals/mbedtls/include/mbedtls/camellia.h +303 -0
  140. package/external/libedhoc/externals/mbedtls/include/mbedtls/ccm.h +518 -0
  141. package/external/libedhoc/externals/mbedtls/include/mbedtls/chacha20.h +202 -0
  142. package/external/libedhoc/externals/mbedtls/include/mbedtls/chachapoly.h +342 -0
  143. package/external/libedhoc/externals/mbedtls/include/mbedtls/check_config.h +1206 -0
  144. package/external/libedhoc/externals/mbedtls/include/mbedtls/cipher.h +1183 -0
  145. package/external/libedhoc/externals/mbedtls/include/mbedtls/cmac.h +246 -0
  146. package/external/libedhoc/externals/mbedtls/include/mbedtls/compat-2.x.h +46 -0
  147. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h +183 -0
  148. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h +877 -0
  149. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h +334 -0
  150. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h +142 -0
  151. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_ssl.h +76 -0
  152. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_x509.h +25 -0
  153. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_psa.h +55 -0
  154. package/external/libedhoc/externals/mbedtls/include/mbedtls/constant_time.h +36 -0
  155. package/external/libedhoc/externals/mbedtls/include/mbedtls/ctr_drbg.h +564 -0
  156. package/external/libedhoc/externals/mbedtls/include/mbedtls/debug.h +308 -0
  157. package/external/libedhoc/externals/mbedtls/include/mbedtls/des.h +385 -0
  158. package/external/libedhoc/externals/mbedtls/include/mbedtls/dhm.h +972 -0
  159. package/external/libedhoc/externals/mbedtls/include/mbedtls/ecdh.h +441 -0
  160. package/external/libedhoc/externals/mbedtls/include/mbedtls/ecdsa.h +671 -0
  161. package/external/libedhoc/externals/mbedtls/include/mbedtls/ecjpake.h +298 -0
  162. package/external/libedhoc/externals/mbedtls/include/mbedtls/ecp.h +1362 -0
  163. package/external/libedhoc/externals/mbedtls/include/mbedtls/entropy.h +273 -0
  164. package/external/libedhoc/externals/mbedtls/include/mbedtls/error.h +201 -0
  165. package/external/libedhoc/externals/mbedtls/include/mbedtls/gcm.h +370 -0
  166. package/external/libedhoc/externals/mbedtls/include/mbedtls/hkdf.h +124 -0
  167. package/external/libedhoc/externals/mbedtls/include/mbedtls/hmac_drbg.h +434 -0
  168. package/external/libedhoc/externals/mbedtls/include/mbedtls/lms.h +440 -0
  169. package/external/libedhoc/externals/mbedtls/include/mbedtls/mbedtls_config.h +4116 -0
  170. package/external/libedhoc/externals/mbedtls/include/mbedtls/md.h +640 -0
  171. package/external/libedhoc/externals/mbedtls/include/mbedtls/md5.h +190 -0
  172. package/external/libedhoc/externals/mbedtls/include/mbedtls/memory_buffer_alloc.h +142 -0
  173. package/external/libedhoc/externals/mbedtls/include/mbedtls/net_sockets.h +299 -0
  174. package/external/libedhoc/externals/mbedtls/include/mbedtls/nist_kw.h +166 -0
  175. package/external/libedhoc/externals/mbedtls/include/mbedtls/oid.h +722 -0
  176. package/external/libedhoc/externals/mbedtls/include/mbedtls/pem.h +160 -0
  177. package/external/libedhoc/externals/mbedtls/include/mbedtls/pk.h +1091 -0
  178. package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs12.h +186 -0
  179. package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs5.h +197 -0
  180. package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs7.h +241 -0
  181. package/external/libedhoc/externals/mbedtls/include/mbedtls/platform.h +485 -0
  182. package/external/libedhoc/externals/mbedtls/include/mbedtls/platform_time.h +79 -0
  183. package/external/libedhoc/externals/mbedtls/include/mbedtls/platform_util.h +201 -0
  184. package/external/libedhoc/externals/mbedtls/include/mbedtls/poly1305.h +168 -0
  185. package/external/libedhoc/externals/mbedtls/include/mbedtls/private_access.h +20 -0
  186. package/external/libedhoc/externals/mbedtls/include/mbedtls/psa_util.h +104 -0
  187. package/external/libedhoc/externals/mbedtls/include/mbedtls/ripemd160.h +136 -0
  188. package/external/libedhoc/externals/mbedtls/include/mbedtls/rsa.h +1143 -0
  189. package/external/libedhoc/externals/mbedtls/include/mbedtls/sha1.h +219 -0
  190. package/external/libedhoc/externals/mbedtls/include/mbedtls/sha256.h +198 -0
  191. package/external/libedhoc/externals/mbedtls/include/mbedtls/sha3.h +172 -0
  192. package/external/libedhoc/externals/mbedtls/include/mbedtls/sha512.h +208 -0
  193. package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl.h +5369 -0
  194. package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_cache.h +187 -0
  195. package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_ciphersuites.h +616 -0
  196. package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_cookie.h +106 -0
  197. package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_ticket.h +181 -0
  198. package/external/libedhoc/externals/mbedtls/include/mbedtls/threading.h +105 -0
  199. package/external/libedhoc/externals/mbedtls/include/mbedtls/timing.h +94 -0
  200. package/external/libedhoc/externals/mbedtls/include/mbedtls/version.h +78 -0
  201. package/external/libedhoc/externals/mbedtls/include/mbedtls/x509.h +550 -0
  202. package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_crl.h +184 -0
  203. package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_crt.h +1196 -0
  204. package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_csr.h +319 -0
  205. package/external/libedhoc/externals/mbedtls/include/psa/build_info.h +20 -0
  206. package/external/libedhoc/externals/mbedtls/include/psa/crypto.h +4685 -0
  207. package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_auto_enabled.h +21 -0
  208. package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h +91 -0
  209. package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_config_synonyms.h +45 -0
  210. package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_composites.h +210 -0
  211. package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_key_derivation.h +118 -0
  212. package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_primitives.h +114 -0
  213. package/external/libedhoc/externals/mbedtls/include/psa/crypto_compat.h +153 -0
  214. package/external/libedhoc/externals/mbedtls/include/psa/crypto_config.h +153 -0
  215. package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_common.h +44 -0
  216. package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_composites.h +151 -0
  217. package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h +52 -0
  218. package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_primitives.h +105 -0
  219. package/external/libedhoc/externals/mbedtls/include/psa/crypto_extra.h +2064 -0
  220. package/external/libedhoc/externals/mbedtls/include/psa/crypto_legacy.h +88 -0
  221. package/external/libedhoc/externals/mbedtls/include/psa/crypto_platform.h +92 -0
  222. package/external/libedhoc/externals/mbedtls/include/psa/crypto_se_driver.h +1383 -0
  223. package/external/libedhoc/externals/mbedtls/include/psa/crypto_sizes.h +1282 -0
  224. package/external/libedhoc/externals/mbedtls/include/psa/crypto_struct.h +460 -0
  225. package/external/libedhoc/externals/mbedtls/include/psa/crypto_types.h +453 -0
  226. package/external/libedhoc/externals/mbedtls/include/psa/crypto_values.h +2756 -0
  227. package/external/libedhoc/externals/mbedtls/library/aes.c +2315 -0
  228. package/external/libedhoc/externals/mbedtls/library/aesce.c +503 -0
  229. package/external/libedhoc/externals/mbedtls/library/aesce.h +121 -0
  230. package/external/libedhoc/externals/mbedtls/library/aesni.c +802 -0
  231. package/external/libedhoc/externals/mbedtls/library/aesni.h +158 -0
  232. package/external/libedhoc/externals/mbedtls/library/alignment.h +509 -0
  233. package/external/libedhoc/externals/mbedtls/library/aria.c +991 -0
  234. package/external/libedhoc/externals/mbedtls/library/asn1parse.c +467 -0
  235. package/external/libedhoc/externals/mbedtls/library/asn1write.c +436 -0
  236. package/external/libedhoc/externals/mbedtls/library/base64.c +299 -0
  237. package/external/libedhoc/externals/mbedtls/library/base64_internal.h +45 -0
  238. package/external/libedhoc/externals/mbedtls/library/bignum.c +2806 -0
  239. package/external/libedhoc/externals/mbedtls/library/bignum_core.c +894 -0
  240. package/external/libedhoc/externals/mbedtls/library/bignum_core.h +763 -0
  241. package/external/libedhoc/externals/mbedtls/library/bignum_mod.c +394 -0
  242. package/external/libedhoc/externals/mbedtls/library/bignum_mod.h +452 -0
  243. package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw.c +276 -0
  244. package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw.h +416 -0
  245. package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw_invasive.h +34 -0
  246. package/external/libedhoc/externals/mbedtls/library/bn_mul.h +1094 -0
  247. package/external/libedhoc/externals/mbedtls/library/camellia.c +1044 -0
  248. package/external/libedhoc/externals/mbedtls/library/ccm.c +712 -0
  249. package/external/libedhoc/externals/mbedtls/library/chacha20.c +497 -0
  250. package/external/libedhoc/externals/mbedtls/library/chachapoly.c +478 -0
  251. package/external/libedhoc/externals/mbedtls/library/check_crypto_config.h +141 -0
  252. package/external/libedhoc/externals/mbedtls/library/cipher.c +1664 -0
  253. package/external/libedhoc/externals/mbedtls/library/cipher_wrap.c +2422 -0
  254. package/external/libedhoc/externals/mbedtls/library/cipher_wrap.h +132 -0
  255. package/external/libedhoc/externals/mbedtls/library/cmac.c +1067 -0
  256. package/external/libedhoc/externals/mbedtls/library/common.h +325 -0
  257. package/external/libedhoc/externals/mbedtls/library/constant_time.c +261 -0
  258. package/external/libedhoc/externals/mbedtls/library/constant_time_impl.h +554 -0
  259. package/external/libedhoc/externals/mbedtls/library/constant_time_internal.h +579 -0
  260. package/external/libedhoc/externals/mbedtls/library/ctr_drbg.c +881 -0
  261. package/external/libedhoc/externals/mbedtls/library/debug.c +465 -0
  262. package/external/libedhoc/externals/mbedtls/library/des.c +1042 -0
  263. package/external/libedhoc/externals/mbedtls/library/dhm.c +712 -0
  264. package/external/libedhoc/externals/mbedtls/library/ecdh.c +685 -0
  265. package/external/libedhoc/externals/mbedtls/library/ecdsa.c +867 -0
  266. package/external/libedhoc/externals/mbedtls/library/ecjpake.c +1216 -0
  267. package/external/libedhoc/externals/mbedtls/library/ecp.c +3631 -0
  268. package/external/libedhoc/externals/mbedtls/library/ecp_curves.c +5467 -0
  269. package/external/libedhoc/externals/mbedtls/library/ecp_curves_new.c +6043 -0
  270. package/external/libedhoc/externals/mbedtls/library/ecp_internal_alt.h +287 -0
  271. package/external/libedhoc/externals/mbedtls/library/ecp_invasive.h +325 -0
  272. package/external/libedhoc/externals/mbedtls/library/entropy.c +676 -0
  273. package/external/libedhoc/externals/mbedtls/library/entropy_poll.c +229 -0
  274. package/external/libedhoc/externals/mbedtls/library/entropy_poll.h +64 -0
  275. package/external/libedhoc/externals/mbedtls/library/error.c +878 -0
  276. package/external/libedhoc/externals/mbedtls/library/gcm.c +1168 -0
  277. package/external/libedhoc/externals/mbedtls/library/hkdf.c +161 -0
  278. package/external/libedhoc/externals/mbedtls/library/hmac_drbg.c +633 -0
  279. package/external/libedhoc/externals/mbedtls/library/lmots.c +821 -0
  280. package/external/libedhoc/externals/mbedtls/library/lmots.h +311 -0
  281. package/external/libedhoc/externals/mbedtls/library/lms.c +779 -0
  282. package/external/libedhoc/externals/mbedtls/library/md.c +1108 -0
  283. package/external/libedhoc/externals/mbedtls/library/md5.c +426 -0
  284. package/external/libedhoc/externals/mbedtls/library/md_psa.h +63 -0
  285. package/external/libedhoc/externals/mbedtls/library/md_wrap.h +46 -0
  286. package/external/libedhoc/externals/mbedtls/library/memory_buffer_alloc.c +745 -0
  287. package/external/libedhoc/externals/mbedtls/library/mps_common.h +181 -0
  288. package/external/libedhoc/externals/mbedtls/library/mps_error.h +89 -0
  289. package/external/libedhoc/externals/mbedtls/library/mps_reader.c +538 -0
  290. package/external/libedhoc/externals/mbedtls/library/mps_reader.h +366 -0
  291. package/external/libedhoc/externals/mbedtls/library/mps_trace.c +112 -0
  292. package/external/libedhoc/externals/mbedtls/library/mps_trace.h +154 -0
  293. package/external/libedhoc/externals/mbedtls/library/net_sockets.c +696 -0
  294. package/external/libedhoc/externals/mbedtls/library/nist_kw.c +725 -0
  295. package/external/libedhoc/externals/mbedtls/library/oid.c +1154 -0
  296. package/external/libedhoc/externals/mbedtls/library/padlock.c +155 -0
  297. package/external/libedhoc/externals/mbedtls/library/padlock.h +111 -0
  298. package/external/libedhoc/externals/mbedtls/library/pem.c +520 -0
  299. package/external/libedhoc/externals/mbedtls/library/pk.c +970 -0
  300. package/external/libedhoc/externals/mbedtls/library/pk_internal.h +118 -0
  301. package/external/libedhoc/externals/mbedtls/library/pk_wrap.c +1834 -0
  302. package/external/libedhoc/externals/mbedtls/library/pk_wrap.h +156 -0
  303. package/external/libedhoc/externals/mbedtls/library/pkcs12.c +447 -0
  304. package/external/libedhoc/externals/mbedtls/library/pkcs5.c +496 -0
  305. package/external/libedhoc/externals/mbedtls/library/pkcs7.c +773 -0
  306. package/external/libedhoc/externals/mbedtls/library/pkparse.c +1845 -0
  307. package/external/libedhoc/externals/mbedtls/library/pkwrite.c +836 -0
  308. package/external/libedhoc/externals/mbedtls/library/pkwrite.h +112 -0
  309. package/external/libedhoc/externals/mbedtls/library/platform.c +402 -0
  310. package/external/libedhoc/externals/mbedtls/library/platform_util.c +285 -0
  311. package/external/libedhoc/externals/mbedtls/library/poly1305.c +492 -0
  312. package/external/libedhoc/externals/mbedtls/library/psa_crypto.c +8432 -0
  313. package/external/libedhoc/externals/mbedtls/library/psa_crypto_aead.c +653 -0
  314. package/external/libedhoc/externals/mbedtls/library/psa_crypto_aead.h +499 -0
  315. package/external/libedhoc/externals/mbedtls/library/psa_crypto_cipher.c +590 -0
  316. package/external/libedhoc/externals/mbedtls/library/psa_crypto_cipher.h +293 -0
  317. package/external/libedhoc/externals/mbedtls/library/psa_crypto_client.c +67 -0
  318. package/external/libedhoc/externals/mbedtls/library/psa_crypto_core.h +838 -0
  319. package/external/libedhoc/externals/mbedtls/library/psa_crypto_core_common.h +52 -0
  320. package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers.h +2871 -0
  321. package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers_no_static.c +256 -0
  322. package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers_no_static.h +31 -0
  323. package/external/libedhoc/externals/mbedtls/library/psa_crypto_ecp.c +561 -0
  324. package/external/libedhoc/externals/mbedtls/library/psa_crypto_ecp.h +267 -0
  325. package/external/libedhoc/externals/mbedtls/library/psa_crypto_ffdh.c +295 -0
  326. package/external/libedhoc/externals/mbedtls/library/psa_crypto_ffdh.h +132 -0
  327. package/external/libedhoc/externals/mbedtls/library/psa_crypto_hash.c +470 -0
  328. package/external/libedhoc/externals/mbedtls/library/psa_crypto_hash.h +211 -0
  329. package/external/libedhoc/externals/mbedtls/library/psa_crypto_invasive.h +70 -0
  330. package/external/libedhoc/externals/mbedtls/library/psa_crypto_its.h +131 -0
  331. package/external/libedhoc/externals/mbedtls/library/psa_crypto_mac.c +496 -0
  332. package/external/libedhoc/externals/mbedtls/library/psa_crypto_mac.h +264 -0
  333. package/external/libedhoc/externals/mbedtls/library/psa_crypto_pake.c +571 -0
  334. package/external/libedhoc/externals/mbedtls/library/psa_crypto_pake.h +159 -0
  335. package/external/libedhoc/externals/mbedtls/library/psa_crypto_random_impl.h +192 -0
  336. package/external/libedhoc/externals/mbedtls/library/psa_crypto_rsa.c +727 -0
  337. package/external/libedhoc/externals/mbedtls/library/psa_crypto_rsa.h +317 -0
  338. package/external/libedhoc/externals/mbedtls/library/psa_crypto_se.c +373 -0
  339. package/external/libedhoc/externals/mbedtls/library/psa_crypto_se.h +185 -0
  340. package/external/libedhoc/externals/mbedtls/library/psa_crypto_slot_management.c +559 -0
  341. package/external/libedhoc/externals/mbedtls/library/psa_crypto_slot_management.h +213 -0
  342. package/external/libedhoc/externals/mbedtls/library/psa_crypto_storage.c +481 -0
  343. package/external/libedhoc/externals/mbedtls/library/psa_crypto_storage.h +384 -0
  344. package/external/libedhoc/externals/mbedtls/library/psa_its_file.c +259 -0
  345. package/external/libedhoc/externals/mbedtls/library/psa_util.c +160 -0
  346. package/external/libedhoc/externals/mbedtls/library/psa_util_internal.h +96 -0
  347. package/external/libedhoc/externals/mbedtls/library/ripemd160.c +490 -0
  348. package/external/libedhoc/externals/mbedtls/library/rsa.c +2640 -0
  349. package/external/libedhoc/externals/mbedtls/library/rsa_alt_helpers.c +447 -0
  350. package/external/libedhoc/externals/mbedtls/library/rsa_alt_helpers.h +208 -0
  351. package/external/libedhoc/externals/mbedtls/library/sha1.c +480 -0
  352. package/external/libedhoc/externals/mbedtls/library/sha256.c +946 -0
  353. package/external/libedhoc/externals/mbedtls/library/sha3.c +626 -0
  354. package/external/libedhoc/externals/mbedtls/library/sha512.c +1111 -0
  355. package/external/libedhoc/externals/mbedtls/library/ssl_cache.c +410 -0
  356. package/external/libedhoc/externals/mbedtls/library/ssl_ciphersuites.c +2050 -0
  357. package/external/libedhoc/externals/mbedtls/library/ssl_client.c +1017 -0
  358. package/external/libedhoc/externals/mbedtls/library/ssl_client.h +22 -0
  359. package/external/libedhoc/externals/mbedtls/library/ssl_cookie.c +380 -0
  360. package/external/libedhoc/externals/mbedtls/library/ssl_debug_helpers.h +78 -0
  361. package/external/libedhoc/externals/mbedtls/library/ssl_debug_helpers_generated.c +234 -0
  362. package/external/libedhoc/externals/mbedtls/library/ssl_misc.h +2847 -0
  363. package/external/libedhoc/externals/mbedtls/library/ssl_msg.c +6155 -0
  364. package/external/libedhoc/externals/mbedtls/library/ssl_ticket.c +540 -0
  365. package/external/libedhoc/externals/mbedtls/library/ssl_tls.c +9577 -0
  366. package/external/libedhoc/externals/mbedtls/library/ssl_tls12_client.c +3607 -0
  367. package/external/libedhoc/externals/mbedtls/library/ssl_tls12_server.c +4403 -0
  368. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_client.c +3046 -0
  369. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_generic.c +1740 -0
  370. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_invasive.h +23 -0
  371. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_keys.c +1897 -0
  372. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_keys.h +651 -0
  373. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_server.c +3146 -0
  374. package/external/libedhoc/externals/mbedtls/library/threading.c +181 -0
  375. package/external/libedhoc/externals/mbedtls/library/timing.c +154 -0
  376. package/external/libedhoc/externals/mbedtls/library/version.c +32 -0
  377. package/external/libedhoc/externals/mbedtls/library/version_features.c +826 -0
  378. package/external/libedhoc/externals/mbedtls/library/x509.c +1776 -0
  379. package/external/libedhoc/externals/mbedtls/library/x509_create.c +557 -0
  380. package/external/libedhoc/externals/mbedtls/library/x509_crl.c +712 -0
  381. package/external/libedhoc/externals/mbedtls/library/x509_crt.c +3292 -0
  382. package/external/libedhoc/externals/mbedtls/library/x509_csr.c +574 -0
  383. package/external/libedhoc/externals/mbedtls/library/x509write.c +174 -0
  384. package/external/libedhoc/externals/mbedtls/library/x509write_crt.c +681 -0
  385. package/external/libedhoc/externals/mbedtls/library/x509write_csr.c +331 -0
  386. package/external/libedhoc/externals/mbedtls/programs/aes/crypt_and_hash.c +573 -0
  387. package/external/libedhoc/externals/mbedtls/programs/cipher/cipher_aead_demo.c +259 -0
  388. package/external/libedhoc/externals/mbedtls/programs/fuzz/common.c +105 -0
  389. package/external/libedhoc/externals/mbedtls/programs/fuzz/common.h +25 -0
  390. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_client.c +195 -0
  391. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_dtlsclient.c +138 -0
  392. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_dtlsserver.c +183 -0
  393. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_pkcs7.c +20 -0
  394. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_privkey.c +106 -0
  395. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_pubkey.c +86 -0
  396. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_server.c +218 -0
  397. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509crl.c +41 -0
  398. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509crt.c +41 -0
  399. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509csr.c +41 -0
  400. package/external/libedhoc/externals/mbedtls/programs/fuzz/onefile.c +69 -0
  401. package/external/libedhoc/externals/mbedtls/programs/hash/generic_sum.c +209 -0
  402. package/external/libedhoc/externals/mbedtls/programs/hash/hello.c +45 -0
  403. package/external/libedhoc/externals/mbedtls/programs/hash/md_hmac_demo.c +136 -0
  404. package/external/libedhoc/externals/mbedtls/programs/pkey/dh_client.c +274 -0
  405. package/external/libedhoc/externals/mbedtls/programs/pkey/dh_genprime.c +161 -0
  406. package/external/libedhoc/externals/mbedtls/programs/pkey/dh_server.c +296 -0
  407. package/external/libedhoc/externals/mbedtls/programs/pkey/ecdh_curve25519.c +189 -0
  408. package/external/libedhoc/externals/mbedtls/programs/pkey/ecdsa.c +217 -0
  409. package/external/libedhoc/externals/mbedtls/programs/pkey/gen_key.c +419 -0
  410. package/external/libedhoc/externals/mbedtls/programs/pkey/key_app.c +316 -0
  411. package/external/libedhoc/externals/mbedtls/programs/pkey/key_app_writer.c +435 -0
  412. package/external/libedhoc/externals/mbedtls/programs/pkey/mpi_demo.c +84 -0
  413. package/external/libedhoc/externals/mbedtls/programs/pkey/pk_decrypt.c +153 -0
  414. package/external/libedhoc/externals/mbedtls/programs/pkey/pk_encrypt.c +154 -0
  415. package/external/libedhoc/externals/mbedtls/programs/pkey/pk_sign.c +155 -0
  416. package/external/libedhoc/externals/mbedtls/programs/pkey/pk_verify.c +128 -0
  417. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_decrypt.c +172 -0
  418. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_encrypt.c +149 -0
  419. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_genkey.c +141 -0
  420. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_sign.c +155 -0
  421. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_sign_pss.c +161 -0
  422. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_verify.c +131 -0
  423. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_verify_pss.c +136 -0
  424. package/external/libedhoc/externals/mbedtls/programs/psa/aead_demo.c +281 -0
  425. package/external/libedhoc/externals/mbedtls/programs/psa/crypto_examples.c +321 -0
  426. package/external/libedhoc/externals/mbedtls/programs/psa/hmac_demo.c +159 -0
  427. package/external/libedhoc/externals/mbedtls/programs/psa/key_ladder_demo.c +691 -0
  428. package/external/libedhoc/externals/mbedtls/programs/psa/psa_constant_names.c +310 -0
  429. package/external/libedhoc/externals/mbedtls/programs/psa/psa_constant_names_generated.c +474 -0
  430. package/external/libedhoc/externals/mbedtls/programs/random/gen_entropy.c +75 -0
  431. package/external/libedhoc/externals/mbedtls/programs/random/gen_random_ctr_drbg.c +107 -0
  432. package/external/libedhoc/externals/mbedtls/programs/ssl/dtls_client.c +342 -0
  433. package/external/libedhoc/externals/mbedtls/programs/ssl/dtls_server.c +408 -0
  434. package/external/libedhoc/externals/mbedtls/programs/ssl/mini_client.c +274 -0
  435. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_client1.c +288 -0
  436. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_client2.c +3118 -0
  437. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_context_info.c +1009 -0
  438. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_fork_server.c +381 -0
  439. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_mail_client.c +804 -0
  440. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_pthread_server.c +489 -0
  441. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_server.c +362 -0
  442. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_server2.c +4268 -0
  443. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_common_source.c +375 -0
  444. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_lib.c +601 -0
  445. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_lib.h +306 -0
  446. package/external/libedhoc/externals/mbedtls/programs/test/benchmark.c +1284 -0
  447. package/external/libedhoc/externals/mbedtls/programs/test/cmake_package/cmake_package.c +27 -0
  448. package/external/libedhoc/externals/mbedtls/programs/test/cmake_package_install/cmake_package_install.c +28 -0
  449. package/external/libedhoc/externals/mbedtls/programs/test/cmake_subproject/cmake_subproject.c +28 -0
  450. package/external/libedhoc/externals/mbedtls/programs/test/dlopen.c +92 -0
  451. package/external/libedhoc/externals/mbedtls/programs/test/query_compile_time_config.c +66 -0
  452. package/external/libedhoc/externals/mbedtls/programs/test/query_config.c +5137 -0
  453. package/external/libedhoc/externals/mbedtls/programs/test/query_config.h +34 -0
  454. package/external/libedhoc/externals/mbedtls/programs/test/query_included_headers.c +29 -0
  455. package/external/libedhoc/externals/mbedtls/programs/test/selftest.c +583 -0
  456. package/external/libedhoc/externals/mbedtls/programs/test/udp_proxy.c +967 -0
  457. package/external/libedhoc/externals/mbedtls/programs/test/zeroize.c +72 -0
  458. package/external/libedhoc/externals/mbedtls/programs/util/pem2der.c +265 -0
  459. package/external/libedhoc/externals/mbedtls/programs/util/strerror.c +61 -0
  460. package/external/libedhoc/externals/mbedtls/programs/wince_main.c +31 -0
  461. package/external/libedhoc/externals/mbedtls/programs/x509/cert_app.c +456 -0
  462. package/external/libedhoc/externals/mbedtls/programs/x509/cert_req.c +509 -0
  463. package/external/libedhoc/externals/mbedtls/programs/x509/cert_write.c +1012 -0
  464. package/external/libedhoc/externals/mbedtls/programs/x509/crl_app.c +132 -0
  465. package/external/libedhoc/externals/mbedtls/programs/x509/load_roots.c +165 -0
  466. package/external/libedhoc/externals/mbedtls/programs/x509/req_app.c +132 -0
  467. package/external/libedhoc/externals/mbedtls/tests/configs/tls13-only.h +31 -0
  468. package/external/libedhoc/externals/mbedtls/tests/configs/user-config-for-test.h +89 -0
  469. package/external/libedhoc/externals/mbedtls/tests/configs/user-config-malloc-0-null.h +22 -0
  470. package/external/libedhoc/externals/mbedtls/tests/configs/user-config-zeroize-memset.h +17 -0
  471. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/aes_alt.h +23 -0
  472. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/aria_alt.h +16 -0
  473. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/camellia_alt.h +16 -0
  474. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ccm_alt.h +16 -0
  475. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/chacha20_alt.h +16 -0
  476. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/chachapoly_alt.h +18 -0
  477. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/cmac_alt.h +15 -0
  478. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/des_alt.h +22 -0
  479. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/dhm_alt.h +16 -0
  480. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ecjpake_alt.h +15 -0
  481. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ecp_alt.h +22 -0
  482. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/gcm_alt.h +16 -0
  483. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/md5_alt.h +16 -0
  484. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/nist_kw_alt.h +15 -0
  485. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/platform_alt.h +16 -0
  486. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/poly1305_alt.h +16 -0
  487. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ripemd160_alt.h +16 -0
  488. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/rsa_alt.h +16 -0
  489. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha1_alt.h +16 -0
  490. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha256_alt.h +16 -0
  491. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha512_alt.h +16 -0
  492. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/threading_alt.h +14 -0
  493. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/timing_alt.h +19 -0
  494. package/external/libedhoc/externals/mbedtls/tests/include/alt-extra/psa/crypto.h +7 -0
  495. package/external/libedhoc/externals/mbedtls/tests/include/baremetal-override/time.h +6 -0
  496. package/external/libedhoc/externals/mbedtls/tests/include/spe/crypto_spe.h +131 -0
  497. package/external/libedhoc/externals/mbedtls/tests/include/test/arguments.h +26 -0
  498. package/external/libedhoc/externals/mbedtls/tests/include/test/asn1_helpers.h +38 -0
  499. package/external/libedhoc/externals/mbedtls/tests/include/test/bignum_helpers.h +106 -0
  500. package/external/libedhoc/externals/mbedtls/tests/include/test/certs.h +234 -0
  501. package/external/libedhoc/externals/mbedtls/tests/include/test/constant_flow.h +71 -0
  502. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/aead.h +121 -0
  503. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/asymmetric_encryption.h +67 -0
  504. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/cipher.h +130 -0
  505. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/config_test_driver.h +44 -0
  506. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/crypto_config_test_driver_extension.h +430 -0
  507. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/hash.h +64 -0
  508. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/key_agreement.h +62 -0
  509. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/key_management.h +123 -0
  510. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/mac.h +125 -0
  511. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/pake.h +75 -0
  512. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/signature.h +112 -0
  513. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/test_driver.h +32 -0
  514. package/external/libedhoc/externals/mbedtls/tests/include/test/fake_external_rng_for_test.h +40 -0
  515. package/external/libedhoc/externals/mbedtls/tests/include/test/helpers.h +268 -0
  516. package/external/libedhoc/externals/mbedtls/tests/include/test/macros.h +250 -0
  517. package/external/libedhoc/externals/mbedtls/tests/include/test/psa_crypto_helpers.h +398 -0
  518. package/external/libedhoc/externals/mbedtls/tests/include/test/psa_exercise_key.h +223 -0
  519. package/external/libedhoc/externals/mbedtls/tests/include/test/psa_helpers.h +24 -0
  520. package/external/libedhoc/externals/mbedtls/tests/include/test/random.h +91 -0
  521. package/external/libedhoc/externals/mbedtls/tests/include/test/ssl_helpers.h +628 -0
  522. package/external/libedhoc/externals/mbedtls/tests/src/asn1_helpers.c +62 -0
  523. package/external/libedhoc/externals/mbedtls/tests/src/bignum_helpers.c +145 -0
  524. package/external/libedhoc/externals/mbedtls/tests/src/certs.c +480 -0
  525. package/external/libedhoc/externals/mbedtls/tests/src/drivers/hash.c +199 -0
  526. package/external/libedhoc/externals/mbedtls/tests/src/drivers/platform_builtin_keys.c +78 -0
  527. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_aead.c +462 -0
  528. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c +151 -0
  529. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_cipher.c +424 -0
  530. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_key_agreement.c +147 -0
  531. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_key_management.c +783 -0
  532. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_mac.c +422 -0
  533. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_pake.c +202 -0
  534. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_signature.c +405 -0
  535. package/external/libedhoc/externals/mbedtls/tests/src/fake_external_rng_for_test.c +45 -0
  536. package/external/libedhoc/externals/mbedtls/tests/src/helpers.c +353 -0
  537. package/external/libedhoc/externals/mbedtls/tests/src/psa_crypto_helpers.c +196 -0
  538. package/external/libedhoc/externals/mbedtls/tests/src/psa_exercise_key.c +989 -0
  539. package/external/libedhoc/externals/mbedtls/tests/src/random.c +136 -0
  540. package/external/libedhoc/externals/mbedtls/tests/src/test_certs.h +1226 -0
  541. package/external/libedhoc/externals/mbedtls/tests/src/test_helpers/ssl_helpers.c +2292 -0
  542. package/external/libedhoc/externals/mbedtls/tests/src/threading_helpers.c +210 -0
  543. package/external/libedhoc/externals/zcbor/include/zcbor_common.h +422 -0
  544. package/external/libedhoc/externals/zcbor/include/zcbor_debug.h +69 -0
  545. package/external/libedhoc/externals/zcbor/include/zcbor_decode.h +358 -0
  546. package/external/libedhoc/externals/zcbor/include/zcbor_encode.h +296 -0
  547. package/external/libedhoc/externals/zcbor/include/zcbor_tags.h +94 -0
  548. package/external/libedhoc/externals/zcbor/samples/hello_world/src/main.c +41 -0
  549. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_decode.h +39 -0
  550. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_encode.h +39 -0
  551. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_types.h +47 -0
  552. package/external/libedhoc/externals/zcbor/samples/pet/src/main.c +128 -0
  553. package/external/libedhoc/externals/zcbor/samples/pet/src/pet_decode.c +69 -0
  554. package/external/libedhoc/externals/zcbor/samples/pet/src/pet_encode.c +70 -0
  555. package/external/libedhoc/externals/zcbor/src/zcbor_common.c +257 -0
  556. package/external/libedhoc/externals/zcbor/src/zcbor_decode.c +1107 -0
  557. package/external/libedhoc/externals/zcbor/src/zcbor_encode.c +722 -0
  558. package/external/libedhoc/externals/zcbor/tests/decode/test1_suit_old_formats/src/main.c +368 -0
  559. package/external/libedhoc/externals/zcbor/tests/decode/test2_suit/src/main.c +189 -0
  560. package/external/libedhoc/externals/zcbor/tests/decode/test3_simple/src/main.c +529 -0
  561. package/external/libedhoc/externals/zcbor/tests/decode/test5_corner_cases/src/main.c +2010 -0
  562. package/external/libedhoc/externals/zcbor/tests/decode/test7_suit9_simple/src/main.c +134 -0
  563. package/external/libedhoc/externals/zcbor/tests/decode/test8_suit12/src/main.c +863 -0
  564. package/external/libedhoc/externals/zcbor/tests/decode/test9_manifest14/src/main.c +364 -0
  565. package/external/libedhoc/externals/zcbor/tests/encode/test1_suit/src/main.c +453 -0
  566. package/external/libedhoc/externals/zcbor/tests/encode/test2_simple/src/main.c +123 -0
  567. package/external/libedhoc/externals/zcbor/tests/encode/test3_corner_cases/src/main.c +1527 -0
  568. package/external/libedhoc/externals/zcbor/tests/encode/test4_senml/src/main.c +66 -0
  569. package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_manifest12.c +136 -0
  570. package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_pet.c +12 -0
  571. package/external/libedhoc/externals/zcbor/tests/fuzz/main_entry.c +60 -0
  572. package/external/libedhoc/externals/zcbor/tests/fuzz/main_entry.h +5 -0
  573. package/external/libedhoc/externals/zcbor/tests/unit/test1_unit_tests/src/main.c +1044 -0
  574. package/external/libedhoc/externals/zcbor/tests/unit/test3_float16/src/main.c +202 -0
  575. package/external/libedhoc/include/edhoc.h +393 -0
  576. package/external/libedhoc/include/edhoc_context.h +318 -0
  577. package/external/libedhoc/include/edhoc_credentials.h +217 -0
  578. package/external/libedhoc/include/edhoc_crypto.h +331 -0
  579. package/external/libedhoc/include/edhoc_ead.h +99 -0
  580. package/external/libedhoc/include/edhoc_macros.h +51 -0
  581. package/external/libedhoc/include/edhoc_values.h +181 -0
  582. package/external/libedhoc/library/edhoc.c +219 -0
  583. package/external/libedhoc/library/edhoc_exporter.c +543 -0
  584. package/external/libedhoc/library/edhoc_message_1.c +439 -0
  585. package/external/libedhoc/library/edhoc_message_2.c +2994 -0
  586. package/external/libedhoc/library/edhoc_message_3.c +2658 -0
  587. package/external/libedhoc/library/edhoc_message_4.c +826 -0
  588. package/external/libedhoc/library/edhoc_message_error.c +238 -0
  589. package/external/libedhoc/tests/include/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.h +37 -0
  590. package/external/libedhoc/tests/include/cipher_suites/cipher_suite_0.h +134 -0
  591. package/external/libedhoc/tests/include/cipher_suites/cipher_suite_2.h +140 -0
  592. package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_0.h +48 -0
  593. package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_2.h +48 -0
  594. package/external/libedhoc/tests/include/edhoc_trace_1/authentication_credentials_1.h +60 -0
  595. package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_1.h +208 -0
  596. package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_ead_1.h +59 -0
  597. package/external/libedhoc/tests/include/edhoc_trace_1/test_vector_1.h +738 -0
  598. package/external/libedhoc/tests/include/edhoc_trace_2/authentication_credentials_2.h +60 -0
  599. package/external/libedhoc/tests/include/edhoc_trace_2/test_edhoc_handshake_2.h +199 -0
  600. package/external/libedhoc/tests/include/edhoc_trace_2/test_vector_2.h +525 -0
  601. package/external/libedhoc/tests/include/error_message/test_edhoc_error_message.h +48 -0
  602. package/external/libedhoc/tests/include/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.h +92 -0
  603. package/external/libedhoc/tests/include/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.h +96 -0
  604. package/external/libedhoc/tests/include/x509_chain_cs_0/test_vector_x5chain_cs_0.h +140 -0
  605. package/external/libedhoc/tests/include/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.h +58 -0
  606. package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.h +56 -0
  607. package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.h +57 -0
  608. package/external/libedhoc/tests/include/x509_chain_cs_2/test_vector_x5chain_cs_2.h +169 -0
  609. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.h +59 -0
  610. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.h +57 -0
  611. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_vector_x5chain_cs_2_static_dh.h +163 -0
  612. package/external/libedhoc/tests/include/x509_hash_cs_2/authentication_credentials_x5t_cs_2.h +60 -0
  613. package/external/libedhoc/tests/include/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.h +57 -0
  614. package/external/libedhoc/tests/include/x509_hash_cs_2/test_vector_x5t_cs_2.h +181 -0
  615. package/external/libedhoc/tests/src/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.c +544 -0
  616. package/external/libedhoc/tests/src/cipher_suites/cipher_suite_0.c +447 -0
  617. package/external/libedhoc/tests/src/cipher_suites/cipher_suite_2.c +600 -0
  618. package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_0.c +475 -0
  619. package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_2.c +473 -0
  620. package/external/libedhoc/tests/src/edhoc_trace_1/authentication_credentials_1.c +252 -0
  621. package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_1.c +1829 -0
  622. package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_ead_1.c +1247 -0
  623. package/external/libedhoc/tests/src/edhoc_trace_2/authentication_credentials_2.c +170 -0
  624. package/external/libedhoc/tests/src/edhoc_trace_2/test_edhoc_handshake_2.c +1783 -0
  625. package/external/libedhoc/tests/src/error_message/test_edhoc_error_message.c +226 -0
  626. package/external/libedhoc/tests/src/tests.c +228 -0
  627. package/external/libedhoc/tests/src/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.c +332 -0
  628. package/external/libedhoc/tests/src/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.c +936 -0
  629. package/external/libedhoc/tests/src/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.c +166 -0
  630. package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.c +587 -0
  631. package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.c +917 -0
  632. package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.c +186 -0
  633. package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.c +743 -0
  634. package/external/libedhoc/tests/src/x509_hash_cs_2/authentication_credentials_x5t_cs_2.c +261 -0
  635. package/external/libedhoc/tests/src/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.c +854 -0
  636. package/include/EdhocComposeAsyncWorker.h +61 -0
  637. package/include/EdhocCredentialManager.h +100 -0
  638. package/include/EdhocCryptoManager.h +504 -0
  639. package/include/EdhocEadManager.h +151 -0
  640. package/include/EdhocExportAsyncWorker.h +71 -0
  641. package/include/EdhocProcessAsyncWorker.h +76 -0
  642. package/include/LibEDHOC.h +304 -0
  643. package/include/Suites.h +27 -0
  644. package/include/UserContext.h +79 -0
  645. package/include/Utils.h +110 -0
  646. package/package.json +1 -1
  647. package/prebuilds/win32-ia32/edhoc.node +0 -0
  648. package/prebuilds/win32-x64/edhoc.node +0 -0
  649. package/src/EdhocComposeAsyncWorker.cpp +88 -0
  650. package/src/EdhocCredentialManager.cpp +360 -0
  651. package/src/EdhocCryptoManager.cpp +967 -0
  652. package/src/EdhocEadManager.cpp +156 -0
  653. package/src/EdhocExportAsyncWorker.cpp +82 -0
  654. package/src/EdhocProcessAsyncWorker.cpp +74 -0
  655. package/src/LibEDHOC.cpp +369 -0
  656. package/src/Suites.cpp +153 -0
  657. package/src/Utils.cpp +115 -0
@@ -0,0 +1,838 @@
1
+ /*
2
+ * PSA crypto core internal interfaces
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_CORE_H
10
+ #define PSA_CRYPTO_CORE_H
11
+
12
+ #include "mbedtls/build_info.h"
13
+
14
+ #include "psa/crypto.h"
15
+ #include "psa/crypto_se_driver.h"
16
+
17
+ /**
18
+ * Tell if PSA is ready for this hash.
19
+ *
20
+ * \note For now, only checks the state of the driver subsystem,
21
+ * not the algorithm. Might do more in the future.
22
+ *
23
+ * \param hash_alg The hash algorithm (ignored for now).
24
+ *
25
+ * \return 1 if the driver subsytem is ready, 0 otherwise.
26
+ */
27
+ int psa_can_do_hash(psa_algorithm_t hash_alg);
28
+
29
+ /** The data structure representing a key slot, containing key material
30
+ * and metadata for one key.
31
+ */
32
+ typedef struct {
33
+ psa_core_key_attributes_t attr;
34
+
35
+ /*
36
+ * Number of locks on the key slot held by the library.
37
+ *
38
+ * This counter is incremented by one each time a library function
39
+ * retrieves through one of the dedicated internal API a pointer to the
40
+ * key slot.
41
+ *
42
+ * This counter is decremented by one each time a library function stops
43
+ * accessing the key slot and states it by calling the
44
+ * psa_unlock_key_slot() API.
45
+ *
46
+ * This counter is used to prevent resetting the key slot while the library
47
+ * may access it. For example, such control is needed in the following
48
+ * scenarios:
49
+ * . In case of key slot starvation, all key slots contain the description
50
+ * of a key, and the library asks for the description of a persistent
51
+ * key not present in the key slots, the key slots currently accessed by
52
+ * the library cannot be reclaimed to free a key slot to load the
53
+ * persistent key.
54
+ * . In case of a multi-threaded application where one thread asks to close
55
+ * or purge or destroy a key while it is in used by the library through
56
+ * another thread.
57
+ */
58
+ size_t lock_count;
59
+
60
+ /* Dynamically allocated key data buffer.
61
+ * Format as specified in psa_export_key(). */
62
+ struct key_data {
63
+ uint8_t *data;
64
+ size_t bytes;
65
+ } key;
66
+ } psa_key_slot_t;
67
+
68
+ /* A mask of key attribute flags used only internally.
69
+ * Currently there aren't any. */
70
+ #define PSA_KA_MASK_INTERNAL_ONLY ( \
71
+ 0)
72
+
73
+ /** Test whether a key slot is occupied.
74
+ *
75
+ * A key slot is occupied iff the key type is nonzero. This works because
76
+ * no valid key can have 0 as its key type.
77
+ *
78
+ * \param[in] slot The key slot to test.
79
+ *
80
+ * \return 1 if the slot is occupied, 0 otherwise.
81
+ */
82
+ static inline int psa_is_key_slot_occupied(const psa_key_slot_t *slot)
83
+ {
84
+ return slot->attr.type != 0;
85
+ }
86
+
87
+ /** Test whether a key slot is locked.
88
+ *
89
+ * A key slot is locked iff its lock counter is strictly greater than 0.
90
+ *
91
+ * \param[in] slot The key slot to test.
92
+ *
93
+ * \return 1 if the slot is locked, 0 otherwise.
94
+ */
95
+ static inline int psa_is_key_slot_locked(const psa_key_slot_t *slot)
96
+ {
97
+ return slot->lock_count > 0;
98
+ }
99
+
100
+ /** Retrieve flags from psa_key_slot_t::attr::core::flags.
101
+ *
102
+ * \param[in] slot The key slot to query.
103
+ * \param mask The mask of bits to extract.
104
+ *
105
+ * \return The key attribute flags in the given slot,
106
+ * bitwise-anded with \p mask.
107
+ */
108
+ static inline uint16_t psa_key_slot_get_flags(const psa_key_slot_t *slot,
109
+ uint16_t mask)
110
+ {
111
+ return slot->attr.flags & mask;
112
+ }
113
+
114
+ /** Set flags in psa_key_slot_t::attr::core::flags.
115
+ *
116
+ * \param[in,out] slot The key slot to modify.
117
+ * \param mask The mask of bits to modify.
118
+ * \param value The new value of the selected bits.
119
+ */
120
+ static inline void psa_key_slot_set_flags(psa_key_slot_t *slot,
121
+ uint16_t mask,
122
+ uint16_t value)
123
+ {
124
+ slot->attr.flags = ((~mask & slot->attr.flags) |
125
+ (mask & value));
126
+ }
127
+
128
+ /** Turn on flags in psa_key_slot_t::attr::core::flags.
129
+ *
130
+ * \param[in,out] slot The key slot to modify.
131
+ * \param mask The mask of bits to set.
132
+ */
133
+ static inline void psa_key_slot_set_bits_in_flags(psa_key_slot_t *slot,
134
+ uint16_t mask)
135
+ {
136
+ slot->attr.flags |= mask;
137
+ }
138
+
139
+ /** Turn off flags in psa_key_slot_t::attr::core::flags.
140
+ *
141
+ * \param[in,out] slot The key slot to modify.
142
+ * \param mask The mask of bits to clear.
143
+ */
144
+ static inline void psa_key_slot_clear_bits(psa_key_slot_t *slot,
145
+ uint16_t mask)
146
+ {
147
+ slot->attr.flags &= ~mask;
148
+ }
149
+
150
+ #if defined(MBEDTLS_PSA_CRYPTO_SE_C)
151
+ /** Get the SE slot number of a key from the key slot storing its description.
152
+ *
153
+ * \param[in] slot The key slot to query. This must be a key slot storing
154
+ * the description of a key of a dynamically registered
155
+ * secure element, otherwise the behaviour is undefined.
156
+ */
157
+ static inline psa_key_slot_number_t psa_key_slot_get_slot_number(
158
+ const psa_key_slot_t *slot)
159
+ {
160
+ return *((psa_key_slot_number_t *) (slot->key.data));
161
+ }
162
+ #endif
163
+
164
+ /** Completely wipe a slot in memory, including its policy.
165
+ *
166
+ * Persistent storage is not affected.
167
+ *
168
+ * \param[in,out] slot The key slot to wipe.
169
+ *
170
+ * \retval #PSA_SUCCESS
171
+ * Success. This includes the case of a key slot that was
172
+ * already fully wiped.
173
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
174
+ */
175
+ psa_status_t psa_wipe_key_slot(psa_key_slot_t *slot);
176
+
177
+ /** Try to allocate a buffer to an empty key slot.
178
+ *
179
+ * \param[in,out] slot Key slot to attach buffer to.
180
+ * \param[in] buffer_length Requested size of the buffer.
181
+ *
182
+ * \retval #PSA_SUCCESS
183
+ * The buffer has been successfully allocated.
184
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY
185
+ * Not enough memory was available for allocation.
186
+ * \retval #PSA_ERROR_ALREADY_EXISTS
187
+ * Trying to allocate a buffer to a non-empty key slot.
188
+ */
189
+ psa_status_t psa_allocate_buffer_to_slot(psa_key_slot_t *slot,
190
+ size_t buffer_length);
191
+
192
+ /** Wipe key data from a slot. Preserves metadata such as the policy. */
193
+ psa_status_t psa_remove_key_data_from_memory(psa_key_slot_t *slot);
194
+
195
+ /** Copy key data (in export format) into an empty key slot.
196
+ *
197
+ * This function assumes that the slot does not contain
198
+ * any key material yet. On failure, the slot content is unchanged.
199
+ *
200
+ * \param[in,out] slot Key slot to copy the key into.
201
+ * \param[in] data Buffer containing the key material.
202
+ * \param data_length Size of the key buffer.
203
+ *
204
+ * \retval #PSA_SUCCESS
205
+ * The key has been copied successfully.
206
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY
207
+ * Not enough memory was available for allocation of the
208
+ * copy buffer.
209
+ * \retval #PSA_ERROR_ALREADY_EXISTS
210
+ * There was other key material already present in the slot.
211
+ */
212
+ psa_status_t psa_copy_key_material_into_slot(psa_key_slot_t *slot,
213
+ const uint8_t *data,
214
+ size_t data_length);
215
+
216
+ /** Convert an Mbed TLS error code to a PSA error code
217
+ *
218
+ * \note This function is provided solely for the convenience of
219
+ * Mbed TLS and may be removed at any time without notice.
220
+ *
221
+ * \param ret An Mbed TLS-thrown error code
222
+ *
223
+ * \return The corresponding PSA error code
224
+ */
225
+ psa_status_t mbedtls_to_psa_error(int ret);
226
+
227
+ /** Import a key in binary format.
228
+ *
229
+ * \note The signature of this function is that of a PSA driver
230
+ * import_key entry point. This function behaves as an import_key
231
+ * entry point as defined in the PSA driver interface specification for
232
+ * transparent drivers.
233
+ *
234
+ * \param[in] attributes The attributes for the key to import.
235
+ * \param[in] data The buffer containing the key data in import
236
+ * format.
237
+ * \param[in] data_length Size of the \p data buffer in bytes.
238
+ * \param[out] key_buffer The buffer to contain the key data in output
239
+ * format upon successful return.
240
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes. This
241
+ * size is greater or equal to \p data_length.
242
+ * \param[out] key_buffer_length The length of the data written in \p
243
+ * key_buffer in bytes.
244
+ * \param[out] bits The key size in number of bits.
245
+ *
246
+ * \retval #PSA_SUCCESS The key was imported successfully.
247
+ * \retval #PSA_ERROR_INVALID_ARGUMENT
248
+ * The key data is not correctly formatted.
249
+ * \retval #PSA_ERROR_NOT_SUPPORTED \emptydescription
250
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
251
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
252
+ */
253
+ psa_status_t psa_import_key_into_slot(
254
+ const psa_key_attributes_t *attributes,
255
+ const uint8_t *data, size_t data_length,
256
+ uint8_t *key_buffer, size_t key_buffer_size,
257
+ size_t *key_buffer_length, size_t *bits);
258
+
259
+ /** Export a key in binary format
260
+ *
261
+ * \note The signature of this function is that of a PSA driver export_key
262
+ * entry point. This function behaves as an export_key entry point as
263
+ * defined in the PSA driver interface specification.
264
+ *
265
+ * \param[in] attributes The attributes for the key to export.
266
+ * \param[in] key_buffer Material or context of the key to export.
267
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
268
+ * \param[out] data Buffer where the key data is to be written.
269
+ * \param[in] data_size Size of the \p data buffer in bytes.
270
+ * \param[out] data_length On success, the number of bytes written in
271
+ * \p data
272
+ *
273
+ * \retval #PSA_SUCCESS The key was exported successfully.
274
+ * \retval #PSA_ERROR_NOT_SUPPORTED \emptydescription
275
+ * \retval #PSA_ERROR_COMMUNICATION_FAILURE \emptydescription
276
+ * \retval #PSA_ERROR_HARDWARE_FAILURE \emptydescription
277
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
278
+ * \retval #PSA_ERROR_STORAGE_FAILURE \emptydescription
279
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
280
+ */
281
+ psa_status_t psa_export_key_internal(
282
+ const psa_key_attributes_t *attributes,
283
+ const uint8_t *key_buffer, size_t key_buffer_size,
284
+ uint8_t *data, size_t data_size, size_t *data_length);
285
+
286
+ /** Export a public key or the public part of a key pair in binary format.
287
+ *
288
+ * \note The signature of this function is that of a PSA driver
289
+ * export_public_key entry point. This function behaves as an
290
+ * export_public_key entry point as defined in the PSA driver interface
291
+ * specification.
292
+ *
293
+ * \param[in] attributes The attributes for the key to export.
294
+ * \param[in] key_buffer Material or context of the key to export.
295
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
296
+ * \param[out] data Buffer where the key data is to be written.
297
+ * \param[in] data_size Size of the \p data buffer in bytes.
298
+ * \param[out] data_length On success, the number of bytes written in
299
+ * \p data
300
+ *
301
+ * \retval #PSA_SUCCESS The public key was exported successfully.
302
+ * \retval #PSA_ERROR_NOT_SUPPORTED \emptydescription
303
+ * \retval #PSA_ERROR_COMMUNICATION_FAILURE \emptydescription
304
+ * \retval #PSA_ERROR_HARDWARE_FAILURE \emptydescription
305
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
306
+ * \retval #PSA_ERROR_STORAGE_FAILURE \emptydescription
307
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
308
+ */
309
+ psa_status_t psa_export_public_key_internal(
310
+ const psa_key_attributes_t *attributes,
311
+ const uint8_t *key_buffer, size_t key_buffer_size,
312
+ uint8_t *data, size_t data_size, size_t *data_length);
313
+
314
+ /**
315
+ * \brief Generate a key.
316
+ *
317
+ * \note The signature of the function is that of a PSA driver generate_key
318
+ * entry point.
319
+ *
320
+ * \param[in] attributes The attributes for the key to generate.
321
+ * \param[out] key_buffer Buffer where the key data is to be written.
322
+ * \param[in] key_buffer_size Size of \p key_buffer in bytes.
323
+ * \param[out] key_buffer_length On success, the number of bytes written in
324
+ * \p key_buffer.
325
+ *
326
+ * \retval #PSA_SUCCESS
327
+ * The key was generated successfully.
328
+ * \retval #PSA_ERROR_INVALID_ARGUMENT \emptydescription
329
+ * \retval #PSA_ERROR_NOT_SUPPORTED
330
+ * Key size in bits or type not supported.
331
+ * \retval #PSA_ERROR_BUFFER_TOO_SMALL
332
+ * The size of \p key_buffer is too small.
333
+ */
334
+ psa_status_t psa_generate_key_internal(const psa_key_attributes_t *attributes,
335
+ uint8_t *key_buffer,
336
+ size_t key_buffer_size,
337
+ size_t *key_buffer_length);
338
+
339
+ /** Sign a message with a private key. For hash-and-sign algorithms,
340
+ * this includes the hashing step.
341
+ *
342
+ * \note The signature of this function is that of a PSA driver
343
+ * sign_message entry point. This function behaves as a sign_message
344
+ * entry point as defined in the PSA driver interface specification for
345
+ * transparent drivers.
346
+ *
347
+ * \note This function will call the driver for psa_sign_hash
348
+ * and go through driver dispatch again.
349
+ *
350
+ * \param[in] attributes The attributes of the key to use for the
351
+ * operation.
352
+ * \param[in] key_buffer The buffer containing the key context.
353
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
354
+ * \param[in] alg A signature algorithm that is compatible with
355
+ * the type of the key.
356
+ * \param[in] input The input message to sign.
357
+ * \param[in] input_length Size of the \p input buffer in bytes.
358
+ * \param[out] signature Buffer where the signature is to be written.
359
+ * \param[in] signature_size Size of the \p signature buffer in bytes.
360
+ * \param[out] signature_length On success, the number of bytes
361
+ * that make up the returned signature value.
362
+ *
363
+ * \retval #PSA_SUCCESS \emptydescription
364
+ * \retval #PSA_ERROR_BUFFER_TOO_SMALL
365
+ * The size of the \p signature buffer is too small. You can
366
+ * determine a sufficient buffer size by calling
367
+ * #PSA_SIGN_OUTPUT_SIZE(\c key_type, \c key_bits, \p alg)
368
+ * where \c key_type and \c key_bits are the type and bit-size
369
+ * respectively of the key.
370
+ * \retval #PSA_ERROR_NOT_SUPPORTED \emptydescription
371
+ * \retval #PSA_ERROR_INVALID_ARGUMENT \emptydescription
372
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
373
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
374
+ * \retval #PSA_ERROR_INSUFFICIENT_ENTROPY \emptydescription
375
+ */
376
+ psa_status_t psa_sign_message_builtin(
377
+ const psa_key_attributes_t *attributes,
378
+ const uint8_t *key_buffer, size_t key_buffer_size,
379
+ psa_algorithm_t alg, const uint8_t *input, size_t input_length,
380
+ uint8_t *signature, size_t signature_size, size_t *signature_length);
381
+
382
+ /** Verify the signature of a message with a public key, using
383
+ * a hash-and-sign verification algorithm.
384
+ *
385
+ * \note The signature of this function is that of a PSA driver
386
+ * verify_message entry point. This function behaves as a verify_message
387
+ * entry point as defined in the PSA driver interface specification for
388
+ * transparent drivers.
389
+ *
390
+ * \note This function will call the driver for psa_verify_hash
391
+ * and go through driver dispatch again.
392
+ *
393
+ * \param[in] attributes The attributes of the key to use for the
394
+ * operation.
395
+ * \param[in] key_buffer The buffer containing the key context.
396
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
397
+ * \param[in] alg A signature algorithm that is compatible with
398
+ * the type of the key.
399
+ * \param[in] input The message whose signature is to be verified.
400
+ * \param[in] input_length Size of the \p input buffer in bytes.
401
+ * \param[in] signature Buffer containing the signature to verify.
402
+ * \param[in] signature_length Size of the \p signature buffer in bytes.
403
+ *
404
+ * \retval #PSA_SUCCESS
405
+ * The signature is valid.
406
+ * \retval #PSA_ERROR_INVALID_SIGNATURE
407
+ * The calculation was performed successfully, but the passed
408
+ * signature is not a valid signature.
409
+ * \retval #PSA_ERROR_NOT_SUPPORTED \emptydescription
410
+ * \retval #PSA_ERROR_INVALID_ARGUMENT \emptydescription
411
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
412
+ */
413
+ psa_status_t psa_verify_message_builtin(
414
+ const psa_key_attributes_t *attributes,
415
+ const uint8_t *key_buffer, size_t key_buffer_size,
416
+ psa_algorithm_t alg, const uint8_t *input, size_t input_length,
417
+ const uint8_t *signature, size_t signature_length);
418
+
419
+ /** Sign an already-calculated hash with a private key.
420
+ *
421
+ * \note The signature of this function is that of a PSA driver
422
+ * sign_hash entry point. This function behaves as a sign_hash
423
+ * entry point as defined in the PSA driver interface specification for
424
+ * transparent drivers.
425
+ *
426
+ * \param[in] attributes The attributes of the key to use for the
427
+ * operation.
428
+ * \param[in] key_buffer The buffer containing the key context.
429
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
430
+ * \param[in] alg A signature algorithm that is compatible with
431
+ * the type of the key.
432
+ * \param[in] hash The hash or message to sign.
433
+ * \param[in] hash_length Size of the \p hash buffer in bytes.
434
+ * \param[out] signature Buffer where the signature is to be written.
435
+ * \param[in] signature_size Size of the \p signature buffer in bytes.
436
+ * \param[out] signature_length On success, the number of bytes
437
+ * that make up the returned signature value.
438
+ *
439
+ * \retval #PSA_SUCCESS \emptydescription
440
+ * \retval #PSA_ERROR_BUFFER_TOO_SMALL
441
+ * The size of the \p signature buffer is too small. You can
442
+ * determine a sufficient buffer size by calling
443
+ * #PSA_SIGN_OUTPUT_SIZE(\c key_type, \c key_bits, \p alg)
444
+ * where \c key_type and \c key_bits are the type and bit-size
445
+ * respectively of the key.
446
+ * \retval #PSA_ERROR_NOT_SUPPORTED \emptydescription
447
+ * \retval #PSA_ERROR_INVALID_ARGUMENT \emptydescription
448
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
449
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
450
+ * \retval #PSA_ERROR_INSUFFICIENT_ENTROPY \emptydescription
451
+ */
452
+ psa_status_t psa_sign_hash_builtin(
453
+ const psa_key_attributes_t *attributes,
454
+ const uint8_t *key_buffer, size_t key_buffer_size,
455
+ psa_algorithm_t alg, const uint8_t *hash, size_t hash_length,
456
+ uint8_t *signature, size_t signature_size, size_t *signature_length);
457
+
458
+ /**
459
+ * \brief Verify the signature a hash or short message using a public key.
460
+ *
461
+ * \note The signature of this function is that of a PSA driver
462
+ * verify_hash entry point. This function behaves as a verify_hash
463
+ * entry point as defined in the PSA driver interface specification for
464
+ * transparent drivers.
465
+ *
466
+ * \param[in] attributes The attributes of the key to use for the
467
+ * operation.
468
+ * \param[in] key_buffer The buffer containing the key context.
469
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
470
+ * \param[in] alg A signature algorithm that is compatible with
471
+ * the type of the key.
472
+ * \param[in] hash The hash or message whose signature is to be
473
+ * verified.
474
+ * \param[in] hash_length Size of the \p hash buffer in bytes.
475
+ * \param[in] signature Buffer containing the signature to verify.
476
+ * \param[in] signature_length Size of the \p signature buffer in bytes.
477
+ *
478
+ * \retval #PSA_SUCCESS
479
+ * The signature is valid.
480
+ * \retval #PSA_ERROR_INVALID_SIGNATURE
481
+ * The calculation was performed successfully, but the passed
482
+ * signature is not a valid signature.
483
+ * \retval #PSA_ERROR_NOT_SUPPORTED \emptydescription
484
+ * \retval #PSA_ERROR_INVALID_ARGUMENT \emptydescription
485
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
486
+ */
487
+ psa_status_t psa_verify_hash_builtin(
488
+ const psa_key_attributes_t *attributes,
489
+ const uint8_t *key_buffer, size_t key_buffer_size,
490
+ psa_algorithm_t alg, const uint8_t *hash, size_t hash_length,
491
+ const uint8_t *signature, size_t signature_length);
492
+
493
+ /**
494
+ * \brief Validate the key bit size for unstructured keys.
495
+ *
496
+ * \note Check that the bit size is acceptable for a given key type for
497
+ * unstructured keys.
498
+ *
499
+ * \param[in] type The key type
500
+ * \param[in] bits The number of bits of the key
501
+ *
502
+ * \retval #PSA_SUCCESS
503
+ * The key type and size are valid.
504
+ * \retval #PSA_ERROR_INVALID_ARGUMENT
505
+ * The size in bits of the key is not valid.
506
+ * \retval #PSA_ERROR_NOT_SUPPORTED
507
+ * The type and/or the size in bits of the key or the combination of
508
+ * the two is not supported.
509
+ */
510
+ psa_status_t psa_validate_unstructured_key_bit_size(psa_key_type_t type,
511
+ size_t bits);
512
+
513
+ /** Perform a key agreement and return the raw shared secret, using
514
+ built-in raw key agreement functions.
515
+ *
516
+ * \note The signature of this function is that of a PSA driver
517
+ * key_agreement entry point. This function behaves as a key_agreement
518
+ * entry point as defined in the PSA driver interface specification for
519
+ * transparent drivers.
520
+ *
521
+ * \param[in] attributes The attributes of the key to use for the
522
+ * operation.
523
+ * \param[in] key_buffer The buffer containing the private key
524
+ * context.
525
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in
526
+ * bytes.
527
+ * \param[in] alg A key agreement algorithm that is
528
+ * compatible with the type of the key.
529
+ * \param[in] peer_key The buffer containing the key context
530
+ * of the peer's public key.
531
+ * \param[in] peer_key_length Size of the \p peer_key buffer in
532
+ * bytes.
533
+ * \param[out] shared_secret The buffer to which the shared secret
534
+ * is to be written.
535
+ * \param[in] shared_secret_size Size of the \p shared_secret buffer in
536
+ * bytes.
537
+ * \param[out] shared_secret_length On success, the number of bytes that make
538
+ * up the returned shared secret.
539
+ * \retval #PSA_SUCCESS
540
+ * Success. Shared secret successfully calculated.
541
+ * \retval #PSA_ERROR_INVALID_HANDLE \emptydescription
542
+ * \retval #PSA_ERROR_NOT_PERMITTED \emptydescription
543
+ * \retval #PSA_ERROR_INVALID_ARGUMENT
544
+ * \p alg is not a key agreement algorithm, or
545
+ * \p private_key is not compatible with \p alg,
546
+ * or \p peer_key is not valid for \p alg or not compatible with
547
+ * \p private_key.
548
+ * \retval #PSA_ERROR_BUFFER_TOO_SMALL
549
+ * \p shared_secret_size is too small
550
+ * \retval #PSA_ERROR_NOT_SUPPORTED
551
+ * \p alg is not a supported key agreement algorithm.
552
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
553
+ * \retval #PSA_ERROR_COMMUNICATION_FAILURE \emptydescription
554
+ * \retval #PSA_ERROR_HARDWARE_FAILURE \emptydescription
555
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
556
+ * \retval #PSA_ERROR_STORAGE_FAILURE \emptydescription
557
+ * \retval #PSA_ERROR_BAD_STATE \emptydescription
558
+ */
559
+ psa_status_t psa_key_agreement_raw_builtin(
560
+ const psa_key_attributes_t *attributes,
561
+ const uint8_t *key_buffer,
562
+ size_t key_buffer_size,
563
+ psa_algorithm_t alg,
564
+ const uint8_t *peer_key,
565
+ size_t peer_key_length,
566
+ uint8_t *shared_secret,
567
+ size_t shared_secret_size,
568
+ size_t *shared_secret_length);
569
+
570
+ /**
571
+ * \brief Set the maximum number of ops allowed to be executed by an
572
+ * interruptible function in a single call.
573
+ *
574
+ * \note The signature of this function is that of a PSA driver
575
+ * interruptible_set_max_ops entry point. This function behaves as an
576
+ * interruptible_set_max_ops entry point as defined in the PSA driver
577
+ * interface specification for transparent drivers.
578
+ *
579
+ * \param[in] max_ops The maximum number of ops to be executed in a
580
+ * single call, this can be a number from 0 to
581
+ * #PSA_INTERRUPTIBLE_MAX_OPS_UNLIMITED, where 0
582
+ * is obviously the least amount of work done per
583
+ * call.
584
+ */
585
+ void mbedtls_psa_interruptible_set_max_ops(uint32_t max_ops);
586
+
587
+ /**
588
+ * \brief Get the maximum number of ops allowed to be executed by an
589
+ * interruptible function in a single call.
590
+ *
591
+ * \note The signature of this function is that of a PSA driver
592
+ * interruptible_get_max_ops entry point. This function behaves as an
593
+ * interruptible_get_max_ops entry point as defined in the PSA driver
594
+ * interface specification for transparent drivers.
595
+ *
596
+ * \return Maximum number of ops allowed to be executed
597
+ * by an interruptible function in a single call.
598
+ */
599
+ uint32_t mbedtls_psa_interruptible_get_max_ops(void);
600
+
601
+ /**
602
+ * \brief Get the number of ops that a hash signing operation has taken for the
603
+ * previous call. If no call or work has taken place, this will return
604
+ * zero.
605
+ *
606
+ * \note The signature of this function is that of a PSA driver
607
+ * sign_hash_get_num_ops entry point. This function behaves as an
608
+ * sign_hash_get_num_ops entry point as defined in the PSA driver
609
+ * interface specification for transparent drivers.
610
+ *
611
+ * \param operation The \c
612
+ * mbedtls_psa_sign_hash_interruptible_operation_t
613
+ * to use. This must be initialized first.
614
+ *
615
+ * \return Number of ops that were completed
616
+ * in the last call to \c
617
+ * mbedtls_psa_sign_hash_complete().
618
+ */
619
+ uint32_t mbedtls_psa_sign_hash_get_num_ops(
620
+ const mbedtls_psa_sign_hash_interruptible_operation_t *operation);
621
+
622
+ /**
623
+ * \brief Get the number of ops that a hash verification operation has taken for
624
+ * the previous call. If no call or work has taken place, this will
625
+ * return zero.
626
+ *
627
+ * \note The signature of this function is that of a PSA driver
628
+ * verify_hash_get_num_ops entry point. This function behaves as an
629
+ * verify_hash_get_num_ops entry point as defined in the PSA driver
630
+ * interface specification for transparent drivers.
631
+ *
632
+ * \param operation The \c
633
+ * mbedtls_psa_verify_hash_interruptible_operation_t
634
+ * to use. This must be initialized first.
635
+ *
636
+ * \return Number of ops that were completed
637
+ * in the last call to \c
638
+ * mbedtls_psa_verify_hash_complete().
639
+ */
640
+ uint32_t mbedtls_psa_verify_hash_get_num_ops(
641
+ const mbedtls_psa_verify_hash_interruptible_operation_t *operation);
642
+
643
+ /**
644
+ * \brief Start signing a hash or short message with a private key, in an
645
+ * interruptible manner.
646
+ *
647
+ * \note The signature of this function is that of a PSA driver
648
+ * sign_hash_start entry point. This function behaves as a
649
+ * sign_hash_start entry point as defined in the PSA driver interface
650
+ * specification for transparent drivers.
651
+ *
652
+ * \param[in] operation The \c
653
+ * mbedtls_psa_sign_hash_interruptible_operation_t
654
+ * to use. This must be initialized first.
655
+ * \param[in] attributes The attributes of the key to use for the
656
+ * operation.
657
+ * \param[in] key_buffer The buffer containing the key context.
658
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
659
+ * \param[in] alg A signature algorithm that is compatible with
660
+ * the type of the key.
661
+ * \param[in] hash The hash or message to sign.
662
+ * \param hash_length Size of the \p hash buffer in bytes.
663
+ *
664
+ * \retval #PSA_SUCCESS
665
+ * The operation started successfully - call \c psa_sign_hash_complete()
666
+ * with the same context to complete the operation
667
+ * \retval #PSA_ERROR_INVALID_ARGUMENT
668
+ * An unsupported, incorrectly formatted or incorrect type of key was
669
+ * used.
670
+ * \retval #PSA_ERROR_NOT_SUPPORTED Either no internal interruptible operations
671
+ * are currently supported, or the key type is currently unsupported.
672
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY
673
+ * There was insufficient memory to load the key representation.
674
+ */
675
+ psa_status_t mbedtls_psa_sign_hash_start(
676
+ mbedtls_psa_sign_hash_interruptible_operation_t *operation,
677
+ const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
678
+ size_t key_buffer_size, psa_algorithm_t alg,
679
+ const uint8_t *hash, size_t hash_length);
680
+
681
+ /**
682
+ * \brief Continue and eventually complete the action of signing a hash or
683
+ * short message with a private key, in an interruptible manner.
684
+ *
685
+ * \note The signature of this function is that of a PSA driver
686
+ * sign_hash_complete entry point. This function behaves as a
687
+ * sign_hash_complete entry point as defined in the PSA driver interface
688
+ * specification for transparent drivers.
689
+ *
690
+ * \param[in] operation The \c
691
+ * mbedtls_psa_sign_hash_interruptible_operation_t
692
+ * to use. This must be initialized first.
693
+ *
694
+ * \param[out] signature Buffer where the signature is to be written.
695
+ * \param signature_size Size of the \p signature buffer in bytes. This
696
+ * must be appropriate for the selected
697
+ * algorithm and key.
698
+ * \param[out] signature_length On success, the number of bytes that make up
699
+ * the returned signature value.
700
+ *
701
+ * \retval #PSA_SUCCESS
702
+ * Operation completed successfully
703
+ *
704
+ * \retval #PSA_OPERATION_INCOMPLETE
705
+ * Operation was interrupted due to the setting of \c
706
+ * psa_interruptible_set_max_ops(), there is still work to be done,
707
+ * please call this function again with the same operation object.
708
+ *
709
+ * \retval #PSA_ERROR_BUFFER_TOO_SMALL
710
+ * The size of the \p signature buffer is too small. You can
711
+ * determine a sufficient buffer size by calling
712
+ * #PSA_SIGN_OUTPUT_SIZE(\c key_type, \c key_bits, \p alg)
713
+ * where \c key_type and \c key_bits are the type and bit-size
714
+ * respectively of \p key.
715
+ *
716
+ * \retval #PSA_ERROR_NOT_SUPPORTED \emptydescription
717
+ * \retval #PSA_ERROR_INVALID_ARGUMENT \emptydescription
718
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
719
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
720
+ * \retval #PSA_ERROR_INSUFFICIENT_ENTROPY \emptydescription
721
+ */
722
+ psa_status_t mbedtls_psa_sign_hash_complete(
723
+ mbedtls_psa_sign_hash_interruptible_operation_t *operation,
724
+ uint8_t *signature, size_t signature_size,
725
+ size_t *signature_length);
726
+
727
+ /**
728
+ * \brief Abort a sign hash operation.
729
+ *
730
+ * \note The signature of this function is that of a PSA driver sign_hash_abort
731
+ * entry point. This function behaves as a sign_hash_abort entry point as
732
+ * defined in the PSA driver interface specification for transparent
733
+ * drivers.
734
+ *
735
+ * \param[in] operation The \c
736
+ * mbedtls_psa_sign_hash_interruptible_operation_t
737
+ * to abort.
738
+ *
739
+ * \retval #PSA_SUCCESS
740
+ * The operation was aborted successfully.
741
+ */
742
+ psa_status_t mbedtls_psa_sign_hash_abort(
743
+ mbedtls_psa_sign_hash_interruptible_operation_t *operation);
744
+
745
+ /**
746
+ * \brief Start reading and verifying a hash or short message, in an
747
+ * interruptible manner.
748
+ *
749
+ * \note The signature of this function is that of a PSA driver
750
+ * verify_hash_start entry point. This function behaves as a
751
+ * verify_hash_start entry point as defined in the PSA driver interface
752
+ * specification for transparent drivers.
753
+ *
754
+ * \param[in] operation The \c
755
+ * mbedtls_psa_verify_hash_interruptible_operation_t
756
+ * to use. This must be initialized first.
757
+ * \param[in] attributes The attributes of the key to use for the
758
+ * operation.
759
+ * \param[in] key_buffer The buffer containing the key context.
760
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
761
+ * \param[in] alg A signature algorithm that is compatible with
762
+ * the type of the key.
763
+ * \param[in] hash The hash whose signature is to be verified.
764
+ * \param hash_length Size of the \p hash buffer in bytes.
765
+ * \param[in] signature Buffer containing the signature to verify.
766
+ * \param signature_length Size of the \p signature buffer in bytes.
767
+ *
768
+ * \retval #PSA_SUCCESS
769
+ * The operation started successfully - call \c psa_sign_hash_complete()
770
+ * with the same context to complete the operation
771
+ * \retval #PSA_ERROR_INVALID_ARGUMENT
772
+ * An unsupported or incorrect type of key was used.
773
+ * \retval #PSA_ERROR_NOT_SUPPORTED
774
+ * Either no internal interruptible operations are currently supported,
775
+ * or the key type is currently unsupported.
776
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY
777
+ * There was insufficient memory either to load the key representation,
778
+ * or to prepare the operation.
779
+ */
780
+ psa_status_t mbedtls_psa_verify_hash_start(
781
+ mbedtls_psa_verify_hash_interruptible_operation_t *operation,
782
+ const psa_key_attributes_t *attributes,
783
+ const uint8_t *key_buffer, size_t key_buffer_size,
784
+ psa_algorithm_t alg,
785
+ const uint8_t *hash, size_t hash_length,
786
+ const uint8_t *signature, size_t signature_length);
787
+
788
+ /**
789
+ * \brief Continue and eventually complete the action of signing a hash or
790
+ * short message with a private key, in an interruptible manner.
791
+ *
792
+ * \note The signature of this function is that of a PSA driver
793
+ * sign_hash_complete entry point. This function behaves as a
794
+ * sign_hash_complete entry point as defined in the PSA driver interface
795
+ * specification for transparent drivers.
796
+ *
797
+ * \param[in] operation The \c
798
+ * mbedtls_psa_sign_hash_interruptible_operation_t
799
+ * to use. This must be initialized first.
800
+ *
801
+ * \retval #PSA_SUCCESS
802
+ * Operation completed successfully, and the passed signature is valid.
803
+ *
804
+ * \retval #PSA_OPERATION_INCOMPLETE
805
+ * Operation was interrupted due to the setting of \c
806
+ * psa_interruptible_set_max_ops(), there is still work to be done,
807
+ * please call this function again with the same operation object.
808
+ *
809
+ * \retval #PSA_ERROR_INVALID_SIGNATURE
810
+ * The calculation was performed successfully, but the passed
811
+ * signature is not a valid signature.
812
+ *
813
+ * \retval #PSA_ERROR_NOT_SUPPORTED \emptydescription
814
+ * \retval #PSA_ERROR_INVALID_ARGUMENT \emptydescription
815
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
816
+ */
817
+ psa_status_t mbedtls_psa_verify_hash_complete(
818
+ mbedtls_psa_verify_hash_interruptible_operation_t *operation);
819
+
820
+ /**
821
+ * \brief Abort a verify signed hash operation.
822
+ *
823
+ * \note The signature of this function is that of a PSA driver
824
+ * verify_hash_abort entry point. This function behaves as a
825
+ * verify_hash_abort entry point as defined in the PSA driver interface
826
+ * specification for transparent drivers.
827
+ *
828
+ * \param[in] operation The \c
829
+ * mbedtls_psa_verify_hash_interruptible_operation_t
830
+ * to abort.
831
+ *
832
+ * \retval #PSA_SUCCESS
833
+ * The operation was aborted successfully.
834
+ */
835
+ psa_status_t mbedtls_psa_verify_hash_abort(
836
+ mbedtls_psa_verify_hash_interruptible_operation_t *operation);
837
+
838
+ #endif /* PSA_CRYPTO_CORE_H */