edhoc 1.0.0 → 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 (672) 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 +5 -5
  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
  658. package/dist/bindings.d.ts +0 -5
  659. package/dist/bindings.d.ts.map +0 -1
  660. package/dist/bindings.js +0 -10
  661. package/dist/credentials.d.ts +0 -16
  662. package/dist/credentials.d.ts.map +0 -1
  663. package/dist/credentials.js +0 -84
  664. package/dist/crypto.d.ts +0 -22
  665. package/dist/crypto.d.ts.map +0 -1
  666. package/dist/crypto.js +0 -177
  667. package/dist/edhoc.d.ts +0 -346
  668. package/dist/edhoc.d.ts.map +0 -1
  669. package/dist/edhoc.js +0 -76
  670. package/dist/index.d.ts +0 -4
  671. package/dist/index.d.ts.map +0 -1
  672. package/dist/index.js +0 -19
@@ -0,0 +1,671 @@
1
+ /**
2
+ * \file ecdsa.h
3
+ *
4
+ * \brief This file contains ECDSA definitions and functions.
5
+ *
6
+ * The Elliptic Curve Digital Signature Algorithm (ECDSA) is defined in
7
+ * <em>Standards for Efficient Cryptography Group (SECG):
8
+ * SEC1 Elliptic Curve Cryptography</em>.
9
+ * The use of ECDSA for TLS is defined in <em>RFC-4492: Elliptic Curve
10
+ * Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS)</em>.
11
+ *
12
+ */
13
+ /*
14
+ * Copyright The Mbed TLS Contributors
15
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
16
+ */
17
+
18
+ #ifndef MBEDTLS_ECDSA_H
19
+ #define MBEDTLS_ECDSA_H
20
+ #include "mbedtls/private_access.h"
21
+
22
+ #include "mbedtls/build_info.h"
23
+
24
+ #include "mbedtls/ecp.h"
25
+ #include "mbedtls/md.h"
26
+
27
+ /**
28
+ * \brief Maximum ECDSA signature size for a given curve bit size
29
+ *
30
+ * \param bits Curve size in bits
31
+ * \return Maximum signature size in bytes
32
+ *
33
+ * \note This macro returns a compile-time constant if its argument
34
+ * is one. It may evaluate its argument multiple times.
35
+ */
36
+ /*
37
+ * Ecdsa-Sig-Value ::= SEQUENCE {
38
+ * r INTEGER,
39
+ * s INTEGER
40
+ * }
41
+ *
42
+ * For each of r and s, the value (V) may include an extra initial "0" bit.
43
+ */
44
+ #define MBEDTLS_ECDSA_MAX_SIG_LEN(bits) \
45
+ (/*T,L of SEQUENCE*/ ((bits) >= 61 * 8 ? 3 : 2) + \
46
+ /*T,L of r,s*/ 2 * (((bits) >= 127 * 8 ? 3 : 2) + \
47
+ /*V of r,s*/ ((bits) + 8) / 8))
48
+
49
+ /** The maximal size of an ECDSA signature in Bytes. */
50
+ #define MBEDTLS_ECDSA_MAX_LEN MBEDTLS_ECDSA_MAX_SIG_LEN(MBEDTLS_ECP_MAX_BITS)
51
+
52
+ #ifdef __cplusplus
53
+ extern "C" {
54
+ #endif
55
+
56
+ /**
57
+ * \brief The ECDSA context structure.
58
+ *
59
+ * \warning Performing multiple operations concurrently on the same
60
+ * ECDSA context is not supported; objects of this type
61
+ * should not be shared between multiple threads.
62
+ *
63
+ * \note pk_wrap module assumes that "ecdsa_context" is identical
64
+ * to "ecp_keypair" (see for example structure
65
+ * "mbedtls_eckey_info" where ECDSA sign/verify functions
66
+ * are used also for EC key)
67
+ */
68
+ typedef mbedtls_ecp_keypair mbedtls_ecdsa_context;
69
+
70
+ #if defined(MBEDTLS_ECP_RESTARTABLE)
71
+
72
+ /**
73
+ * \brief Internal restart context for ecdsa_verify()
74
+ *
75
+ * \note Opaque struct, defined in ecdsa.c
76
+ */
77
+ typedef struct mbedtls_ecdsa_restart_ver mbedtls_ecdsa_restart_ver_ctx;
78
+
79
+ /**
80
+ * \brief Internal restart context for ecdsa_sign()
81
+ *
82
+ * \note Opaque struct, defined in ecdsa.c
83
+ */
84
+ typedef struct mbedtls_ecdsa_restart_sig mbedtls_ecdsa_restart_sig_ctx;
85
+
86
+ #if defined(MBEDTLS_ECDSA_DETERMINISTIC)
87
+ /**
88
+ * \brief Internal restart context for ecdsa_sign_det()
89
+ *
90
+ * \note Opaque struct, defined in ecdsa.c
91
+ */
92
+ typedef struct mbedtls_ecdsa_restart_det mbedtls_ecdsa_restart_det_ctx;
93
+ #endif
94
+
95
+ /**
96
+ * \brief General context for resuming ECDSA operations
97
+ */
98
+ typedef struct {
99
+ mbedtls_ecp_restart_ctx MBEDTLS_PRIVATE(ecp); /*!< base context for ECP restart and
100
+ shared administrative info */
101
+ mbedtls_ecdsa_restart_ver_ctx *MBEDTLS_PRIVATE(ver); /*!< ecdsa_verify() sub-context */
102
+ mbedtls_ecdsa_restart_sig_ctx *MBEDTLS_PRIVATE(sig); /*!< ecdsa_sign() sub-context */
103
+ #if defined(MBEDTLS_ECDSA_DETERMINISTIC)
104
+ mbedtls_ecdsa_restart_det_ctx *MBEDTLS_PRIVATE(det); /*!< ecdsa_sign_det() sub-context */
105
+ #endif
106
+ } mbedtls_ecdsa_restart_ctx;
107
+
108
+ #else /* MBEDTLS_ECP_RESTARTABLE */
109
+
110
+ /* Now we can declare functions that take a pointer to that */
111
+ typedef void mbedtls_ecdsa_restart_ctx;
112
+
113
+ #endif /* MBEDTLS_ECP_RESTARTABLE */
114
+
115
+ /**
116
+ * \brief This function checks whether a given group can be used
117
+ * for ECDSA.
118
+ *
119
+ * \param gid The ECP group ID to check.
120
+ *
121
+ * \return \c 1 if the group can be used, \c 0 otherwise
122
+ */
123
+ int mbedtls_ecdsa_can_do(mbedtls_ecp_group_id gid);
124
+
125
+ /**
126
+ * \brief This function computes the ECDSA signature of a
127
+ * previously-hashed message.
128
+ *
129
+ * \note The deterministic version implemented in
130
+ * mbedtls_ecdsa_sign_det_ext() is usually preferred.
131
+ *
132
+ * \note If the bitlength of the message hash is larger than the
133
+ * bitlength of the group order, then the hash is truncated
134
+ * as defined in <em>Standards for Efficient Cryptography Group
135
+ * (SECG): SEC1 Elliptic Curve Cryptography</em>, section
136
+ * 4.1.3, step 5.
137
+ *
138
+ * \see ecp.h
139
+ *
140
+ * \param grp The context for the elliptic curve to use.
141
+ * This must be initialized and have group parameters
142
+ * set, for example through mbedtls_ecp_group_load().
143
+ * \param r The MPI context in which to store the first part
144
+ * the signature. This must be initialized.
145
+ * \param s The MPI context in which to store the second part
146
+ * the signature. This must be initialized.
147
+ * \param d The private signing key. This must be initialized.
148
+ * \param buf The content to be signed. This is usually the hash of
149
+ * the original data to be signed. This must be a readable
150
+ * buffer of length \p blen Bytes. It may be \c NULL if
151
+ * \p blen is zero.
152
+ * \param blen The length of \p buf in Bytes.
153
+ * \param f_rng The RNG function. This must not be \c NULL.
154
+ * \param p_rng The RNG context to be passed to \p f_rng. This may be
155
+ * \c NULL if \p f_rng doesn't need a context parameter.
156
+ *
157
+ * \return \c 0 on success.
158
+ * \return An \c MBEDTLS_ERR_ECP_XXX
159
+ * or \c MBEDTLS_MPI_XXX error code on failure.
160
+ */
161
+ int mbedtls_ecdsa_sign(mbedtls_ecp_group *grp, mbedtls_mpi *r, mbedtls_mpi *s,
162
+ const mbedtls_mpi *d, const unsigned char *buf, size_t blen,
163
+ int (*f_rng)(void *, unsigned char *, size_t), void *p_rng);
164
+
165
+ #if defined(MBEDTLS_ECDSA_DETERMINISTIC)
166
+ /**
167
+ * \brief This function computes the ECDSA signature of a
168
+ * previously-hashed message, deterministic version.
169
+ *
170
+ * For more information, see <em>RFC-6979: Deterministic
171
+ * Usage of the Digital Signature Algorithm (DSA) and Elliptic
172
+ * Curve Digital Signature Algorithm (ECDSA)</em>.
173
+ *
174
+ * \note If the bitlength of the message hash is larger than the
175
+ * bitlength of the group order, then the hash is truncated as
176
+ * defined in <em>Standards for Efficient Cryptography Group
177
+ * (SECG): SEC1 Elliptic Curve Cryptography</em>, section
178
+ * 4.1.3, step 5.
179
+ *
180
+ * \see ecp.h
181
+ *
182
+ * \param grp The context for the elliptic curve to use.
183
+ * This must be initialized and have group parameters
184
+ * set, for example through mbedtls_ecp_group_load().
185
+ * \param r The MPI context in which to store the first part
186
+ * the signature. This must be initialized.
187
+ * \param s The MPI context in which to store the second part
188
+ * the signature. This must be initialized.
189
+ * \param d The private signing key. This must be initialized
190
+ * and setup, for example through mbedtls_ecp_gen_privkey().
191
+ * \param buf The hashed content to be signed. This must be a readable
192
+ * buffer of length \p blen Bytes. It may be \c NULL if
193
+ * \p blen is zero.
194
+ * \param blen The length of \p buf in Bytes.
195
+ * \param md_alg The hash algorithm used to hash the original data.
196
+ * \param f_rng_blind The RNG function used for blinding. This must not be
197
+ * \c NULL.
198
+ * \param p_rng_blind The RNG context to be passed to \p f_rng_blind. This
199
+ * may be \c NULL if \p f_rng_blind doesn't need a context
200
+ * parameter.
201
+ *
202
+ * \return \c 0 on success.
203
+ * \return An \c MBEDTLS_ERR_ECP_XXX or \c MBEDTLS_MPI_XXX
204
+ * error code on failure.
205
+ */
206
+ int mbedtls_ecdsa_sign_det_ext(mbedtls_ecp_group *grp, mbedtls_mpi *r,
207
+ mbedtls_mpi *s, const mbedtls_mpi *d,
208
+ const unsigned char *buf, size_t blen,
209
+ mbedtls_md_type_t md_alg,
210
+ int (*f_rng_blind)(void *, unsigned char *, size_t),
211
+ void *p_rng_blind);
212
+ #endif /* MBEDTLS_ECDSA_DETERMINISTIC */
213
+
214
+ #if !defined(MBEDTLS_ECDSA_SIGN_ALT)
215
+ /**
216
+ * \brief This function computes the ECDSA signature of a
217
+ * previously-hashed message, in a restartable way.
218
+ *
219
+ * \note The deterministic version implemented in
220
+ * mbedtls_ecdsa_sign_det_restartable() is usually
221
+ * preferred.
222
+ *
223
+ * \note This function is like \c mbedtls_ecdsa_sign() but
224
+ * it can return early and restart according to the
225
+ * limit set with \c mbedtls_ecp_set_max_ops() to
226
+ * reduce blocking.
227
+ *
228
+ * \note If the bitlength of the message hash is larger
229
+ * than the bitlength of the group order, then the
230
+ * hash is truncated as defined in <em>Standards for
231
+ * Efficient Cryptography Group (SECG): SEC1 Elliptic
232
+ * Curve Cryptography</em>, section 4.1.3, step 5.
233
+ *
234
+ * \see ecp.h
235
+ *
236
+ * \param grp The context for the elliptic curve to use.
237
+ * This must be initialized and have group parameters
238
+ * set, for example through mbedtls_ecp_group_load().
239
+ * \param r The MPI context in which to store the first part
240
+ * the signature. This must be initialized.
241
+ * \param s The MPI context in which to store the second part
242
+ * the signature. This must be initialized.
243
+ * \param d The private signing key. This must be initialized
244
+ * and setup, for example through
245
+ * mbedtls_ecp_gen_privkey().
246
+ * \param buf The hashed content to be signed. This must be a readable
247
+ * buffer of length \p blen Bytes. It may be \c NULL if
248
+ * \p blen is zero.
249
+ * \param blen The length of \p buf in Bytes.
250
+ * \param f_rng The RNG function. This must not be \c NULL.
251
+ * \param p_rng The RNG context to be passed to \p f_rng. This may be
252
+ * \c NULL if \p f_rng doesn't need a context parameter.
253
+ * \param f_rng_blind The RNG function used for blinding. This must not be
254
+ * \c NULL.
255
+ * \param p_rng_blind The RNG context to be passed to \p f_rng. This may be
256
+ * \c NULL if \p f_rng doesn't need a context parameter.
257
+ * \param rs_ctx The restart context to use. This may be \c NULL
258
+ * to disable restarting. If it is not \c NULL, it
259
+ * must point to an initialized restart context.
260
+ *
261
+ * \return \c 0 on success.
262
+ * \return #MBEDTLS_ERR_ECP_IN_PROGRESS if maximum number of
263
+ * operations was reached: see \c
264
+ * mbedtls_ecp_set_max_ops().
265
+ * \return Another \c MBEDTLS_ERR_ECP_XXX, \c
266
+ * MBEDTLS_ERR_MPI_XXX or \c MBEDTLS_ERR_ASN1_XXX
267
+ * error code on failure.
268
+ */
269
+ int mbedtls_ecdsa_sign_restartable(
270
+ mbedtls_ecp_group *grp,
271
+ mbedtls_mpi *r, mbedtls_mpi *s,
272
+ const mbedtls_mpi *d,
273
+ const unsigned char *buf, size_t blen,
274
+ int (*f_rng)(void *, unsigned char *, size_t),
275
+ void *p_rng,
276
+ int (*f_rng_blind)(void *, unsigned char *, size_t),
277
+ void *p_rng_blind,
278
+ mbedtls_ecdsa_restart_ctx *rs_ctx);
279
+
280
+ #endif /* !MBEDTLS_ECDSA_SIGN_ALT */
281
+
282
+ #if defined(MBEDTLS_ECDSA_DETERMINISTIC)
283
+
284
+ /**
285
+ * \brief This function computes the ECDSA signature of a
286
+ * previously-hashed message, in a restartable way.
287
+ *
288
+ * \note This function is like \c
289
+ * mbedtls_ecdsa_sign_det_ext() but it can return
290
+ * early and restart according to the limit set with
291
+ * \c mbedtls_ecp_set_max_ops() to reduce blocking.
292
+ *
293
+ * \note If the bitlength of the message hash is larger
294
+ * than the bitlength of the group order, then the
295
+ * hash is truncated as defined in <em>Standards for
296
+ * Efficient Cryptography Group (SECG): SEC1 Elliptic
297
+ * Curve Cryptography</em>, section 4.1.3, step 5.
298
+ *
299
+ * \see ecp.h
300
+ *
301
+ * \param grp The context for the elliptic curve to use.
302
+ * This must be initialized and have group parameters
303
+ * set, for example through mbedtls_ecp_group_load().
304
+ * \param r The MPI context in which to store the first part
305
+ * the signature. This must be initialized.
306
+ * \param s The MPI context in which to store the second part
307
+ * the signature. This must be initialized.
308
+ * \param d The private signing key. This must be initialized
309
+ * and setup, for example through
310
+ * mbedtls_ecp_gen_privkey().
311
+ * \param buf The hashed content to be signed. This must be a readable
312
+ * buffer of length \p blen Bytes. It may be \c NULL if
313
+ * \p blen is zero.
314
+ * \param blen The length of \p buf in Bytes.
315
+ * \param md_alg The hash algorithm used to hash the original data.
316
+ * \param f_rng_blind The RNG function used for blinding. This must not be
317
+ * \c NULL.
318
+ * \param p_rng_blind The RNG context to be passed to \p f_rng_blind. This may be
319
+ * \c NULL if \p f_rng_blind doesn't need a context parameter.
320
+ * \param rs_ctx The restart context to use. This may be \c NULL
321
+ * to disable restarting. If it is not \c NULL, it
322
+ * must point to an initialized restart context.
323
+ *
324
+ * \return \c 0 on success.
325
+ * \return #MBEDTLS_ERR_ECP_IN_PROGRESS if maximum number of
326
+ * operations was reached: see \c
327
+ * mbedtls_ecp_set_max_ops().
328
+ * \return Another \c MBEDTLS_ERR_ECP_XXX, \c
329
+ * MBEDTLS_ERR_MPI_XXX or \c MBEDTLS_ERR_ASN1_XXX
330
+ * error code on failure.
331
+ */
332
+ int mbedtls_ecdsa_sign_det_restartable(
333
+ mbedtls_ecp_group *grp,
334
+ mbedtls_mpi *r, mbedtls_mpi *s,
335
+ const mbedtls_mpi *d, const unsigned char *buf, size_t blen,
336
+ mbedtls_md_type_t md_alg,
337
+ int (*f_rng_blind)(void *, unsigned char *, size_t),
338
+ void *p_rng_blind,
339
+ mbedtls_ecdsa_restart_ctx *rs_ctx);
340
+
341
+ #endif /* MBEDTLS_ECDSA_DETERMINISTIC */
342
+
343
+ /**
344
+ * \brief This function verifies the ECDSA signature of a
345
+ * previously-hashed message.
346
+ *
347
+ * \note If the bitlength of the message hash is larger than the
348
+ * bitlength of the group order, then the hash is truncated as
349
+ * defined in <em>Standards for Efficient Cryptography Group
350
+ * (SECG): SEC1 Elliptic Curve Cryptography</em>, section
351
+ * 4.1.4, step 3.
352
+ *
353
+ * \see ecp.h
354
+ *
355
+ * \param grp The ECP group to use.
356
+ * This must be initialized and have group parameters
357
+ * set, for example through mbedtls_ecp_group_load().
358
+ * \param buf The hashed content that was signed. This must be a readable
359
+ * buffer of length \p blen Bytes. It may be \c NULL if
360
+ * \p blen is zero.
361
+ * \param blen The length of \p buf in Bytes.
362
+ * \param Q The public key to use for verification. This must be
363
+ * initialized and setup.
364
+ * \param r The first integer of the signature.
365
+ * This must be initialized.
366
+ * \param s The second integer of the signature.
367
+ * This must be initialized.
368
+ *
369
+ * \return \c 0 on success.
370
+ * \return An \c MBEDTLS_ERR_ECP_XXX or \c MBEDTLS_MPI_XXX
371
+ * error code on failure.
372
+ */
373
+ int mbedtls_ecdsa_verify(mbedtls_ecp_group *grp,
374
+ const unsigned char *buf, size_t blen,
375
+ const mbedtls_ecp_point *Q, const mbedtls_mpi *r,
376
+ const mbedtls_mpi *s);
377
+
378
+ #if !defined(MBEDTLS_ECDSA_VERIFY_ALT)
379
+ /**
380
+ * \brief This function verifies the ECDSA signature of a
381
+ * previously-hashed message, in a restartable manner
382
+ *
383
+ * \note If the bitlength of the message hash is larger than the
384
+ * bitlength of the group order, then the hash is truncated as
385
+ * defined in <em>Standards for Efficient Cryptography Group
386
+ * (SECG): SEC1 Elliptic Curve Cryptography</em>, section
387
+ * 4.1.4, step 3.
388
+ *
389
+ * \see ecp.h
390
+ *
391
+ * \param grp The ECP group to use.
392
+ * This must be initialized and have group parameters
393
+ * set, for example through mbedtls_ecp_group_load().
394
+ * \param buf The hashed content that was signed. This must be a readable
395
+ * buffer of length \p blen Bytes. It may be \c NULL if
396
+ * \p blen is zero.
397
+ * \param blen The length of \p buf in Bytes.
398
+ * \param Q The public key to use for verification. This must be
399
+ * initialized and setup.
400
+ * \param r The first integer of the signature.
401
+ * This must be initialized.
402
+ * \param s The second integer of the signature.
403
+ * This must be initialized.
404
+ * \param rs_ctx The restart context to use. This may be \c NULL to disable
405
+ * restarting. If it is not \c NULL, it must point to an
406
+ * initialized restart context.
407
+ *
408
+ * \return \c 0 on success.
409
+ * \return #MBEDTLS_ERR_ECP_IN_PROGRESS if maximum number of
410
+ * operations was reached: see \c mbedtls_ecp_set_max_ops().
411
+ * \return An \c MBEDTLS_ERR_ECP_XXX or \c MBEDTLS_MPI_XXX
412
+ * error code on failure.
413
+ */
414
+ int mbedtls_ecdsa_verify_restartable(mbedtls_ecp_group *grp,
415
+ const unsigned char *buf, size_t blen,
416
+ const mbedtls_ecp_point *Q,
417
+ const mbedtls_mpi *r,
418
+ const mbedtls_mpi *s,
419
+ mbedtls_ecdsa_restart_ctx *rs_ctx);
420
+
421
+ #endif /* !MBEDTLS_ECDSA_VERIFY_ALT */
422
+
423
+ /**
424
+ * \brief This function computes the ECDSA signature and writes it
425
+ * to a buffer, serialized as defined in <em>RFC-4492:
426
+ * Elliptic Curve Cryptography (ECC) Cipher Suites for
427
+ * Transport Layer Security (TLS)</em>.
428
+ *
429
+ * \warning It is not thread-safe to use the same context in
430
+ * multiple threads.
431
+ *
432
+ * \note The deterministic version is used if
433
+ * #MBEDTLS_ECDSA_DETERMINISTIC is defined. For more
434
+ * information, see <em>RFC-6979: Deterministic Usage
435
+ * of the Digital Signature Algorithm (DSA) and Elliptic
436
+ * Curve Digital Signature Algorithm (ECDSA)</em>.
437
+ *
438
+ * \note If the bitlength of the message hash is larger than the
439
+ * bitlength of the group order, then the hash is truncated as
440
+ * defined in <em>Standards for Efficient Cryptography Group
441
+ * (SECG): SEC1 Elliptic Curve Cryptography</em>, section
442
+ * 4.1.3, step 5.
443
+ *
444
+ * \see ecp.h
445
+ *
446
+ * \param ctx The ECDSA context to use. This must be initialized
447
+ * and have a group and private key bound to it, for example
448
+ * via mbedtls_ecdsa_genkey() or mbedtls_ecdsa_from_keypair().
449
+ * \param md_alg The message digest that was used to hash the message.
450
+ * \param hash The message hash to be signed. This must be a readable
451
+ * buffer of length \p hlen Bytes.
452
+ * \param hlen The length of the hash \p hash in Bytes.
453
+ * \param sig The buffer to which to write the signature. This must be a
454
+ * writable buffer of length at least twice as large as the
455
+ * size of the curve used, plus 9. For example, 73 Bytes if
456
+ * a 256-bit curve is used. A buffer length of
457
+ * #MBEDTLS_ECDSA_MAX_LEN is always safe.
458
+ * \param sig_size The size of the \p sig buffer in bytes.
459
+ * \param slen The address at which to store the actual length of
460
+ * the signature written. Must not be \c NULL.
461
+ * \param f_rng The RNG function. This must not be \c NULL if
462
+ * #MBEDTLS_ECDSA_DETERMINISTIC is unset. Otherwise,
463
+ * it is used only for blinding and may be set to \c NULL, but
464
+ * doing so is DEPRECATED.
465
+ * \param p_rng The RNG context to be passed to \p f_rng. This may be
466
+ * \c NULL if \p f_rng is \c NULL or doesn't use a context.
467
+ *
468
+ * \return \c 0 on success.
469
+ * \return An \c MBEDTLS_ERR_ECP_XXX, \c MBEDTLS_ERR_MPI_XXX or
470
+ * \c MBEDTLS_ERR_ASN1_XXX error code on failure.
471
+ */
472
+ int mbedtls_ecdsa_write_signature(mbedtls_ecdsa_context *ctx,
473
+ mbedtls_md_type_t md_alg,
474
+ const unsigned char *hash, size_t hlen,
475
+ unsigned char *sig, size_t sig_size, size_t *slen,
476
+ int (*f_rng)(void *, unsigned char *, size_t),
477
+ void *p_rng);
478
+
479
+ /**
480
+ * \brief This function computes the ECDSA signature and writes it
481
+ * to a buffer, in a restartable way.
482
+ *
483
+ * \see \c mbedtls_ecdsa_write_signature()
484
+ *
485
+ * \note This function is like \c mbedtls_ecdsa_write_signature()
486
+ * but it can return early and restart according to the limit
487
+ * set with \c mbedtls_ecp_set_max_ops() to reduce blocking.
488
+ *
489
+ * \param ctx The ECDSA context to use. This must be initialized
490
+ * and have a group and private key bound to it, for example
491
+ * via mbedtls_ecdsa_genkey() or mbedtls_ecdsa_from_keypair().
492
+ * \param md_alg The message digest that was used to hash the message.
493
+ * \param hash The message hash to be signed. This must be a readable
494
+ * buffer of length \p hlen Bytes.
495
+ * \param hlen The length of the hash \p hash in Bytes.
496
+ * \param sig The buffer to which to write the signature. This must be a
497
+ * writable buffer of length at least twice as large as the
498
+ * size of the curve used, plus 9. For example, 73 Bytes if
499
+ * a 256-bit curve is used. A buffer length of
500
+ * #MBEDTLS_ECDSA_MAX_LEN is always safe.
501
+ * \param sig_size The size of the \p sig buffer in bytes.
502
+ * \param slen The address at which to store the actual length of
503
+ * the signature written. Must not be \c NULL.
504
+ * \param f_rng The RNG function. This must not be \c NULL if
505
+ * #MBEDTLS_ECDSA_DETERMINISTIC is unset. Otherwise,
506
+ * it is unused and may be set to \c NULL.
507
+ * \param p_rng The RNG context to be passed to \p f_rng. This may be
508
+ * \c NULL if \p f_rng is \c NULL or doesn't use a context.
509
+ * \param rs_ctx The restart context to use. This may be \c NULL to disable
510
+ * restarting. If it is not \c NULL, it must point to an
511
+ * initialized restart context.
512
+ *
513
+ * \return \c 0 on success.
514
+ * \return #MBEDTLS_ERR_ECP_IN_PROGRESS if maximum number of
515
+ * operations was reached: see \c mbedtls_ecp_set_max_ops().
516
+ * \return Another \c MBEDTLS_ERR_ECP_XXX, \c MBEDTLS_ERR_MPI_XXX or
517
+ * \c MBEDTLS_ERR_ASN1_XXX error code on failure.
518
+ */
519
+ int mbedtls_ecdsa_write_signature_restartable(mbedtls_ecdsa_context *ctx,
520
+ mbedtls_md_type_t md_alg,
521
+ const unsigned char *hash, size_t hlen,
522
+ unsigned char *sig, size_t sig_size, size_t *slen,
523
+ int (*f_rng)(void *, unsigned char *, size_t),
524
+ void *p_rng,
525
+ mbedtls_ecdsa_restart_ctx *rs_ctx);
526
+
527
+ /**
528
+ * \brief This function reads and verifies an ECDSA signature.
529
+ *
530
+ * \note If the bitlength of the message hash is larger than the
531
+ * bitlength of the group order, then the hash is truncated as
532
+ * defined in <em>Standards for Efficient Cryptography Group
533
+ * (SECG): SEC1 Elliptic Curve Cryptography</em>, section
534
+ * 4.1.4, step 3.
535
+ *
536
+ * \see ecp.h
537
+ *
538
+ * \param ctx The ECDSA context to use. This must be initialized
539
+ * and have a group and public key bound to it.
540
+ * \param hash The message hash that was signed. This must be a readable
541
+ * buffer of length \p hlen Bytes.
542
+ * \param hlen The size of the hash \p hash.
543
+ * \param sig The signature to read and verify. This must be a readable
544
+ * buffer of length \p slen Bytes.
545
+ * \param slen The size of \p sig in Bytes.
546
+ *
547
+ * \return \c 0 on success.
548
+ * \return #MBEDTLS_ERR_ECP_BAD_INPUT_DATA if signature is invalid.
549
+ * \return #MBEDTLS_ERR_ECP_SIG_LEN_MISMATCH if there is a valid
550
+ * signature in \p sig, but its length is less than \p siglen.
551
+ * \return An \c MBEDTLS_ERR_ECP_XXX or \c MBEDTLS_ERR_MPI_XXX
552
+ * error code on failure for any other reason.
553
+ */
554
+ int mbedtls_ecdsa_read_signature(mbedtls_ecdsa_context *ctx,
555
+ const unsigned char *hash, size_t hlen,
556
+ const unsigned char *sig, size_t slen);
557
+
558
+ /**
559
+ * \brief This function reads and verifies an ECDSA signature,
560
+ * in a restartable way.
561
+ *
562
+ * \see \c mbedtls_ecdsa_read_signature()
563
+ *
564
+ * \note This function is like \c mbedtls_ecdsa_read_signature()
565
+ * but it can return early and restart according to the limit
566
+ * set with \c mbedtls_ecp_set_max_ops() to reduce blocking.
567
+ *
568
+ * \param ctx The ECDSA context to use. This must be initialized
569
+ * and have a group and public key bound to it.
570
+ * \param hash The message hash that was signed. This must be a readable
571
+ * buffer of length \p hlen Bytes.
572
+ * \param hlen The size of the hash \p hash.
573
+ * \param sig The signature to read and verify. This must be a readable
574
+ * buffer of length \p slen Bytes.
575
+ * \param slen The size of \p sig in Bytes.
576
+ * \param rs_ctx The restart context to use. This may be \c NULL to disable
577
+ * restarting. If it is not \c NULL, it must point to an
578
+ * initialized restart context.
579
+ *
580
+ * \return \c 0 on success.
581
+ * \return #MBEDTLS_ERR_ECP_BAD_INPUT_DATA if signature is invalid.
582
+ * \return #MBEDTLS_ERR_ECP_SIG_LEN_MISMATCH if there is a valid
583
+ * signature in \p sig, but its length is less than \p siglen.
584
+ * \return #MBEDTLS_ERR_ECP_IN_PROGRESS if maximum number of
585
+ * operations was reached: see \c mbedtls_ecp_set_max_ops().
586
+ * \return Another \c MBEDTLS_ERR_ECP_XXX or \c MBEDTLS_ERR_MPI_XXX
587
+ * error code on failure for any other reason.
588
+ */
589
+ int mbedtls_ecdsa_read_signature_restartable(mbedtls_ecdsa_context *ctx,
590
+ const unsigned char *hash, size_t hlen,
591
+ const unsigned char *sig, size_t slen,
592
+ mbedtls_ecdsa_restart_ctx *rs_ctx);
593
+
594
+ /**
595
+ * \brief This function generates an ECDSA keypair on the given curve.
596
+ *
597
+ * \see ecp.h
598
+ *
599
+ * \param ctx The ECDSA context to store the keypair in.
600
+ * This must be initialized.
601
+ * \param gid The elliptic curve to use. One of the various
602
+ * \c MBEDTLS_ECP_DP_XXX macros depending on configuration.
603
+ * \param f_rng The RNG function to use. This must not be \c NULL.
604
+ * \param p_rng The RNG context to be passed to \p f_rng. This may be
605
+ * \c NULL if \p f_rng doesn't need a context argument.
606
+ *
607
+ * \return \c 0 on success.
608
+ * \return An \c MBEDTLS_ERR_ECP_XXX code on failure.
609
+ */
610
+ int mbedtls_ecdsa_genkey(mbedtls_ecdsa_context *ctx, mbedtls_ecp_group_id gid,
611
+ int (*f_rng)(void *, unsigned char *, size_t), void *p_rng);
612
+
613
+ /**
614
+ * \brief This function sets up an ECDSA context from an EC key pair.
615
+ *
616
+ * \see ecp.h
617
+ *
618
+ * \param ctx The ECDSA context to setup. This must be initialized.
619
+ * \param key The EC key to use. This must be initialized and hold
620
+ * a private-public key pair or a public key. In the former
621
+ * case, the ECDSA context may be used for signature creation
622
+ * and verification after this call. In the latter case, it
623
+ * may be used for signature verification.
624
+ *
625
+ * \return \c 0 on success.
626
+ * \return An \c MBEDTLS_ERR_ECP_XXX code on failure.
627
+ */
628
+ int mbedtls_ecdsa_from_keypair(mbedtls_ecdsa_context *ctx,
629
+ const mbedtls_ecp_keypair *key);
630
+
631
+ /**
632
+ * \brief This function initializes an ECDSA context.
633
+ *
634
+ * \param ctx The ECDSA context to initialize.
635
+ * This must not be \c NULL.
636
+ */
637
+ void mbedtls_ecdsa_init(mbedtls_ecdsa_context *ctx);
638
+
639
+ /**
640
+ * \brief This function frees an ECDSA context.
641
+ *
642
+ * \param ctx The ECDSA context to free. This may be \c NULL,
643
+ * in which case this function does nothing. If it
644
+ * is not \c NULL, it must be initialized.
645
+ */
646
+ void mbedtls_ecdsa_free(mbedtls_ecdsa_context *ctx);
647
+
648
+ #if defined(MBEDTLS_ECP_RESTARTABLE)
649
+ /**
650
+ * \brief Initialize a restart context.
651
+ *
652
+ * \param ctx The restart context to initialize.
653
+ * This must not be \c NULL.
654
+ */
655
+ void mbedtls_ecdsa_restart_init(mbedtls_ecdsa_restart_ctx *ctx);
656
+
657
+ /**
658
+ * \brief Free the components of a restart context.
659
+ *
660
+ * \param ctx The restart context to free. This may be \c NULL,
661
+ * in which case this function does nothing. If it
662
+ * is not \c NULL, it must be initialized.
663
+ */
664
+ void mbedtls_ecdsa_restart_free(mbedtls_ecdsa_restart_ctx *ctx);
665
+ #endif /* MBEDTLS_ECP_RESTARTABLE */
666
+
667
+ #ifdef __cplusplus
668
+ }
669
+ #endif
670
+
671
+ #endif /* ecdsa.h */