@annadata/capacitor-mqtt-quic 0.1.6 → 0.1.7

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 (656) hide show
  1. package/AnnadataCapacitorMqttQuic.podspec +2 -1
  2. package/README.md +121 -12
  3. package/android/NGTCP2_BUILD_INSTRUCTIONS.md +65 -44
  4. package/android/build-openssl.sh +1 -1
  5. package/android/install/nghttp3-android/arm64-v8a/include/nghttp3/nghttp3.h +3295 -0
  6. package/android/install/nghttp3-android/arm64-v8a/include/nghttp3/version.h +46 -0
  7. package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3Config.cmake +3 -0
  8. package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3ConfigVersion.cmake +65 -0
  9. package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3Targets-release.cmake +29 -0
  10. package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3Targets.cmake +114 -0
  11. package/android/install/nghttp3-android/arm64-v8a/lib/libnghttp3.a +0 -0
  12. package/android/install/nghttp3-android/arm64-v8a/lib/libnghttp3.so +0 -0
  13. package/android/install/nghttp3-android/arm64-v8a/lib/pkgconfig/libnghttp3.pc +34 -0
  14. package/android/install/nghttp3-android/arm64-v8a/share/doc/nghttp3/README.rst +75 -0
  15. package/android/install/nghttp3-android/armeabi-v7a/include/nghttp3/nghttp3.h +3295 -0
  16. package/android/install/nghttp3-android/armeabi-v7a/include/nghttp3/version.h +46 -0
  17. package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3Config.cmake +3 -0
  18. package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3ConfigVersion.cmake +65 -0
  19. package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3Targets-release.cmake +29 -0
  20. package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3Targets.cmake +114 -0
  21. package/android/install/nghttp3-android/armeabi-v7a/lib/libnghttp3.a +0 -0
  22. package/android/install/nghttp3-android/armeabi-v7a/lib/libnghttp3.so +0 -0
  23. package/android/install/nghttp3-android/armeabi-v7a/lib/pkgconfig/libnghttp3.pc +34 -0
  24. package/android/install/nghttp3-android/armeabi-v7a/share/doc/nghttp3/README.rst +75 -0
  25. package/android/install/nghttp3-android/x86_64/include/nghttp3/nghttp3.h +3295 -0
  26. package/android/install/nghttp3-android/x86_64/include/nghttp3/version.h +46 -0
  27. package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3Config.cmake +3 -0
  28. package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3ConfigVersion.cmake +65 -0
  29. package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3Targets-release.cmake +29 -0
  30. package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3Targets.cmake +114 -0
  31. package/android/install/nghttp3-android/x86_64/lib/libnghttp3.a +0 -0
  32. package/android/install/nghttp3-android/x86_64/lib/libnghttp3.so +0 -0
  33. package/android/install/nghttp3-android/x86_64/lib/pkgconfig/libnghttp3.pc +34 -0
  34. package/android/install/nghttp3-android/x86_64/share/doc/nghttp3/README.rst +75 -0
  35. package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/ngtcp2.h +6254 -0
  36. package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/ngtcp2_crypto.h +1037 -0
  37. package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/ngtcp2_crypto_wolfssl.h +106 -0
  38. package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/version.h +51 -0
  39. package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2Config.cmake +6 -0
  40. package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2ConfigVersion.cmake +65 -0
  41. package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2Targets-release.cmake +29 -0
  42. package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2Targets.cmake +114 -0
  43. package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2.a +0 -0
  44. package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2.so +0 -0
  45. package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2_crypto_wolfssl.a +0 -0
  46. package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2_crypto_wolfssl.so +0 -0
  47. package/android/install/ngtcp2-android/arm64-v8a/lib/pkgconfig/libngtcp2.pc +33 -0
  48. package/android/install/ngtcp2-android/arm64-v8a/lib/pkgconfig/libngtcp2_crypto_wolfssl.pc +34 -0
  49. package/android/install/ngtcp2-android/arm64-v8a/share/doc/ngtcp2/README.rst +385 -0
  50. package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/ngtcp2.h +6254 -0
  51. package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/ngtcp2_crypto.h +1037 -0
  52. package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/ngtcp2_crypto_wolfssl.h +106 -0
  53. package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/version.h +51 -0
  54. package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2Config.cmake +6 -0
  55. package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2ConfigVersion.cmake +65 -0
  56. package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2Targets-release.cmake +29 -0
  57. package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2Targets.cmake +114 -0
  58. package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2.a +0 -0
  59. package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2.so +0 -0
  60. package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2_crypto_wolfssl.a +0 -0
  61. package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2_crypto_wolfssl.so +0 -0
  62. package/android/install/ngtcp2-android/armeabi-v7a/lib/pkgconfig/libngtcp2.pc +33 -0
  63. package/android/install/ngtcp2-android/armeabi-v7a/lib/pkgconfig/libngtcp2_crypto_wolfssl.pc +34 -0
  64. package/android/install/ngtcp2-android/armeabi-v7a/share/doc/ngtcp2/README.rst +385 -0
  65. package/android/install/ngtcp2-android/x86_64/include/ngtcp2/ngtcp2.h +6254 -0
  66. package/android/install/ngtcp2-android/x86_64/include/ngtcp2/ngtcp2_crypto.h +1037 -0
  67. package/android/install/ngtcp2-android/x86_64/include/ngtcp2/ngtcp2_crypto_wolfssl.h +106 -0
  68. package/android/install/ngtcp2-android/x86_64/include/ngtcp2/version.h +51 -0
  69. package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2Config.cmake +6 -0
  70. package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2ConfigVersion.cmake +65 -0
  71. package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2Targets-release.cmake +29 -0
  72. package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2Targets.cmake +114 -0
  73. package/android/install/ngtcp2-android/x86_64/lib/libngtcp2.a +0 -0
  74. package/android/install/ngtcp2-android/x86_64/lib/libngtcp2.so +0 -0
  75. package/android/install/ngtcp2-android/x86_64/lib/libngtcp2_crypto_wolfssl.a +0 -0
  76. package/android/install/ngtcp2-android/x86_64/lib/libngtcp2_crypto_wolfssl.so +0 -0
  77. package/android/install/ngtcp2-android/x86_64/lib/pkgconfig/libngtcp2.pc +33 -0
  78. package/android/install/ngtcp2-android/x86_64/lib/pkgconfig/libngtcp2_crypto_wolfssl.pc +34 -0
  79. package/android/install/ngtcp2-android/x86_64/share/doc/ngtcp2/README.rst +385 -0
  80. package/android/install/wolfssl-android/arm64-v8a/bin/wolfssl-config +117 -0
  81. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/callbacks.h +93 -0
  82. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/certs_test.h +7073 -0
  83. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/certs_test_sm.h +2913 -0
  84. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/crl.h +58 -0
  85. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/error-ssl.h +280 -0
  86. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/ocsp.h +191 -0
  87. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/aes.h +117 -0
  88. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/asn1.h +315 -0
  89. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/asn1t.h +30 -0
  90. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/bio.h +237 -0
  91. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/bn.h +332 -0
  92. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/buffer.h +57 -0
  93. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/camellia.h +27 -0
  94. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/cmac.h +66 -0
  95. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/cms.h +26 -0
  96. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/compat_types.h +70 -0
  97. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/conf.h +117 -0
  98. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/crypto.h +171 -0
  99. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/des.h +124 -0
  100. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/dh.h +144 -0
  101. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/dsa.h +164 -0
  102. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ec.h +525 -0
  103. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ec25519.h +46 -0
  104. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ec448.h +46 -0
  105. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ecdh.h +49 -0
  106. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ecdsa.h +87 -0
  107. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ed25519.h +49 -0
  108. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ed448.h +49 -0
  109. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/engine.h +9 -0
  110. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/err.h +84 -0
  111. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/evp.h +1540 -0
  112. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/fips_rand.h +125 -0
  113. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/hmac.h +98 -0
  114. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/kdf.h +45 -0
  115. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/lhash.h +64 -0
  116. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/md4.h +66 -0
  117. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/md5.h +108 -0
  118. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/modes.h +45 -0
  119. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/obj_mac.h +92 -0
  120. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/objects.h +86 -0
  121. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ocsp.h +108 -0
  122. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/opensslconf.h +8 -0
  123. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/opensslv.h +78 -0
  124. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ossl_typ.h +32 -0
  125. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/pem.h +301 -0
  126. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/pkcs12.h +57 -0
  127. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/pkcs7.h +110 -0
  128. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/rand.h +38 -0
  129. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/rc4.h +64 -0
  130. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ripemd.h +58 -0
  131. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/rsa.h +291 -0
  132. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/safestack.h +40 -0
  133. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/sha.h +331 -0
  134. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/sha3.h +158 -0
  135. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/srp.h +33 -0
  136. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ssl.h +1923 -0
  137. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ssl23.h +1 -0
  138. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/stack.h +61 -0
  139. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/tls1.h +64 -0
  140. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/txt_db.h +60 -0
  141. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ui.h +2 -0
  142. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/x509.h +227 -0
  143. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/x509_vfy.h +50 -0
  144. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/x509v3.h +237 -0
  145. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/options.h +273 -0
  146. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/quic.h +310 -0
  147. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/sniffer.h +359 -0
  148. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/sniffer_error.h +151 -0
  149. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/ssl.h +6300 -0
  150. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/test.h +4989 -0
  151. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/version.h +40 -0
  152. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/aes.h +1074 -0
  153. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/arc4.h +69 -0
  154. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ascon.h +109 -0
  155. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/asn.h +2855 -0
  156. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/asn_public.h +1009 -0
  157. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/blake2-impl.h +155 -0
  158. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/blake2-int.h +174 -0
  159. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/blake2.h +108 -0
  160. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/camellia.h +116 -0
  161. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/chacha.h +133 -0
  162. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/chacha20_poly1305.h +157 -0
  163. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/cmac.h +168 -0
  164. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/coding.h +107 -0
  165. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/compress.h +60 -0
  166. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/cpuid.h +153 -0
  167. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/cryptocb.h +770 -0
  168. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/curve25519.h +225 -0
  169. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/curve448.h +151 -0
  170. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/des3.h +167 -0
  171. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/dh.h +210 -0
  172. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/dilithium.h +1051 -0
  173. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/dsa.h +121 -0
  174. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ecc.h +1074 -0
  175. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/eccsi.h +176 -0
  176. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ed25519.h +239 -0
  177. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ed448.h +214 -0
  178. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/error-crypt.h +368 -0
  179. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ext_lms.h +62 -0
  180. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ext_mlkem.h +74 -0
  181. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ext_xmss.h +53 -0
  182. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/falcon.h +180 -0
  183. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/fe_448.h +122 -0
  184. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/fe_operations.h +189 -0
  185. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/fips_test.h +131 -0
  186. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ge_448.h +84 -0
  187. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ge_operations.h +134 -0
  188. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/hash.h +296 -0
  189. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/hmac.h +231 -0
  190. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/hpke.h +145 -0
  191. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/integer.h +449 -0
  192. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/kdf.h +199 -0
  193. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/lms.h +202 -0
  194. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/logging.h +588 -0
  195. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/md2.h +83 -0
  196. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/md4.h +77 -0
  197. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/md5.h +141 -0
  198. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mem_track.h +968 -0
  199. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/memory.h +545 -0
  200. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/misc.h +214 -0
  201. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mlkem.h +377 -0
  202. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mpi_class.h +1021 -0
  203. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mpi_superclass.h +96 -0
  204. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/oid_sum.h +1907 -0
  205. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/pkcs12.h +79 -0
  206. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/pkcs7.h +578 -0
  207. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/poly1305.h +207 -0
  208. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/pwdbased.h +81 -0
  209. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/random.h +300 -0
  210. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/rc2.h +68 -0
  211. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ripemd.h +67 -0
  212. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/rsa.h +494 -0
  213. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sakke.h +228 -0
  214. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/settings.h +4762 -0
  215. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha.h +237 -0
  216. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha256.h +360 -0
  217. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha3.h +274 -0
  218. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha512.h +372 -0
  219. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/signature.h +87 -0
  220. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/siphash.h +101 -0
  221. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sm2.h +27 -0
  222. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sm3.h +27 -0
  223. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sm4.h +27 -0
  224. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sp_int.h +1396 -0
  225. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sphincs.h +167 -0
  226. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/srp.h +313 -0
  227. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/tfm.h +941 -0
  228. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/types.h +2383 -0
  229. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/visibility.h +97 -0
  230. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_encrypt.h +126 -0
  231. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_lms.h +506 -0
  232. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_mlkem.h +370 -0
  233. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_port.h +1764 -0
  234. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_xmss.h +285 -0
  235. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wolfevent.h +120 -0
  236. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wolfmath.h +175 -0
  237. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/xmss.h +203 -0
  238. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfio.h +1035 -0
  239. package/android/install/wolfssl-android/arm64-v8a/lib/libwolfssl.a +0 -0
  240. package/android/install/wolfssl-android/arm64-v8a/lib/libwolfssl.la +41 -0
  241. package/android/install/wolfssl-android/arm64-v8a/lib/pkgconfig/wolfssl.pc +11 -0
  242. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/QUIC.md +117 -0
  243. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/README.txt +8 -0
  244. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/async_client.c +245 -0
  245. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/async_server.c +331 -0
  246. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/client.c +4885 -0
  247. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/echoclient.c +341 -0
  248. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/echoserver.c +498 -0
  249. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-client-dtls.c +135 -0
  250. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-client.c +78 -0
  251. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-server-dtls.c +134 -0
  252. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-server.c +83 -0
  253. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/server.c +4124 -0
  254. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/tls_bench.c +2357 -0
  255. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/taoCert.txt +176 -0
  256. package/android/install/wolfssl-android/armeabi-v7a/bin/wolfssl-config +117 -0
  257. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/callbacks.h +93 -0
  258. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/certs_test.h +7073 -0
  259. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/certs_test_sm.h +2913 -0
  260. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/crl.h +58 -0
  261. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/error-ssl.h +280 -0
  262. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/ocsp.h +191 -0
  263. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/aes.h +117 -0
  264. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/asn1.h +315 -0
  265. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/asn1t.h +30 -0
  266. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/bio.h +237 -0
  267. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/bn.h +332 -0
  268. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/buffer.h +57 -0
  269. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/camellia.h +27 -0
  270. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/cmac.h +66 -0
  271. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/cms.h +26 -0
  272. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/compat_types.h +70 -0
  273. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/conf.h +117 -0
  274. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/crypto.h +171 -0
  275. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/des.h +124 -0
  276. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/dh.h +144 -0
  277. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/dsa.h +164 -0
  278. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ec.h +525 -0
  279. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ec25519.h +46 -0
  280. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ec448.h +46 -0
  281. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ecdh.h +49 -0
  282. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ecdsa.h +87 -0
  283. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ed25519.h +49 -0
  284. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ed448.h +49 -0
  285. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/engine.h +9 -0
  286. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/err.h +84 -0
  287. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/evp.h +1540 -0
  288. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/fips_rand.h +125 -0
  289. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/hmac.h +98 -0
  290. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/kdf.h +45 -0
  291. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/lhash.h +64 -0
  292. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/md4.h +66 -0
  293. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/md5.h +108 -0
  294. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/modes.h +45 -0
  295. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/obj_mac.h +92 -0
  296. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/objects.h +86 -0
  297. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ocsp.h +108 -0
  298. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/opensslconf.h +8 -0
  299. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/opensslv.h +78 -0
  300. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ossl_typ.h +32 -0
  301. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/pem.h +301 -0
  302. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/pkcs12.h +57 -0
  303. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/pkcs7.h +110 -0
  304. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/rand.h +38 -0
  305. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/rc4.h +64 -0
  306. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ripemd.h +58 -0
  307. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/rsa.h +291 -0
  308. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/safestack.h +40 -0
  309. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/sha.h +331 -0
  310. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/sha3.h +158 -0
  311. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/srp.h +33 -0
  312. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ssl.h +1923 -0
  313. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ssl23.h +1 -0
  314. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/stack.h +61 -0
  315. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/tls1.h +64 -0
  316. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/txt_db.h +60 -0
  317. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ui.h +2 -0
  318. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/x509.h +227 -0
  319. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/x509_vfy.h +50 -0
  320. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/x509v3.h +237 -0
  321. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/options.h +261 -0
  322. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/quic.h +310 -0
  323. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/sniffer.h +359 -0
  324. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/sniffer_error.h +151 -0
  325. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/ssl.h +6300 -0
  326. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/test.h +4989 -0
  327. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/version.h +40 -0
  328. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/aes.h +1074 -0
  329. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/arc4.h +69 -0
  330. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ascon.h +109 -0
  331. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/asn.h +2855 -0
  332. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/asn_public.h +1009 -0
  333. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/blake2-impl.h +155 -0
  334. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/blake2-int.h +174 -0
  335. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/blake2.h +108 -0
  336. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/camellia.h +116 -0
  337. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/chacha.h +133 -0
  338. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/chacha20_poly1305.h +157 -0
  339. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/cmac.h +168 -0
  340. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/coding.h +107 -0
  341. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/compress.h +60 -0
  342. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/cpuid.h +153 -0
  343. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/cryptocb.h +770 -0
  344. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/curve25519.h +225 -0
  345. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/curve448.h +151 -0
  346. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/des3.h +167 -0
  347. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/dh.h +210 -0
  348. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/dilithium.h +1051 -0
  349. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/dsa.h +121 -0
  350. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ecc.h +1074 -0
  351. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/eccsi.h +176 -0
  352. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ed25519.h +239 -0
  353. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ed448.h +214 -0
  354. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/error-crypt.h +368 -0
  355. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ext_lms.h +62 -0
  356. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ext_mlkem.h +74 -0
  357. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ext_xmss.h +53 -0
  358. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/falcon.h +180 -0
  359. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/fe_448.h +122 -0
  360. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/fe_operations.h +189 -0
  361. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/fips_test.h +131 -0
  362. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ge_448.h +84 -0
  363. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ge_operations.h +134 -0
  364. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/hash.h +296 -0
  365. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/hmac.h +231 -0
  366. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/hpke.h +145 -0
  367. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/integer.h +449 -0
  368. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/kdf.h +199 -0
  369. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/lms.h +202 -0
  370. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/logging.h +588 -0
  371. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/md2.h +83 -0
  372. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/md4.h +77 -0
  373. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/md5.h +141 -0
  374. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mem_track.h +968 -0
  375. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/memory.h +545 -0
  376. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/misc.h +214 -0
  377. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mlkem.h +377 -0
  378. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mpi_class.h +1021 -0
  379. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mpi_superclass.h +96 -0
  380. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/oid_sum.h +1907 -0
  381. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/pkcs12.h +79 -0
  382. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/pkcs7.h +578 -0
  383. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/poly1305.h +207 -0
  384. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/pwdbased.h +81 -0
  385. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/random.h +300 -0
  386. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/rc2.h +68 -0
  387. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ripemd.h +67 -0
  388. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/rsa.h +494 -0
  389. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sakke.h +228 -0
  390. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/settings.h +4762 -0
  391. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha.h +237 -0
  392. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha256.h +360 -0
  393. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha3.h +274 -0
  394. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha512.h +372 -0
  395. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/signature.h +87 -0
  396. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/siphash.h +101 -0
  397. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sm2.h +27 -0
  398. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sm3.h +27 -0
  399. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sm4.h +27 -0
  400. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sp_int.h +1396 -0
  401. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sphincs.h +167 -0
  402. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/srp.h +313 -0
  403. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/tfm.h +941 -0
  404. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/types.h +2383 -0
  405. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/visibility.h +97 -0
  406. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_encrypt.h +126 -0
  407. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_lms.h +506 -0
  408. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_mlkem.h +370 -0
  409. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_port.h +1764 -0
  410. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_xmss.h +285 -0
  411. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wolfevent.h +120 -0
  412. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wolfmath.h +175 -0
  413. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/xmss.h +203 -0
  414. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfio.h +1035 -0
  415. package/android/install/wolfssl-android/armeabi-v7a/lib/libwolfssl.a +0 -0
  416. package/android/install/wolfssl-android/armeabi-v7a/lib/libwolfssl.la +41 -0
  417. package/android/install/wolfssl-android/armeabi-v7a/lib/pkgconfig/wolfssl.pc +11 -0
  418. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/QUIC.md +117 -0
  419. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/README.txt +8 -0
  420. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/async_client.c +245 -0
  421. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/async_server.c +331 -0
  422. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/client.c +4885 -0
  423. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/echoclient.c +341 -0
  424. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/echoserver.c +498 -0
  425. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-client-dtls.c +135 -0
  426. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-client.c +78 -0
  427. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-server-dtls.c +134 -0
  428. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-server.c +83 -0
  429. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/server.c +4124 -0
  430. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/tls_bench.c +2357 -0
  431. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/taoCert.txt +176 -0
  432. package/android/install/wolfssl-android/x86_64/bin/wolfssl-config +117 -0
  433. package/android/install/wolfssl-android/x86_64/include/wolfssl/callbacks.h +93 -0
  434. package/android/install/wolfssl-android/x86_64/include/wolfssl/certs_test.h +7073 -0
  435. package/android/install/wolfssl-android/x86_64/include/wolfssl/certs_test_sm.h +2913 -0
  436. package/android/install/wolfssl-android/x86_64/include/wolfssl/crl.h +58 -0
  437. package/android/install/wolfssl-android/x86_64/include/wolfssl/error-ssl.h +280 -0
  438. package/android/install/wolfssl-android/x86_64/include/wolfssl/ocsp.h +191 -0
  439. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/aes.h +117 -0
  440. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/asn1.h +315 -0
  441. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/asn1t.h +30 -0
  442. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/bio.h +237 -0
  443. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/bn.h +332 -0
  444. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/buffer.h +57 -0
  445. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/camellia.h +27 -0
  446. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/cmac.h +66 -0
  447. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/cms.h +26 -0
  448. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/compat_types.h +70 -0
  449. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/conf.h +117 -0
  450. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/crypto.h +171 -0
  451. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/des.h +124 -0
  452. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/dh.h +144 -0
  453. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/dsa.h +164 -0
  454. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ec.h +525 -0
  455. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ec25519.h +46 -0
  456. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ec448.h +46 -0
  457. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ecdh.h +49 -0
  458. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ecdsa.h +87 -0
  459. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ed25519.h +49 -0
  460. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ed448.h +49 -0
  461. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/engine.h +9 -0
  462. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/err.h +84 -0
  463. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/evp.h +1540 -0
  464. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/fips_rand.h +125 -0
  465. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/hmac.h +98 -0
  466. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/kdf.h +45 -0
  467. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/lhash.h +64 -0
  468. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/md4.h +66 -0
  469. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/md5.h +108 -0
  470. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/modes.h +45 -0
  471. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/obj_mac.h +92 -0
  472. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/objects.h +86 -0
  473. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ocsp.h +108 -0
  474. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/opensslconf.h +8 -0
  475. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/opensslv.h +78 -0
  476. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ossl_typ.h +32 -0
  477. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/pem.h +301 -0
  478. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/pkcs12.h +57 -0
  479. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/pkcs7.h +110 -0
  480. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/rand.h +38 -0
  481. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/rc4.h +64 -0
  482. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ripemd.h +58 -0
  483. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/rsa.h +291 -0
  484. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/safestack.h +40 -0
  485. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/sha.h +331 -0
  486. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/sha3.h +158 -0
  487. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/srp.h +33 -0
  488. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ssl.h +1923 -0
  489. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ssl23.h +1 -0
  490. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/stack.h +61 -0
  491. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/tls1.h +64 -0
  492. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/txt_db.h +60 -0
  493. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ui.h +2 -0
  494. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/x509.h +227 -0
  495. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/x509_vfy.h +50 -0
  496. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/x509v3.h +237 -0
  497. package/android/install/wolfssl-android/x86_64/include/wolfssl/options.h +273 -0
  498. package/android/install/wolfssl-android/x86_64/include/wolfssl/quic.h +310 -0
  499. package/android/install/wolfssl-android/x86_64/include/wolfssl/sniffer.h +359 -0
  500. package/android/install/wolfssl-android/x86_64/include/wolfssl/sniffer_error.h +151 -0
  501. package/android/install/wolfssl-android/x86_64/include/wolfssl/ssl.h +6300 -0
  502. package/android/install/wolfssl-android/x86_64/include/wolfssl/test.h +4989 -0
  503. package/android/install/wolfssl-android/x86_64/include/wolfssl/version.h +40 -0
  504. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/aes.h +1074 -0
  505. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/arc4.h +69 -0
  506. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ascon.h +109 -0
  507. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/asn.h +2855 -0
  508. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/asn_public.h +1009 -0
  509. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/blake2-impl.h +155 -0
  510. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/blake2-int.h +174 -0
  511. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/blake2.h +108 -0
  512. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/camellia.h +116 -0
  513. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/chacha.h +133 -0
  514. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/chacha20_poly1305.h +157 -0
  515. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/cmac.h +168 -0
  516. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/coding.h +107 -0
  517. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/compress.h +60 -0
  518. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/cpuid.h +153 -0
  519. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/cryptocb.h +770 -0
  520. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/curve25519.h +225 -0
  521. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/curve448.h +151 -0
  522. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/des3.h +167 -0
  523. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/dh.h +210 -0
  524. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/dilithium.h +1051 -0
  525. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/dsa.h +121 -0
  526. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ecc.h +1074 -0
  527. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/eccsi.h +176 -0
  528. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ed25519.h +239 -0
  529. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ed448.h +214 -0
  530. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/error-crypt.h +368 -0
  531. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ext_lms.h +62 -0
  532. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ext_mlkem.h +74 -0
  533. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ext_xmss.h +53 -0
  534. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/falcon.h +180 -0
  535. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/fe_448.h +122 -0
  536. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/fe_operations.h +189 -0
  537. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/fips_test.h +131 -0
  538. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ge_448.h +84 -0
  539. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ge_operations.h +134 -0
  540. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/hash.h +296 -0
  541. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/hmac.h +231 -0
  542. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/hpke.h +145 -0
  543. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/integer.h +449 -0
  544. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/kdf.h +199 -0
  545. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/lms.h +202 -0
  546. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/logging.h +588 -0
  547. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/md2.h +83 -0
  548. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/md4.h +77 -0
  549. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/md5.h +141 -0
  550. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mem_track.h +968 -0
  551. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/memory.h +545 -0
  552. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/misc.h +214 -0
  553. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mlkem.h +377 -0
  554. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mpi_class.h +1021 -0
  555. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mpi_superclass.h +96 -0
  556. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/oid_sum.h +1907 -0
  557. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/pkcs12.h +79 -0
  558. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/pkcs7.h +578 -0
  559. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/poly1305.h +207 -0
  560. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/pwdbased.h +81 -0
  561. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/random.h +300 -0
  562. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/rc2.h +68 -0
  563. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ripemd.h +67 -0
  564. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/rsa.h +494 -0
  565. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sakke.h +228 -0
  566. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/settings.h +4762 -0
  567. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha.h +237 -0
  568. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha256.h +360 -0
  569. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha3.h +274 -0
  570. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha512.h +372 -0
  571. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/signature.h +87 -0
  572. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/siphash.h +101 -0
  573. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sm2.h +27 -0
  574. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sm3.h +27 -0
  575. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sm4.h +27 -0
  576. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sp_int.h +1396 -0
  577. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sphincs.h +167 -0
  578. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/srp.h +313 -0
  579. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/tfm.h +941 -0
  580. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/types.h +2383 -0
  581. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/visibility.h +97 -0
  582. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_encrypt.h +126 -0
  583. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_lms.h +506 -0
  584. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_mlkem.h +370 -0
  585. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_port.h +1764 -0
  586. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_xmss.h +285 -0
  587. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wolfevent.h +120 -0
  588. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wolfmath.h +175 -0
  589. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/xmss.h +203 -0
  590. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfio.h +1035 -0
  591. package/android/install/wolfssl-android/x86_64/lib/libwolfssl.a +0 -0
  592. package/android/install/wolfssl-android/x86_64/lib/libwolfssl.la +41 -0
  593. package/android/install/wolfssl-android/x86_64/lib/pkgconfig/wolfssl.pc +11 -0
  594. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/QUIC.md +117 -0
  595. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/README.txt +8 -0
  596. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/async_client.c +245 -0
  597. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/async_server.c +331 -0
  598. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/client.c +4885 -0
  599. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/echoclient.c +341 -0
  600. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/echoserver.c +498 -0
  601. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-client-dtls.c +135 -0
  602. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-client.c +78 -0
  603. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-server-dtls.c +134 -0
  604. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-server.c +83 -0
  605. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/server.c +4124 -0
  606. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/tls_bench.c +2357 -0
  607. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/taoCert.txt +176 -0
  608. package/android/src/main/cpp/CMakeLists.txt +19 -27
  609. package/android/src/main/cpp/ngtcp2_jni.cpp +30 -36
  610. package/android/src/main/kotlin/ai/annadata/mqttquic/MqttQuicPlugin.kt +15 -0
  611. package/android/src/main/kotlin/ai/annadata/mqttquic/client/MQTTClient.kt +6 -2
  612. package/build-native.sh +397 -0
  613. package/deps-versions.sh +25 -0
  614. package/dist/esm/definitions.d.ts +20 -0
  615. package/dist/esm/definitions.d.ts.map +1 -1
  616. package/dist/esm/web.d.ts +26 -3
  617. package/dist/esm/web.d.ts.map +1 -1
  618. package/dist/esm/web.js +230 -10
  619. package/dist/esm/web.js.map +1 -1
  620. package/dist/plugin.cjs.js +11363 -13
  621. package/dist/plugin.cjs.js.map +1 -1
  622. package/dist/plugin.js +11364 -14
  623. package/dist/plugin.js.map +1 -1
  624. package/docs/ARCHITECTURAL_ANALYSIS.md +710 -0
  625. package/docs/CAPACITOR_MQTT_QUIC_PRODUCTION_PLUGIN.md +190 -0
  626. package/docs/CAPACITOR_VERSION_SUPPORT.md +65 -0
  627. package/docs/IMPLEMENTATION_SUMMARY.md +246 -0
  628. package/docs/MQTT5_CLIENT_COMPLIANCE.md +48 -0
  629. package/docs/MQTT5_IMPLEMENTATION_COMPLETE.md +178 -0
  630. package/docs/MQTT_VERSION_ANALYSIS.md +233 -0
  631. package/docs/NGTCP2_IMPLEMENTATION_STATUS.md +214 -0
  632. package/docs/NGTCP2_INTEGRATION_PLAN.md +597 -0
  633. package/docs/P0_P1_CHANGELOG.md +79 -0
  634. package/docs/PRODUCTION_PUBLISH_STEPS.md +161 -0
  635. package/docs/PROJECT_OVERVIEW.md +193 -0
  636. package/ios/.swiftpm/xcode/xcuserdata/annadata.xcuserdatad/xcschemes/xcschememanagement.plist +1 -1
  637. package/ios/NGTCP2_BUILD_INSTRUCTIONS.md +12 -0
  638. package/ios/Sources/MqttQuicPlugin/MqttQuicPlugin.swift +6 -0
  639. package/ios/Sources/MqttQuicPlugin/QUIC/NGTCP2Bridge.mm +6 -0
  640. package/ios/build-openssl.sh +1 -1
  641. package/ios/libs/MqttQuicLibs.xcframework/Info.plist +44 -0
  642. package/ios/libs/MqttQuicLibs.xcframework/ios-arm64/libmqttquic_native_device.a +0 -0
  643. package/ios/libs/MqttQuicLibs.xcframework/ios-arm64_x86_64-simulator/libmqttquic_native_simulator.a +0 -0
  644. package/ios/libs/libnghttp3.a +0 -0
  645. package/ios/libs/libngtcp2.a +0 -0
  646. package/ios/libs/libngtcp2_crypto_wolfssl.a +0 -0
  647. package/ios/libs/libwolfssl.a +0 -0
  648. package/ios/libs-simulator/libnghttp3.a +0 -0
  649. package/ios/libs-simulator/libngtcp2.a +0 -0
  650. package/ios/libs-simulator/libngtcp2_crypto_wolfssl.a +0 -0
  651. package/ios/libs-simulator/libwolfssl.a +0 -0
  652. package/ios/libs-simulator-x86_64/libnghttp3.a +0 -0
  653. package/ios/libs-simulator-x86_64/libngtcp2.a +0 -0
  654. package/ios/libs-simulator-x86_64/libngtcp2_crypto_wolfssl.a +0 -0
  655. package/ios/libs-simulator-x86_64/libwolfssl.a +0 -0
  656. package/package.json +22 -9
@@ -0,0 +1,1540 @@
1
+ /* evp.h
2
+ *
3
+ * Copyright (C) 2006-2025 wolfSSL Inc.
4
+ *
5
+ * This file is part of wolfSSL.
6
+ *
7
+ * wolfSSL is free software; you can redistribute it and/or modify
8
+ * it under the terms of the GNU General Public License as published by
9
+ * the Free Software Foundation; either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * wolfSSL is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program; if not, write to the Free Software
19
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
20
+ */
21
+
22
+
23
+
24
+ /*!
25
+ \file wolfssl/openssl/evp.h
26
+ \brief evp.h defines mini evp openssl compatibility layer
27
+ */
28
+
29
+
30
+ #ifndef WOLFSSL_EVP_H_
31
+ #define WOLFSSL_EVP_H_
32
+
33
+ #include <wolfssl/wolfcrypt/types.h>
34
+
35
+ #ifdef WOLFSSL_PREFIX
36
+ #include "prefix_evp.h"
37
+ #endif
38
+
39
+ #ifndef NO_MD4
40
+ #include <wolfssl/openssl/md4.h>
41
+ #endif
42
+ #ifndef NO_MD5
43
+ #include <wolfssl/openssl/md5.h>
44
+ #endif
45
+ #include <wolfssl/openssl/sha.h>
46
+ #include <wolfssl/openssl/sha3.h>
47
+ #include <wolfssl/openssl/ripemd.h>
48
+ #include <wolfssl/openssl/rsa.h>
49
+ #include <wolfssl/openssl/dsa.h>
50
+ #include <wolfssl/openssl/ec.h>
51
+ #include <wolfssl/openssl/dh.h>
52
+ #include <wolfssl/openssl/opensslv.h>
53
+ #include <wolfssl/openssl/compat_types.h>
54
+
55
+ #include <wolfssl/wolfcrypt/aes.h>
56
+ #include <wolfssl/wolfcrypt/des3.h>
57
+ #include <wolfssl/wolfcrypt/arc4.h>
58
+ #include <wolfssl/wolfcrypt/chacha20_poly1305.h>
59
+ #include <wolfssl/wolfcrypt/hmac.h>
60
+ #include <wolfssl/wolfcrypt/pwdbased.h>
61
+ #ifdef WOLFSSL_SM3
62
+ #include <wolfssl/wolfcrypt/sm3.h>
63
+ #endif
64
+ #ifdef WOLFSSL_SM4
65
+ #include <wolfssl/wolfcrypt/sm4.h>
66
+ #endif
67
+
68
+ #if defined(WOLFSSL_BASE64_ENCODE) || defined(WOLFSSL_BASE64_DECODE)
69
+ #include <wolfssl/wolfcrypt/coding.h>
70
+ #endif
71
+
72
+ #ifdef HAVE_ARIA
73
+ #include <wolfssl/wolfcrypt/port/aria/aria-crypt.h>
74
+ #endif
75
+
76
+ #ifdef __cplusplus
77
+ extern "C" {
78
+ #endif
79
+
80
+
81
+ #ifndef NO_MD4
82
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_md4(void);
83
+ #endif
84
+ #ifndef NO_MD5
85
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_md5(void);
86
+ #endif
87
+ WOLFSSL_API void wolfSSL_EVP_set_pw_prompt(const char *prompt);
88
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_mdc2(void);
89
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha1(void);
90
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha224(void);
91
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha256(void);
92
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha384(void);
93
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha512(void);
94
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_shake128(void);
95
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_shake256(void);
96
+ WOLFSSL_API const WOLFSSL_EVP_MD *wolfSSL_EVP_sha512_224(void);
97
+ WOLFSSL_API const WOLFSSL_EVP_MD *wolfSSL_EVP_sha512_256(void);
98
+ WOLFSSL_API const WOLFSSL_EVP_MD *wolfSSL_EVP_ripemd160(void);
99
+
100
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha3_224(void);
101
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha3_256(void);
102
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha3_384(void);
103
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha3_512(void);
104
+
105
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sm3(void);
106
+
107
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_ecb(void);
108
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_ecb(void);
109
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_ecb(void);
110
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_cbc(void);
111
+ #if !defined(NO_AES) && (defined(HAVE_AES_CBC) || defined(WOLFSSL_AES_DIRECT))
112
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_cbc(void);
113
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_cbc(void);
114
+ #endif
115
+ #ifndef NO_AES
116
+ #ifdef WOLFSSL_AES_CFB
117
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_cfb1(void);
118
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_cfb1(void);
119
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_cfb1(void);
120
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_cfb8(void);
121
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_cfb8(void);
122
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_cfb8(void);
123
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_cfb128(void);
124
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_cfb128(void);
125
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_cfb128(void);
126
+ #endif
127
+ #ifdef WOLFSSL_AES_OFB
128
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_ofb(void);
129
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_ofb(void);
130
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_ofb(void);
131
+ #endif
132
+ #ifdef WOLFSSL_AES_XTS
133
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_xts(void);
134
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_xts(void);
135
+ #endif
136
+ #endif /* NO_AES */
137
+ #if !defined(NO_AES) && defined(HAVE_AESGCM)
138
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_gcm(void);
139
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_gcm(void);
140
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_gcm(void);
141
+ #endif
142
+ #if !defined(NO_AES) && defined(HAVE_AESCCM)
143
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_ccm(void);
144
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_ccm(void);
145
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_ccm(void);
146
+ #endif
147
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_ctr(void);
148
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_ctr(void);
149
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_ctr(void);
150
+ #if defined(HAVE_ARIA)
151
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aria_128_gcm(void);
152
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aria_192_gcm(void);
153
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aria_256_gcm(void);
154
+ #endif
155
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_des_ecb(void);
156
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_des_ede3_ecb(void);
157
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_des_cbc(void);
158
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_des_ede3_cbc(void);
159
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_rc4(void);
160
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_enc_null(void);
161
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_rc2_cbc(void);
162
+ #if defined(HAVE_CHACHA) && defined(HAVE_POLY1305)
163
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_chacha20_poly1305(void);
164
+ #endif
165
+ #ifdef HAVE_CHACHA
166
+ /* ChaCha IV + counter is set as one IV in EVP */
167
+ #define WOLFSSL_EVP_CHACHA_IV_BYTES (CHACHA_IV_BYTES + sizeof(word32))
168
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_chacha20(void);
169
+ #endif
170
+ #ifdef WOLFSSL_SM4_ECB
171
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_sm4_ecb(void);
172
+ #endif
173
+ #ifdef WOLFSSL_SM4_CBC
174
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_sm4_cbc(void);
175
+ #endif
176
+ #ifdef WOLFSSL_SM4_CTR
177
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_sm4_ctr(void);
178
+ #endif
179
+ #ifdef WOLFSSL_SM4_GCM
180
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_sm4_gcm(void);
181
+ #endif
182
+ #ifdef WOLFSSL_SM4_CCM
183
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_sm4_ccm(void);
184
+ #endif
185
+
186
+ typedef union {
187
+ #ifndef NO_MD4
188
+ WOLFSSL_MD4_CTX md4;
189
+ #endif
190
+ #ifndef NO_MD5
191
+ WOLFSSL_MD5_CTX md5;
192
+ #endif
193
+ #ifndef NO_SHA
194
+ WOLFSSL_SHA_CTX sha;
195
+ #endif
196
+ #ifdef WOLFSSL_SHA224
197
+ WOLFSSL_SHA224_CTX sha224;
198
+ #endif
199
+ #ifndef NO_SHA256
200
+ WOLFSSL_SHA256_CTX sha256;
201
+ #endif
202
+ #ifdef WOLFSSL_SHA384
203
+ WOLFSSL_SHA384_CTX sha384;
204
+ #endif
205
+ #ifdef WOLFSSL_SHA512
206
+ WOLFSSL_SHA512_CTX sha512;
207
+ #endif
208
+ #ifdef WOLFSSL_RIPEMD
209
+ WOLFSSL_RIPEMD_CTX ripemd;
210
+ #endif
211
+ #ifndef WOLFSSL_NOSHA3_224
212
+ WOLFSSL_SHA3_224_CTX sha3_224;
213
+ #endif
214
+ #ifndef WOLFSSL_NOSHA3_256
215
+ WOLFSSL_SHA3_256_CTX sha3_256;
216
+ #endif
217
+ WOLFSSL_SHA3_384_CTX sha3_384;
218
+ #ifndef WOLFSSL_NOSHA3_512
219
+ WOLFSSL_SHA3_512_CTX sha3_512;
220
+ #endif
221
+ #ifdef WOLFSSL_SM3
222
+ wc_Sm3 sm3;
223
+ #endif
224
+ #if defined(WOLFSSL_SHAKE128) || defined(WOLFSSL_SHAKE256)
225
+ wc_Shake shake;
226
+ #endif
227
+ } WOLFSSL_Hasher;
228
+
229
+
230
+ struct WOLFSSL_EVP_MD_CTX {
231
+ union {
232
+ WOLFSSL_Hasher digest;
233
+ #ifndef NO_HMAC
234
+ Hmac hmac;
235
+ #endif
236
+ } hash;
237
+ enum wc_HashType macType;
238
+ WOLFSSL_EVP_PKEY_CTX *pctx;
239
+ #ifndef NO_HMAC
240
+ unsigned int isHMAC;
241
+ #endif
242
+ };
243
+
244
+
245
+ typedef union {
246
+ #ifndef NO_AES
247
+ Aes aes;
248
+ #ifdef WOLFSSL_AES_XTS
249
+ XtsAes xts;
250
+ #endif
251
+ #endif
252
+ #ifdef HAVE_ARIA
253
+ wc_Aria aria;
254
+ #endif
255
+ #ifndef NO_DES3
256
+ Des des;
257
+ Des3 des3;
258
+ #endif
259
+ Arc4 arc4;
260
+ #ifdef WOLFSSL_QT
261
+ int (*ctrl) (WOLFSSL_EVP_CIPHER_CTX *, int type, int arg, void *ptr);
262
+ #endif
263
+ #if defined(HAVE_CHACHA) && defined(HAVE_POLY1305)
264
+ ChaChaPoly_Aead chachaPoly;
265
+ #endif
266
+ #ifdef HAVE_CHACHA
267
+ ChaCha chacha;
268
+ #endif
269
+ #ifdef WOLFSSL_SM4
270
+ wc_Sm4 sm4;
271
+ #endif
272
+ } WOLFSSL_Cipher;
273
+
274
+ #if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL)
275
+
276
+ /* note, this WC_NID_undef definition duplicates the definition in
277
+ * wolfcrypt/asn.h, which is gated out when -DNO_ASN.
278
+ */
279
+ #define WC_NID_undef 0
280
+
281
+ #define WC_NID_aes_128_cbc 419
282
+ #define WC_NID_aes_192_cbc 423
283
+ #define WC_NID_aes_256_cbc 427
284
+ #define WC_NID_aes_128_ccm 896
285
+ #define WC_NID_aes_192_ccm 899
286
+ #define WC_NID_aes_256_ccm 902
287
+ #define WC_NID_aes_128_gcm 895
288
+ #define WC_NID_aes_192_gcm 898
289
+ #define WC_NID_aes_256_gcm 901
290
+ #define WC_NID_aes_128_ctr 904
291
+ #define WC_NID_aes_192_ctr 905
292
+ #define WC_NID_aes_256_ctr 906
293
+ #define WC_NID_aes_128_ecb 418
294
+ #define WC_NID_aes_192_ecb 422
295
+ #define WC_NID_aes_256_ecb 426
296
+ #define WC_NID_des_cbc 31
297
+ #define WC_NID_des_ecb 29
298
+ #define WC_NID_des_ede3_cbc 44
299
+ #define WC_NID_des_ede3_ecb 33
300
+ #define WC_NID_aes_128_cfb1 650
301
+ #define WC_NID_aes_192_cfb1 651
302
+ #define WC_NID_aes_256_cfb1 652
303
+ #define WC_NID_aes_128_cfb8 653
304
+ #define WC_NID_aes_192_cfb8 654
305
+ #define WC_NID_aes_256_cfb8 655
306
+ #define WC_NID_aes_128_cfb128 421
307
+ #define WC_NID_aes_192_cfb128 425
308
+ #define WC_NID_aes_256_cfb128 429
309
+ #define WC_NID_aes_128_ofb 420
310
+ #define WC_NID_aes_192_ofb 424
311
+ #define WC_NID_aes_256_ofb 428
312
+ #define WC_NID_aes_128_xts 913
313
+ #define WC_NID_aes_256_xts 914
314
+ #define WC_NID_camellia_128_cbc 751
315
+ #define WC_NID_camellia_256_cbc 753
316
+ #define WC_NID_chacha20_poly1305 1018
317
+ #define WC_NID_chacha20 1019
318
+ #define WC_NID_sm4_ecb 1133
319
+ #define WC_NID_sm4_cbc 1134
320
+ #define WC_NID_sm4_ctr 1139
321
+ #define WC_NID_sm4_gcm 1248
322
+ #define WC_NID_sm4_ccm 1249
323
+ #define WC_NID_md5WithRSA 104
324
+ #define WC_NID_md2WithRSAEncryption 9
325
+ #define WC_NID_md5WithRSAEncryption 99
326
+ #define WC_NID_dsaWithSHA1 113
327
+ #define WC_NID_dsaWithSHA1_2 70
328
+ #define WC_NID_sha1WithRSA 115
329
+ #define WC_NID_sha1WithRSAEncryption 65
330
+ #define WC_NID_sha224WithRSAEncryption 671
331
+ #define WC_NID_sha256WithRSAEncryption 668
332
+ #define WC_NID_sha384WithRSAEncryption 669
333
+ #define WC_NID_sha512WithRSAEncryption 670
334
+ #define WC_NID_RSA_SHA3_224 1116
335
+ #define WC_NID_RSA_SHA3_256 1117
336
+ #define WC_NID_RSA_SHA3_384 1118
337
+ #define WC_NID_RSA_SHA3_512 1119
338
+ #define WC_NID_rsassaPss 912
339
+ #define WC_NID_ecdsa_with_SHA1 416
340
+ #define WC_NID_ecdsa_with_SHA224 793
341
+ #define WC_NID_ecdsa_with_SHA256 794
342
+ #define WC_NID_ecdsa_with_SHA384 795
343
+ #define WC_NID_ecdsa_with_SHA512 796
344
+ #define WC_NID_ecdsa_with_SHA3_224 1112
345
+ #define WC_NID_ecdsa_with_SHA3_256 1113
346
+ #define WC_NID_ecdsa_with_SHA3_384 1114
347
+ #define WC_NID_ecdsa_with_SHA3_512 1115
348
+ #define WC_NID_dsa_with_SHA224 802
349
+ #define WC_NID_dsa_with_SHA256 803
350
+ #define WC_NID_sha3_224 1096
351
+ #define WC_NID_sha3_256 1097
352
+ #define WC_NID_sha3_384 1098
353
+ #define WC_NID_sha3_512 1099
354
+ #define WC_NID_blake2b512 1056
355
+ #define WC_NID_blake2s256 1057
356
+ #define WC_NID_shake128 1100
357
+ #define WC_NID_shake256 1101
358
+ #define WC_NID_sha1 64
359
+ #define WC_NID_sha224 675
360
+ #define WC_NID_sm3 1143
361
+ #define WC_NID_md2 77
362
+ #define WC_NID_md4 257
363
+ #define WC_NID_md5 40
364
+ #define WC_NID_hmac 855
365
+ #define WC_NID_hmacWithSHA1 163
366
+ #define WC_NID_hmacWithSHA224 798
367
+ #define WC_NID_hmacWithSHA256 799
368
+ #define WC_NID_hmacWithSHA384 800
369
+ #define WC_NID_hmacWithSHA512 801
370
+ #define WC_NID_hkdf 1036
371
+ #define WC_NID_cmac 894
372
+ #define WC_NID_dhKeyAgreement 28
373
+ #define WC_NID_ffdhe2048 1126
374
+ #define WC_NID_ffdhe3072 1127
375
+ #define WC_NID_ffdhe4096 1128
376
+ #define WC_NID_rc4 5
377
+ #define WC_NID_bf_cbc 91
378
+ #define WC_NID_bf_ecb 92
379
+ #define WC_NID_bf_cfb64 93
380
+ #define WC_NID_bf_ofb64 94
381
+ #define WC_NID_cast5_cbc 108
382
+ #define WC_NID_cast5_ecb 109
383
+ #define WC_NID_cast5_cfb64 110
384
+ #define WC_NID_cast5_ofb64 111
385
+ /* key exchange */
386
+ #define WC_NID_kx_rsa 1037
387
+ #define WC_NID_kx_ecdhe 1038
388
+ #define WC_NID_kx_dhe 1039
389
+ #define WC_NID_kx_ecdhe_psk 1040
390
+ #define WC_NID_kx_dhe_psk 1041
391
+ #define WC_NID_kx_rsa_psk 1042
392
+ #define WC_NID_kx_psk 1043
393
+ #define WC_NID_kx_srp 1044
394
+ #define WC_NID_kx_gost 1045
395
+ #define WC_NID_kx_any 1063
396
+ /* server authentication */
397
+ #define WC_NID_auth_rsa 1046
398
+ #define WC_NID_auth_ecdsa 1047
399
+ #define WC_NID_auth_psk 1048
400
+ #define WC_NID_auth_dss 1049
401
+ #define WC_NID_auth_srp 1052
402
+ #define WC_NID_auth_null 1054
403
+ #define WC_NID_auth_any 1055
404
+ /* Curve */
405
+ #define WC_NID_aria_128_gcm 1123
406
+ #define WC_NID_aria_192_gcm 1124
407
+ #define WC_NID_aria_256_gcm 1125
408
+ #define WC_NID_sm2 1172
409
+
410
+ #define WC_NID_X9_62_id_ecPublicKey WC_EVP_PKEY_EC
411
+ #define WC_NID_rsaEncryption WC_EVP_PKEY_RSA
412
+ #define WC_NID_rsa WC_EVP_PKEY_RSA
413
+ #define WC_NID_dsa WC_EVP_PKEY_DSA
414
+
415
+ enum {
416
+ WC_EVP_PKEY_NONE = WC_NID_undef,
417
+ WC_AES_128_CBC_TYPE = 1,
418
+ WC_AES_192_CBC_TYPE = 2,
419
+ WC_AES_256_CBC_TYPE = 3,
420
+ WC_AES_128_CTR_TYPE = 4,
421
+ WC_AES_192_CTR_TYPE = 5,
422
+ WC_AES_256_CTR_TYPE = 6,
423
+ WC_AES_128_ECB_TYPE = 7,
424
+ WC_AES_192_ECB_TYPE = 8,
425
+ WC_AES_256_ECB_TYPE = 9,
426
+ WC_DES_CBC_TYPE = 10,
427
+ WC_DES_ECB_TYPE = 11,
428
+ WC_DES_EDE3_CBC_TYPE = 12,
429
+ WC_DES_EDE3_ECB_TYPE = 13,
430
+ WC_ARC4_TYPE = 14,
431
+ WC_NULL_CIPHER_TYPE = 15,
432
+ WC_EVP_PKEY_RSA = 16,
433
+ WC_EVP_PKEY_DSA = 17,
434
+ WC_EVP_PKEY_EC = 18,
435
+ WC_AES_128_GCM_TYPE = 21,
436
+ WC_AES_192_GCM_TYPE = 22,
437
+ WC_AES_256_GCM_TYPE = 23,
438
+ WC_EVP_PKEY_DH = WC_NID_dhKeyAgreement,
439
+ WC_EVP_PKEY_HMAC = WC_NID_hmac,
440
+ WC_EVP_PKEY_CMAC = WC_NID_cmac,
441
+ WC_EVP_PKEY_HKDF = WC_NID_hkdf,
442
+ WC_EVP_PKEY_FALCON = 300, /* Randomly picked value. */
443
+ WC_EVP_PKEY_DILITHIUM = 301, /* Randomly picked value. */
444
+ WC_AES_128_CFB1_TYPE = 24,
445
+ WC_AES_192_CFB1_TYPE = 25,
446
+ WC_AES_256_CFB1_TYPE = 26,
447
+ WC_AES_128_CFB8_TYPE = 27,
448
+ WC_AES_192_CFB8_TYPE = 28,
449
+ WC_AES_256_CFB8_TYPE = 29,
450
+ WC_AES_128_CFB128_TYPE = 30,
451
+ WC_AES_192_CFB128_TYPE = 31,
452
+ WC_AES_256_CFB128_TYPE = 32,
453
+ WC_AES_128_OFB_TYPE = 33,
454
+ WC_AES_192_OFB_TYPE = 34,
455
+ WC_AES_256_OFB_TYPE = 35,
456
+ WC_AES_128_XTS_TYPE = 36,
457
+ WC_AES_256_XTS_TYPE = 37,
458
+ WC_CHACHA20_POLY1305_TYPE = 38,
459
+ WC_CHACHA20_TYPE = 39,
460
+ WC_AES_128_CCM_TYPE = 40,
461
+ WC_AES_192_CCM_TYPE = 41,
462
+ WC_AES_256_CCM_TYPE = 42,
463
+ WC_SM4_ECB_TYPE = 43,
464
+ WC_SM4_CBC_TYPE = 44,
465
+ WC_SM4_CTR_TYPE = 45,
466
+ WC_SM4_GCM_TYPE = 46,
467
+ WC_SM4_CCM_TYPE = 47,
468
+ WC_ARIA_128_GCM_TYPE = 48,
469
+ WC_ARIA_192_GCM_TYPE = 49,
470
+ WC_ARIA_256_GCM_TYPE = 50
471
+ };
472
+
473
+ #define WOLFSSL_EVP_PKEY_PRINT_INDENT_MAX 128
474
+
475
+ #define WC_EVP_PKEY_OP_SIGN (1 << 3)
476
+ #define WC_EVP_PKEY_OP_VERIFY (1 << 5)
477
+ #define WC_EVP_PKEY_OP_ENCRYPT (1 << 6)
478
+ #define WC_EVP_PKEY_OP_DECRYPT (1 << 7)
479
+ #define WC_EVP_PKEY_OP_DERIVE (1 << 8)
480
+
481
+ #ifndef OPENSSL_COEXIST
482
+
483
+ #define EVP_PKEY_NONE WC_EVP_PKEY_NONE
484
+ #define AES_128_CBC_TYPE WC_AES_128_CBC_TYPE
485
+ #define AES_192_CBC_TYPE WC_AES_192_CBC_TYPE
486
+ #define AES_256_CBC_TYPE WC_AES_256_CBC_TYPE
487
+ #define AES_128_CTR_TYPE WC_AES_128_CTR_TYPE
488
+ #define AES_192_CTR_TYPE WC_AES_192_CTR_TYPE
489
+ #define AES_256_CTR_TYPE WC_AES_256_CTR_TYPE
490
+ #define AES_128_ECB_TYPE WC_AES_128_ECB_TYPE
491
+ #define AES_192_ECB_TYPE WC_AES_192_ECB_TYPE
492
+ #define AES_256_ECB_TYPE WC_AES_256_ECB_TYPE
493
+ #define DES_CBC_TYPE WC_DES_CBC_TYPE
494
+ #define DES_ECB_TYPE WC_DES_ECB_TYPE
495
+ #define DES_EDE3_CBC_TYPE WC_DES_EDE3_CBC_TYPE
496
+ #define DES_EDE3_ECB_TYPE WC_DES_EDE3_ECB_TYPE
497
+ #define ARC4_TYPE WC_ARC4_TYPE
498
+ #define NULL_CIPHER_TYPE WC_NULL_CIPHER_TYPE
499
+ #define EVP_PKEY_RSA WC_EVP_PKEY_RSA
500
+ #define EVP_PKEY_DSA WC_EVP_PKEY_DSA
501
+ #define EVP_PKEY_EC WC_EVP_PKEY_EC
502
+ #define AES_128_GCM_TYPE WC_AES_128_GCM_TYPE
503
+ #define AES_192_GCM_TYPE WC_AES_192_GCM_TYPE
504
+ #define AES_256_GCM_TYPE WC_AES_256_GCM_TYPE
505
+ #define EVP_PKEY_DH WC_EVP_PKEY_DH
506
+ #define EVP_PKEY_HMAC WC_EVP_PKEY_HMAC
507
+ #define EVP_PKEY_CMAC WC_EVP_PKEY_CMAC
508
+ #define EVP_PKEY_HKDF WC_EVP_PKEY_HKDF
509
+ #define EVP_PKEY_FALCON WC_EVP_PKEY_FALCON
510
+ #define EVP_PKEY_DILITHIUM WC_EVP_PKEY_DILITHIUM
511
+ #define AES_128_CFB1_TYPE WC_AES_128_CFB1_TYPE
512
+ #define AES_192_CFB1_TYPE WC_AES_192_CFB1_TYPE
513
+ #define AES_256_CFB1_TYPE WC_AES_256_CFB1_TYPE
514
+ #define AES_128_CFB8_TYPE WC_AES_128_CFB8_TYPE
515
+ #define AES_192_CFB8_TYPE WC_AES_192_CFB8_TYPE
516
+ #define AES_256_CFB8_TYPE WC_AES_256_CFB8_TYPE
517
+ #define AES_128_CFB128_TYPE WC_AES_128_CFB128_TYPE
518
+ #define AES_192_CFB128_TYPE WC_AES_192_CFB128_TYPE
519
+ #define AES_256_CFB128_TYPE WC_AES_256_CFB128_TYPE
520
+ #define AES_128_OFB_TYPE WC_AES_128_OFB_TYPE
521
+ #define AES_192_OFB_TYPE WC_AES_192_OFB_TYPE
522
+ #define AES_256_OFB_TYPE WC_AES_256_OFB_TYPE
523
+ #define AES_128_XTS_TYPE WC_AES_128_XTS_TYPE
524
+ #define AES_256_XTS_TYPE WC_AES_256_XTS_TYPE
525
+ #define CHACHA20_POLY1305_TYPE WC_CHACHA20_POLY1305_TYPE
526
+ #define CHACHA20_TYPE WC_CHACHA20_TYPE
527
+ #define AES_128_CCM_TYPE WC_AES_128_CCM_TYPE
528
+ #define AES_192_CCM_TYPE WC_AES_192_CCM_TYPE
529
+ #define AES_256_CCM_TYPE WC_AES_256_CCM_TYPE
530
+ #define SM4_ECB_TYPE WC_SM4_ECB_TYPE
531
+ #define SM4_CBC_TYPE WC_SM4_CBC_TYPE
532
+ #define SM4_CTR_TYPE WC_SM4_CTR_TYPE
533
+ #define SM4_GCM_TYPE WC_SM4_GCM_TYPE
534
+ #define SM4_CCM_TYPE WC_SM4_CCM_TYPE
535
+ #define ARIA_128_GCM_TYPE WC_ARIA_128_GCM_TYPE
536
+ #define ARIA_192_GCM_TYPE WC_ARIA_192_GCM_TYPE
537
+ #define ARIA_256_GCM_TYPE WC_ARIA_256_GCM_TYPE
538
+
539
+ #define NID_aes_128_cbc WC_NID_aes_128_cbc
540
+ #define NID_aes_192_cbc WC_NID_aes_192_cbc
541
+ #define NID_aes_256_cbc WC_NID_aes_256_cbc
542
+ #define NID_aes_128_ccm WC_NID_aes_128_ccm
543
+ #define NID_aes_192_ccm WC_NID_aes_192_ccm
544
+ #define NID_aes_256_ccm WC_NID_aes_256_ccm
545
+ #define NID_aes_128_gcm WC_NID_aes_128_gcm
546
+ #define NID_aes_192_gcm WC_NID_aes_192_gcm
547
+ #define NID_aes_256_gcm WC_NID_aes_256_gcm
548
+ #define NID_aes_128_ctr WC_NID_aes_128_ctr
549
+ #define NID_aes_192_ctr WC_NID_aes_192_ctr
550
+ #define NID_aes_256_ctr WC_NID_aes_256_ctr
551
+ #define NID_aes_128_ecb WC_NID_aes_128_ecb
552
+ #define NID_aes_192_ecb WC_NID_aes_192_ecb
553
+ #define NID_aes_256_ecb WC_NID_aes_256_ecb
554
+ #define NID_des_cbc WC_NID_des_cbc
555
+ #define NID_des_ecb WC_NID_des_ecb
556
+ #define NID_des_ede3_cbc WC_NID_des_ede3_cbc
557
+ #define NID_des_ede3_ecb WC_NID_des_ede3_ecb
558
+ #define NID_aes_128_cfb1 WC_NID_aes_128_cfb1
559
+ #define NID_aes_192_cfb1 WC_NID_aes_192_cfb1
560
+ #define NID_aes_256_cfb1 WC_NID_aes_256_cfb1
561
+ #define NID_aes_128_cfb8 WC_NID_aes_128_cfb8
562
+ #define NID_aes_192_cfb8 WC_NID_aes_192_cfb8
563
+ #define NID_aes_256_cfb8 WC_NID_aes_256_cfb8
564
+ #define NID_aes_128_cfb128 WC_NID_aes_128_cfb128
565
+ #define NID_aes_192_cfb128 WC_NID_aes_192_cfb128
566
+ #define NID_aes_256_cfb128 WC_NID_aes_256_cfb128
567
+ #define NID_aes_128_ofb WC_NID_aes_128_ofb
568
+ #define NID_aes_192_ofb WC_NID_aes_192_ofb
569
+ #define NID_aes_256_ofb WC_NID_aes_256_ofb
570
+ #define NID_aes_128_xts WC_NID_aes_128_xts
571
+ #define NID_aes_256_xts WC_NID_aes_256_xts
572
+ #define NID_camellia_128_cbc WC_NID_camellia_128_cbc
573
+ #define NID_camellia_256_cbc WC_NID_camellia_256_cbc
574
+ #define NID_chacha20_poly1305 WC_NID_chacha20_poly1305
575
+ #define NID_chacha20 WC_NID_chacha20
576
+ #define NID_sm4_ecb WC_NID_sm4_ecb
577
+ #define NID_sm4_cbc WC_NID_sm4_cbc
578
+ #define NID_sm4_ctr WC_NID_sm4_ctr
579
+ #define NID_sm4_gcm WC_NID_sm4_gcm
580
+ #define NID_sm4_ccm WC_NID_sm4_ccm
581
+ #define NID_md5WithRSA WC_NID_md5WithRSA
582
+ #define NID_md2WithRSAEncryption WC_NID_md2WithRSAEncryption
583
+ #define NID_md5WithRSAEncryption WC_NID_md5WithRSAEncryption
584
+ #define NID_dsaWithSHA1 WC_NID_dsaWithSHA1
585
+ #define NID_dsaWithSHA1_2 WC_NID_dsaWithSHA1_2
586
+ #define NID_sha1WithRSA WC_NID_sha1WithRSA
587
+ #define NID_sha1WithRSAEncryption WC_NID_sha1WithRSAEncryption
588
+ #define NID_sha224WithRSAEncryption WC_NID_sha224WithRSAEncryption
589
+ #define NID_sha256WithRSAEncryption WC_NID_sha256WithRSAEncryption
590
+ #define NID_sha384WithRSAEncryption WC_NID_sha384WithRSAEncryption
591
+ #define NID_sha512WithRSAEncryption WC_NID_sha512WithRSAEncryption
592
+ #define NID_RSA_SHA3_224 WC_NID_RSA_SHA3_224
593
+ #define NID_RSA_SHA3_256 WC_NID_RSA_SHA3_256
594
+ #define NID_RSA_SHA3_384 WC_NID_RSA_SHA3_384
595
+ #define NID_RSA_SHA3_512 WC_NID_RSA_SHA3_512
596
+ #define NID_rsassaPss WC_NID_rsassaPss
597
+ #define NID_ecdsa_with_SHA1 WC_NID_ecdsa_with_SHA1
598
+ #define NID_ecdsa_with_SHA224 WC_NID_ecdsa_with_SHA224
599
+ #define NID_ecdsa_with_SHA256 WC_NID_ecdsa_with_SHA256
600
+ #define NID_ecdsa_with_SHA384 WC_NID_ecdsa_with_SHA384
601
+ #define NID_ecdsa_with_SHA512 WC_NID_ecdsa_with_SHA512
602
+ #define NID_ecdsa_with_SHA3_224 WC_NID_ecdsa_with_SHA3_224
603
+ #define NID_ecdsa_with_SHA3_256 WC_NID_ecdsa_with_SHA3_256
604
+ #define NID_ecdsa_with_SHA3_384 WC_NID_ecdsa_with_SHA3_384
605
+ #define NID_ecdsa_with_SHA3_512 WC_NID_ecdsa_with_SHA3_512
606
+ #define NID_dsa_with_SHA224 WC_NID_dsa_with_SHA224
607
+ #define NID_dsa_with_SHA256 WC_NID_dsa_with_SHA256
608
+ #define NID_sha3_224 WC_NID_sha3_224
609
+ #define NID_sha3_256 WC_NID_sha3_256
610
+ #define NID_sha3_384 WC_NID_sha3_384
611
+ #define NID_sha3_512 WC_NID_sha3_512
612
+ #define NID_blake2b512 WC_NID_blake2b512
613
+ #define NID_blake2s256 WC_NID_blake2s256
614
+ #define NID_shake128 WC_NID_shake128
615
+ #define NID_shake256 WC_NID_shake256
616
+ #define NID_sha1 WC_NID_sha1
617
+ #define NID_sha224 WC_NID_sha224
618
+ #define NID_sm3 WC_NID_sm3
619
+ #define NID_md2 WC_NID_md2
620
+ #define NID_md4 WC_NID_md4
621
+ #define NID_md5 WC_NID_md5
622
+ #define NID_hmac WC_NID_hmac
623
+ #define NID_hmacWithSHA1 WC_NID_hmacWithSHA1
624
+ #define NID_hmacWithSHA224 WC_NID_hmacWithSHA224
625
+ #define NID_hmacWithSHA256 WC_NID_hmacWithSHA256
626
+ #define NID_hmacWithSHA384 WC_NID_hmacWithSHA384
627
+ #define NID_hmacWithSHA512 WC_NID_hmacWithSHA512
628
+ #define NID_hkdf WC_NID_hkdf
629
+ #define NID_cmac WC_NID_cmac
630
+ #define NID_dhKeyAgreement WC_NID_dhKeyAgreement
631
+ #define NID_ffdhe2048 WC_NID_ffdhe2048
632
+ #define NID_ffdhe3072 WC_NID_ffdhe3072
633
+ #define NID_ffdhe4096 WC_NID_ffdhe4096
634
+ #define NID_rc4 WC_NID_rc4
635
+ #define NID_bf_cbc WC_NID_bf_cbc
636
+ #define NID_bf_ecb WC_NID_bf_ecb
637
+ #define NID_bf_cfb64 WC_NID_bf_cfb64
638
+ #define NID_bf_ofb64 WC_NID_bf_ofb64
639
+ #define NID_cast5_cbc WC_NID_cast5_cbc
640
+ #define NID_cast5_ecb WC_NID_cast5_ecb
641
+ #define NID_cast5_cfb64 WC_NID_cast5_cfb64
642
+ #define NID_cast5_ofb64 WC_NID_cast5_ofb64
643
+ /* key exchange */
644
+ #define NID_kx_rsa WC_NID_kx_rsa
645
+ #define NID_kx_ecdhe WC_NID_kx_ecdhe
646
+ #define NID_kx_dhe WC_NID_kx_dhe
647
+ #define NID_kx_ecdhe_psk WC_NID_kx_ecdhe_psk
648
+ #define NID_kx_dhe_psk WC_NID_kx_dhe_psk
649
+ #define NID_kx_rsa_psk WC_NID_kx_rsa_psk
650
+ #define NID_kx_psk WC_NID_kx_psk
651
+ #define NID_kx_srp WC_NID_kx_srp
652
+ #define NID_kx_gost WC_NID_kx_gost
653
+ #define NID_kx_any WC_NID_kx_any
654
+ /* server authentication */
655
+ #define NID_auth_rsa WC_NID_auth_rsa
656
+ #define NID_auth_ecdsa WC_NID_auth_ecdsa
657
+ #define NID_auth_psk WC_NID_auth_psk
658
+ #define NID_auth_dss WC_NID_auth_dss
659
+ #define NID_auth_srp WC_NID_auth_srp
660
+ #define NID_auth_null WC_NID_auth_null
661
+ #define NID_auth_any WC_NID_auth_any
662
+ /* Curve */
663
+ #define NID_aria_128_gcm WC_NID_aria_128_gcm
664
+ #define NID_aria_192_gcm WC_NID_aria_192_gcm
665
+ #define NID_aria_256_gcm WC_NID_aria_256_gcm
666
+ #define NID_sm2 WC_NID_sm2
667
+
668
+ #define NID_X9_62_id_ecPublicKey WC_NID_X9_62_id_ecPublicKey
669
+ #define NID_rsaEncryption WC_NID_rsaEncryption
670
+ #define NID_rsa WC_NID_rsa
671
+ #define NID_dsa WC_NID_dsa
672
+
673
+ #define EVP_PKEY_OP_SIGN WC_EVP_PKEY_OP_SIGN
674
+ #define EVP_PKEY_OP_VERIFY WC_EVP_PKEY_OP_VERIFY
675
+ #define EVP_PKEY_OP_ENCRYPT WC_EVP_PKEY_OP_ENCRYPT
676
+ #define EVP_PKEY_OP_DECRYPT WC_EVP_PKEY_OP_DECRYPT
677
+ #define EVP_PKEY_OP_DERIVE WC_EVP_PKEY_OP_DERIVE
678
+
679
+ #define EVP_PKEY_PRINT_INDENT_MAX WOLFSSL_EVP_PKEY_PRINT_INDENT_MAX
680
+
681
+ #endif /* !OPENSSL_COEXIST */
682
+
683
+ #endif /* OPENSSL_EXTRA || OPENSSL_EXTRA_X509_SMALL */
684
+
685
+
686
+ #define WOLFSSL_EVP_BUF_SIZE 16
687
+ struct WOLFSSL_EVP_CIPHER_CTX {
688
+ int keyLen; /* user may set for variable */
689
+ int block_size;
690
+ unsigned long flags;
691
+ unsigned char enc; /* if encrypt side, then true */
692
+ unsigned char cipherType;
693
+ #if !defined(NO_AES)
694
+ /* working iv pointer into cipher */
695
+ ALIGN16 unsigned char iv[WC_AES_BLOCK_SIZE];
696
+ #elif defined(WOLFSSL_SM4)
697
+ ALIGN16 unsigned char iv[SM4_BLOCK_SIZE];
698
+ #elif defined(HAVE_CHACHA) && defined(HAVE_POLY1305)
699
+ ALIGN16 unsigned char iv[CHACHA20_POLY1305_AEAD_IV_SIZE];
700
+ #elif !defined(NO_DES3)
701
+ ALIGN16 unsigned char iv[DES_BLOCK_SIZE];
702
+ #endif
703
+ WOLFSSL_Cipher cipher;
704
+ ALIGN16 byte buf[WOLFSSL_EVP_BUF_SIZE];
705
+ int bufUsed;
706
+ ALIGN16 byte lastBlock[WOLFSSL_EVP_BUF_SIZE];
707
+ int lastUsed;
708
+ #if !defined(NO_AES) || !defined(NO_DES3) || defined(HAVE_AESGCM) || \
709
+ defined (WOLFSSL_AES_XTS) || (defined(HAVE_CHACHA) || \
710
+ defined(HAVE_POLY1305) || defined(HAVE_AESCCM)) || \
711
+ defined(WOLFSSL_SM4_GCM) || defined(WOLFSSL_SM4_CCM)
712
+ #define HAVE_WOLFSSL_EVP_CIPHER_CTX_IV
713
+ int ivSz;
714
+ #if defined(HAVE_AESGCM) || defined(HAVE_AESCCM) || \
715
+ defined(WOLFSSL_SM4_GCM) || defined(WOLFSSL_SM4_CCM)
716
+ byte* authBuffer;
717
+ int authBufferLen;
718
+ byte* authIn;
719
+ int authInSz;
720
+ #endif
721
+ #if defined(HAVE_CHACHA) && defined(HAVE_POLY1305)
722
+ byte* key; /* used in partial Init()s */
723
+ #endif
724
+ #if defined(HAVE_AESGCM) || defined(HAVE_AESCCM) || defined(HAVE_ARIA) || \
725
+ defined(WOLFSSL_SM4_GCM) || defined(WOLFSSL_SM4_CCM) || \
726
+ (defined(HAVE_CHACHA) && defined(HAVE_POLY1305))
727
+ #if defined(HAVE_AESGCM) || defined(HAVE_AESCCM) || defined(HAVE_ARIA)
728
+ ALIGN16 unsigned char authTag[WC_AES_BLOCK_SIZE];
729
+ #elif defined(WOLFSSL_SM4_GCM) || defined(WOLFSSL_SM4_CCM)
730
+ ALIGN16 unsigned char authTag[SM4_BLOCK_SIZE];
731
+ #else
732
+ ALIGN16 unsigned char authTag[CHACHA20_POLY1305_AEAD_AUTHTAG_SIZE];
733
+ #endif
734
+ int authTagSz;
735
+ #endif
736
+ #if defined(HAVE_AESGCM) || defined(HAVE_AESCCM) || \
737
+ defined(WOLFSSL_SM4_GCM) || defined(WOLFSSL_SM4_CCM)
738
+ WC_BITFIELD authIvGenEnable:1;
739
+ WC_BITFIELD authIncIv:1;
740
+ #endif
741
+ #endif
742
+ };
743
+
744
+ struct WOLFSSL_EVP_PKEY_CTX {
745
+ WOLFSSL_EVP_PKEY *pkey;
746
+ WOLFSSL_EVP_PKEY *peerKey;
747
+ int op; /* operation */
748
+ int padding;
749
+ int nbits;
750
+ #ifdef HAVE_ECC
751
+ int curveNID;
752
+ #endif
753
+ #ifndef NO_RSA
754
+ const WOLFSSL_EVP_MD* md;
755
+ const WOLFSSL_EVP_MD* mgf1_md;
756
+ int saltlen;
757
+ #endif /* !NO_RSA */
758
+ };
759
+
760
+ struct WOLFSSL_ASN1_PCTX {
761
+ int dummy;
762
+ };
763
+ #if defined(WOLFSSL_BASE64_ENCODE) || defined(WOLFSSL_BASE64_DECODE)
764
+
765
+ #define BASE64_ENCODE_BLOCK_SIZE 48
766
+ #define BASE64_ENCODE_RESULT_BLOCK_SIZE 64
767
+ #define BASE64_DECODE_BLOCK_SIZE 4
768
+
769
+ struct WOLFSSL_EVP_ENCODE_CTX {
770
+ void* heap;
771
+ int remaining; /* num of bytes in data[] */
772
+ byte data[BASE64_ENCODE_BLOCK_SIZE];/* storage for unprocessed raw data */
773
+ };
774
+ typedef struct WOLFSSL_EVP_ENCODE_CTX WOLFSSL_EVP_ENCODE_CTX;
775
+
776
+ WOLFSSL_API struct WOLFSSL_EVP_ENCODE_CTX* wolfSSL_EVP_ENCODE_CTX_new(void);
777
+ WOLFSSL_API void wolfSSL_EVP_ENCODE_CTX_free(WOLFSSL_EVP_ENCODE_CTX* ctx);
778
+ #endif /* WOLFSSL_BASE64_ENCODE || WOLFSSL_BASE64_DECODE */
779
+
780
+ #if defined(WOLFSSL_BASE64_ENCODE)
781
+ WOLFSSL_API void wolfSSL_EVP_EncodeInit(WOLFSSL_EVP_ENCODE_CTX* ctx);
782
+ WOLFSSL_API int wolfSSL_EVP_EncodeUpdate(WOLFSSL_EVP_ENCODE_CTX* ctx,
783
+ unsigned char*out, int *outl, const unsigned char*in, int inl);
784
+ WOLFSSL_API void wolfSSL_EVP_EncodeFinal(WOLFSSL_EVP_ENCODE_CTX* ctx,
785
+ unsigned char*out, int *outl);
786
+ WOLFSSL_API int wolfSSL_EVP_EncodeBlock(unsigned char *out,
787
+ const unsigned char *in, int inLen);
788
+ WOLFSSL_API int wolfSSL_EVP_DecodeBlock(unsigned char *out,
789
+ const unsigned char *in, int inLen);
790
+ #endif /* WOLFSSL_BASE64_ENCODE */
791
+
792
+ #if defined(WOLFSSL_BASE64_DECODE)
793
+ WOLFSSL_API void wolfSSL_EVP_DecodeInit(WOLFSSL_EVP_ENCODE_CTX* ctx);
794
+ WOLFSSL_API int wolfSSL_EVP_DecodeUpdate(WOLFSSL_EVP_ENCODE_CTX* ctx,
795
+ unsigned char*out, int *outl, const unsigned char*in, int inl);
796
+ WOLFSSL_API int wolfSSL_EVP_DecodeFinal(WOLFSSL_EVP_ENCODE_CTX* ctx,
797
+ unsigned char*out, int *outl);
798
+ #endif /* WOLFSSL_BASE64_DECODE */
799
+
800
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_blake2b512(void);
801
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_blake2s256(void);
802
+
803
+ WOLFSSL_API void wolfSSL_EVP_init(void);
804
+ WOLFSSL_API int wolfSSL_EVP_MD_size(const WOLFSSL_EVP_MD* type);
805
+ WOLFSSL_API int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type);
806
+ WOLFSSL_API unsigned long wolfSSL_EVP_MD_flags(const WOLFSSL_EVP_MD *md);
807
+ WOLFSSL_API int wolfSSL_EVP_MD_block_size(const WOLFSSL_EVP_MD* type);
808
+ WOLFSSL_API int wolfSSL_EVP_MD_pkey_type(const WOLFSSL_EVP_MD* type);
809
+
810
+ WOLFSSL_API WOLFSSL_EVP_MD_CTX *wolfSSL_EVP_MD_CTX_new (void);
811
+ WOLFSSL_API void wolfSSL_EVP_MD_CTX_free(WOLFSSL_EVP_MD_CTX* ctx);
812
+ WOLFSSL_API void wolfSSL_EVP_MD_CTX_init(WOLFSSL_EVP_MD_CTX* ctx);
813
+ WOLFSSL_API int wolfSSL_EVP_MD_CTX_cleanup(WOLFSSL_EVP_MD_CTX* ctx);
814
+ WOLFSSL_API int wolfSSL_EVP_MD_CTX_copy(WOLFSSL_EVP_MD_CTX *out, const WOLFSSL_EVP_MD_CTX *in);
815
+ WOLFSSL_API int wolfSSL_EVP_MD_CTX_copy_ex(WOLFSSL_EVP_MD_CTX *out, const WOLFSSL_EVP_MD_CTX *in);
816
+ WOLFSSL_API int wolfSSL_EVP_MD_CTX_type(const WOLFSSL_EVP_MD_CTX *ctx);
817
+ WOLFSSL_API int wolfSSL_EVP_MD_CTX_size(const WOLFSSL_EVP_MD_CTX *ctx);
818
+ WOLFSSL_API int wolfSSL_EVP_MD_CTX_block_size(const WOLFSSL_EVP_MD_CTX *ctx);
819
+ WOLFSSL_API const WOLFSSL_EVP_MD *wolfSSL_EVP_MD_CTX_md(const WOLFSSL_EVP_MD_CTX *ctx);
820
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER *wolfSSL_EVP_get_cipherbyname(const char *name);
821
+ WOLFSSL_API const WOLFSSL_EVP_MD *wolfSSL_EVP_get_digestbyname(const char *name);
822
+ WOLFSSL_API int wolfSSL_EVP_CIPHER_nid(const WOLFSSL_EVP_CIPHER *cipher);
823
+
824
+ WOLFSSL_API int wolfSSL_EVP_DigestInit(WOLFSSL_EVP_MD_CTX* ctx,
825
+ const WOLFSSL_EVP_MD* type);
826
+ WOLFSSL_API int wolfSSL_EVP_DigestUpdate(WOLFSSL_EVP_MD_CTX* ctx, const void* data,
827
+ size_t sz);
828
+ WOLFSSL_API int wolfSSL_EVP_DigestFinal(WOLFSSL_EVP_MD_CTX* ctx, unsigned char* md,
829
+ unsigned int* s);
830
+ WOLFSSL_API int wolfSSL_EVP_DigestFinal_ex(WOLFSSL_EVP_MD_CTX* ctx,
831
+ unsigned char* md, unsigned int* s);
832
+ WOLFSSL_API int wolfSSL_EVP_DigestFinalXOF(WOLFSSL_EVP_MD_CTX* ctx,
833
+ unsigned char* md, size_t sz);
834
+ WOLFSSL_API int wolfSSL_EVP_DigestSignUpdate(WOLFSSL_EVP_MD_CTX *ctx,
835
+ const void *d, unsigned int cnt);
836
+ WOLFSSL_API int wolfSSL_EVP_DigestSignFinal(WOLFSSL_EVP_MD_CTX *ctx,
837
+ unsigned char *sig, size_t *siglen);
838
+ WOLFSSL_API int wolfSSL_EVP_DigestVerifyUpdate(WOLFSSL_EVP_MD_CTX *ctx,
839
+ const void *d, size_t cnt);
840
+ WOLFSSL_API int wolfSSL_EVP_DigestVerifyFinal(WOLFSSL_EVP_MD_CTX *ctx,
841
+ const unsigned char *sig,
842
+ size_t siglen);
843
+
844
+ WOLFSSL_API int wolfSSL_EVP_BytesToKey(const WOLFSSL_EVP_CIPHER* type,
845
+ const WOLFSSL_EVP_MD* md, const byte* salt,
846
+ const byte* data, int sz, int count, byte* key, byte* iv);
847
+
848
+ WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_init(WOLFSSL_EVP_CIPHER_CTX* ctx);
849
+ WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_cleanup(WOLFSSL_EVP_CIPHER_CTX* ctx);
850
+ WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_ctrl(WOLFSSL_EVP_CIPHER_CTX *ctx, \
851
+ int type, int arg, void *ptr);
852
+ WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_iv_length(
853
+ const WOLFSSL_EVP_CIPHER_CTX* ctx);
854
+ WOLFSSL_API int wolfSSL_EVP_CIPHER_iv_length(const WOLFSSL_EVP_CIPHER* cipher);
855
+ WOLFSSL_API int wolfSSL_EVP_Cipher_key_length(const WOLFSSL_EVP_CIPHER* c);
856
+
857
+
858
+ WOLFSSL_API int wolfSSL_EVP_CipherInit(WOLFSSL_EVP_CIPHER_CTX* ctx,
859
+ const WOLFSSL_EVP_CIPHER* type,
860
+ const unsigned char* key,
861
+ const unsigned char* iv,
862
+ int enc);
863
+ WOLFSSL_API int wolfSSL_EVP_CipherUpdate(WOLFSSL_EVP_CIPHER_CTX *ctx,
864
+ unsigned char *out, int *outl,
865
+ const unsigned char *in, int inl);
866
+ WOLFSSL_API int wolfSSL_EVP_CipherFinal(WOLFSSL_EVP_CIPHER_CTX *ctx,
867
+ unsigned char *out, int *outl);
868
+ WOLFSSL_API int wolfSSL_EVP_CipherFinal_ex(WOLFSSL_EVP_CIPHER_CTX *ctx,
869
+ unsigned char *out, int *outl, int enc);
870
+ WOLFSSL_API int wolfSSL_EVP_EncryptFinal(WOLFSSL_EVP_CIPHER_CTX *ctx,
871
+ unsigned char *out, int *outl);
872
+ WOLFSSL_API int wolfSSL_EVP_EncryptFinal_ex(WOLFSSL_EVP_CIPHER_CTX *ctx,
873
+ unsigned char *out, int *outl);
874
+ WOLFSSL_API int wolfSSL_EVP_DecryptFinal(WOLFSSL_EVP_CIPHER_CTX *ctx,
875
+ unsigned char *out, int *outl);
876
+ WOLFSSL_API int wolfSSL_EVP_DecryptFinal_ex(WOLFSSL_EVP_CIPHER_CTX *ctx,
877
+ unsigned char *out, int *outl);
878
+ WOLFSSL_API int wolfSSL_EVP_DecryptFinal_legacy(WOLFSSL_EVP_CIPHER_CTX *ctx,
879
+ unsigned char *out, int *outl);
880
+
881
+ WOLFSSL_API WOLFSSL_EVP_CIPHER_CTX *wolfSSL_EVP_CIPHER_CTX_new(void);
882
+ WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_free(WOLFSSL_EVP_CIPHER_CTX *ctx);
883
+ WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_reset(WOLFSSL_EVP_CIPHER_CTX *ctx);
884
+ WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_nid(const WOLFSSL_EVP_CIPHER_CTX *ctx);
885
+ WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_key_length(WOLFSSL_EVP_CIPHER_CTX* ctx);
886
+ WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_set_key_length(WOLFSSL_EVP_CIPHER_CTX* ctx,
887
+ int keylen);
888
+ WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_set_iv_length(WOLFSSL_EVP_CIPHER_CTX* ctx,
889
+ int ivLen);
890
+ WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_set_iv(WOLFSSL_EVP_CIPHER_CTX* ctx, byte* iv,
891
+ int ivLen);
892
+ WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_get_iv(WOLFSSL_EVP_CIPHER_CTX* ctx, byte* iv,
893
+ int ivLen);
894
+ WOLFSSL_API int wolfSSL_EVP_Cipher(WOLFSSL_EVP_CIPHER_CTX* ctx,
895
+ unsigned char* dst, const unsigned char* src,
896
+ unsigned int len);
897
+
898
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_get_cipherbynid(int id);
899
+ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_get_digestbynid(int id);
900
+ WOLFSSL_API const WOLFSSL_EVP_CIPHER *wolfSSL_EVP_CIPHER_CTX_cipher(const WOLFSSL_EVP_CIPHER_CTX *ctx);
901
+
902
+ WOLFSSL_API int wolfSSL_EVP_PKEY_assign_RSA(WOLFSSL_EVP_PKEY* pkey,
903
+ WOLFSSL_RSA* key);
904
+ WOLFSSL_API int wolfSSL_EVP_PKEY_assign_EC_KEY(WOLFSSL_EVP_PKEY* pkey,
905
+ WOLFSSL_EC_KEY* key);
906
+ WOLFSSL_API int wolfSSL_EVP_PKEY_assign_DSA(WOLFSSL_EVP_PKEY* pkey, WOLFSSL_DSA* key);
907
+ WOLFSSL_API int wolfSSL_EVP_PKEY_assign_DH(WOLFSSL_EVP_PKEY* pkey, WOLFSSL_DH* key);
908
+ WOLFSSL_API WOLFSSL_RSA* wolfSSL_EVP_PKEY_get0_RSA(WOLFSSL_EVP_PKEY *pkey);
909
+ WOLFSSL_API WOLFSSL_DSA* wolfSSL_EVP_PKEY_get0_DSA(WOLFSSL_EVP_PKEY *pkey);
910
+ WOLFSSL_API WOLFSSL_RSA* wolfSSL_EVP_PKEY_get1_RSA(WOLFSSL_EVP_PKEY* key);
911
+ WOLFSSL_API WOLFSSL_DSA* wolfSSL_EVP_PKEY_get1_DSA(WOLFSSL_EVP_PKEY* key);
912
+ WOLFSSL_API WOLFSSL_EC_KEY *wolfSSL_EVP_PKEY_get0_EC_KEY(WOLFSSL_EVP_PKEY *pkey);
913
+ WOLFSSL_API WOLFSSL_EC_KEY *wolfSSL_EVP_PKEY_get1_EC_KEY(WOLFSSL_EVP_PKEY *key);
914
+ WOLFSSL_API WOLFSSL_DH* wolfSSL_EVP_PKEY_get0_DH(WOLFSSL_EVP_PKEY* key);
915
+ WOLFSSL_API WOLFSSL_DH* wolfSSL_EVP_PKEY_get1_DH(WOLFSSL_EVP_PKEY* key);
916
+ WOLFSSL_API int wolfSSL_EVP_PKEY_set1_RSA(WOLFSSL_EVP_PKEY *pkey, WOLFSSL_RSA *key);
917
+ WOLFSSL_API int wolfSSL_EVP_PKEY_set1_DSA(WOLFSSL_EVP_PKEY *pkey, WOLFSSL_DSA *key);
918
+ WOLFSSL_API int wolfSSL_EVP_PKEY_set1_DH(WOLFSSL_EVP_PKEY *pkey, WOLFSSL_DH *key);
919
+ WOLFSSL_API int wolfSSL_EVP_PKEY_set1_EC_KEY(WOLFSSL_EVP_PKEY *pkey, WOLFSSL_EC_KEY *key);
920
+ WOLFSSL_API int wolfSSL_EVP_PKEY_assign(WOLFSSL_EVP_PKEY *pkey, int type, void *key);
921
+
922
+ WOLFSSL_API const unsigned char* wolfSSL_EVP_PKEY_get0_hmac(const WOLFSSL_EVP_PKEY* pkey,
923
+ size_t* len);
924
+ WOLFSSL_API int wolfSSL_EVP_PKEY_sign_init(WOLFSSL_EVP_PKEY_CTX *ctx);
925
+ WOLFSSL_API int wolfSSL_EVP_PKEY_sign(WOLFSSL_EVP_PKEY_CTX *ctx,
926
+ unsigned char *sig, size_t *siglen, const unsigned char *tbs, size_t tbslen);
927
+ WOLFSSL_API int wolfSSL_EVP_PKEY_verify_init(WOLFSSL_EVP_PKEY_CTX *ctx);
928
+ WOLFSSL_API int wolfSSL_EVP_PKEY_verify(WOLFSSL_EVP_PKEY_CTX *ctx, const unsigned char *sig,
929
+ size_t siglen, const unsigned char *tbs, size_t tbslen);
930
+ WOLFSSL_API int wolfSSL_EVP_PKEY_paramgen_init(WOLFSSL_EVP_PKEY_CTX *ctx);
931
+ WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_set_ec_paramgen_curve_nid(WOLFSSL_EVP_PKEY_CTX *ctx,
932
+ int nid);
933
+ WOLFSSL_API int wolfSSL_EVP_PKEY_paramgen(WOLFSSL_EVP_PKEY_CTX* ctx,
934
+ WOLFSSL_EVP_PKEY** pkey);
935
+ WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_set_ec_param_enc(WOLFSSL_EVP_PKEY_CTX *ctx,
936
+ int flag);
937
+ WOLFSSL_API int wolfSSL_EVP_PKEY_keygen_init(WOLFSSL_EVP_PKEY_CTX *ctx);
938
+ WOLFSSL_API int wolfSSL_EVP_PKEY_keygen(WOLFSSL_EVP_PKEY_CTX *ctx,
939
+ WOLFSSL_EVP_PKEY **ppkey);
940
+ WOLFSSL_API int wolfSSL_EVP_PKEY_bits(const WOLFSSL_EVP_PKEY *pkey);
941
+ WOLFSSL_API int wolfSSL_EVP_PKEY_is_a(const WOLFSSL_EVP_PKEY *pkey,
942
+ const char *name);
943
+ #if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L
944
+ WOLFSSL_API void wolfSSL_EVP_PKEY_CTX_free(WOLFSSL_EVP_PKEY_CTX *ctx);
945
+ #else
946
+ WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_free(WOLFSSL_EVP_PKEY_CTX *ctx);
947
+ #endif
948
+ WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_set_rsa_padding(WOLFSSL_EVP_PKEY_CTX *ctx, int padding);
949
+ WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_set_signature_md(WOLFSSL_EVP_PKEY_CTX *ctx,
950
+ const WOLFSSL_EVP_MD* md);
951
+ WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_set_rsa_keygen_bits(WOLFSSL_EVP_PKEY_CTX *ctx, int bits);
952
+ WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_set_rsa_pss_saltlen(WOLFSSL_EVP_PKEY_CTX *ctx, int saltlen);
953
+ WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_set_rsa_mgf1_md(WOLFSSL_EVP_PKEY_CTX *ctx, const WOLFSSL_EVP_MD *md);
954
+ WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_set_rsa_oaep_md(WOLFSSL_EVP_PKEY_CTX *ctx, const WOLFSSL_EVP_MD *md);
955
+
956
+ WOLFSSL_API int wolfSSL_EVP_PKEY_derive_init(WOLFSSL_EVP_PKEY_CTX *ctx);
957
+ WOLFSSL_API int wolfSSL_EVP_PKEY_derive_set_peer(WOLFSSL_EVP_PKEY_CTX *ctx, WOLFSSL_EVP_PKEY *peer);
958
+ WOLFSSL_API int wolfSSL_EVP_PKEY_derive(WOLFSSL_EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen);
959
+
960
+ WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_ctrl_str(WOLFSSL_EVP_PKEY_CTX *ctx,
961
+ const char *name, const char *value);
962
+
963
+ WOLFSSL_API int wolfSSL_EVP_PKEY_decrypt(WOLFSSL_EVP_PKEY_CTX *ctx,
964
+ unsigned char *out, size_t *outlen,
965
+ const unsigned char *in, size_t inlen);
966
+ WOLFSSL_API int wolfSSL_EVP_PKEY_decrypt_init(WOLFSSL_EVP_PKEY_CTX *ctx);
967
+ WOLFSSL_API int wolfSSL_EVP_PKEY_encrypt(WOLFSSL_EVP_PKEY_CTX *ctx,
968
+ unsigned char *out, size_t *outlen,
969
+ const unsigned char *in, size_t inlen);
970
+ WOLFSSL_API int wolfSSL_EVP_PKEY_encrypt_init(WOLFSSL_EVP_PKEY_CTX *ctx);
971
+ WOLFSSL_API WOLFSSL_EVP_PKEY *wolfSSL_EVP_PKEY_new(void);
972
+ WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_EVP_PKEY_new_ex(void* heap);
973
+ WOLFSSL_API void wolfSSL_EVP_PKEY_free(WOLFSSL_EVP_PKEY* key);
974
+ WOLFSSL_API int wolfSSL_EVP_PKEY_size(WOLFSSL_EVP_PKEY *pkey);
975
+ WOLFSSL_API int wolfSSL_EVP_PKEY_copy_parameters(WOLFSSL_EVP_PKEY *to, const WOLFSSL_EVP_PKEY *from);
976
+ WOLFSSL_API int wolfSSL_EVP_PKEY_missing_parameters(WOLFSSL_EVP_PKEY *pkey);
977
+ WOLFSSL_API int wolfSSL_EVP_PKEY_cmp(const WOLFSSL_EVP_PKEY *a, const WOLFSSL_EVP_PKEY *b);
978
+ WOLFSSL_API int wolfSSL_EVP_PKEY_type(int type);
979
+ WOLFSSL_API int wolfSSL_EVP_PKEY_id(const WOLFSSL_EVP_PKEY *pkey);
980
+ WOLFSSL_API int wolfSSL_EVP_PKEY_base_id(const WOLFSSL_EVP_PKEY *pkey);
981
+ WOLFSSL_API int wolfSSL_EVP_PKEY_get_default_digest_nid(WOLFSSL_EVP_PKEY *pkey, int *pnid);
982
+ WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_EVP_PKCS82PKEY(const WOLFSSL_PKCS8_PRIV_KEY_INFO* p8);
983
+ WOLFSSL_API WOLFSSL_PKCS8_PRIV_KEY_INFO* wolfSSL_EVP_PKEY2PKCS8(const WOLFSSL_EVP_PKEY* pkey);
984
+
985
+ WOLFSSL_API int wolfSSL_EVP_SignFinal(WOLFSSL_EVP_MD_CTX *ctx, unsigned char *sigret,
986
+ unsigned int *siglen, WOLFSSL_EVP_PKEY *pkey);
987
+ WOLFSSL_API int wolfSSL_EVP_SignInit(WOLFSSL_EVP_MD_CTX *ctx, const WOLFSSL_EVP_MD *type);
988
+ WOLFSSL_API int wolfSSL_EVP_SignUpdate(WOLFSSL_EVP_MD_CTX *ctx, const void *data, size_t len);
989
+ WOLFSSL_API int wolfSSL_EVP_VerifyFinal(WOLFSSL_EVP_MD_CTX *ctx,
990
+ const unsigned char* sig, unsigned int sig_len, WOLFSSL_EVP_PKEY *pkey);
991
+ WOLFSSL_API int wolfSSL_EVP_VerifyInit(WOLFSSL_EVP_MD_CTX *ctx, const WOLFSSL_EVP_MD *type);
992
+ WOLFSSL_API int wolfSSL_EVP_VerifyUpdate(WOLFSSL_EVP_MD_CTX *ctx, const void *data, size_t len);
993
+
994
+
995
+ /* these next ones don't need real OpenSSL type, for OpenSSH compat only */
996
+ WOLFSSL_API void* wolfSSL_EVP_X_STATE(const WOLFSSL_EVP_CIPHER_CTX* ctx);
997
+ WOLFSSL_API int wolfSSL_EVP_X_STATE_LEN(const WOLFSSL_EVP_CIPHER_CTX* ctx);
998
+
999
+ WOLFSSL_API void wolfSSL_3des_iv(WOLFSSL_EVP_CIPHER_CTX* ctx, int doset,
1000
+ unsigned char* iv, int len);
1001
+ WOLFSSL_API void wolfSSL_aes_ctr_iv(WOLFSSL_EVP_CIPHER_CTX* ctx, int doset,
1002
+ unsigned char* iv, int len);
1003
+
1004
+ WOLFSSL_API int wolfSSL_StoreExternalIV(WOLFSSL_EVP_CIPHER_CTX* ctx);
1005
+ WOLFSSL_API int wolfSSL_SetInternalIV(WOLFSSL_EVP_CIPHER_CTX* ctx);
1006
+
1007
+ WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_block_size(const WOLFSSL_EVP_CIPHER_CTX *ctx);
1008
+ WOLFSSL_API int wolfSSL_EVP_CIPHER_block_size(const WOLFSSL_EVP_CIPHER *cipher);
1009
+ WOLFSSL_API unsigned long WOLFSSL_EVP_CIPHER_mode(const WOLFSSL_EVP_CIPHER *cipher);
1010
+ WOLFSSL_API unsigned long WOLFSSL_CIPHER_mode(const WOLFSSL_EVP_CIPHER *cipher);
1011
+ WOLFSSL_API unsigned long wolfSSL_EVP_CIPHER_flags(const WOLFSSL_EVP_CIPHER *cipher);
1012
+ WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_set_flags(WOLFSSL_EVP_CIPHER_CTX *ctx, int flags);
1013
+ WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_clear_flags(WOLFSSL_EVP_CIPHER_CTX *ctx, int flags);
1014
+ WOLFSSL_API unsigned long wolfSSL_EVP_CIPHER_CTX_flags(const WOLFSSL_EVP_CIPHER_CTX *ctx);
1015
+ WOLFSSL_API unsigned long wolfSSL_EVP_CIPHER_CTX_mode(const WOLFSSL_EVP_CIPHER_CTX *ctx);
1016
+ WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_set_padding(WOLFSSL_EVP_CIPHER_CTX *c, int pad);
1017
+ WOLFSSL_API int wolfSSL_EVP_add_digest(const WOLFSSL_EVP_MD *digest);
1018
+ WOLFSSL_API int wolfSSL_EVP_add_cipher(const WOLFSSL_EVP_CIPHER *cipher);
1019
+ WOLFSSL_API void wolfSSL_EVP_cleanup(void);
1020
+ WOLFSSL_API int wolfSSL_add_all_algorithms(void);
1021
+ WOLFSSL_API int wolfSSL_OpenSSL_add_all_algorithms_conf(void);
1022
+ WOLFSSL_API int wolfSSL_OpenSSL_add_all_algorithms_noconf(void);
1023
+ WOLFSSL_API int wolfSSL_EVP_read_pw_string(char*, int, const char*, int);
1024
+
1025
+ WOLFSSL_API int wolfSSL_PKCS5_PBKDF2_HMAC_SHA1(const char * pass, int passlen,
1026
+ const unsigned char * salt,
1027
+ int saltlen, int iter,
1028
+ int keylen, unsigned char *out);
1029
+
1030
+ WOLFSSL_API int wolfSSL_PKCS5_PBKDF2_HMAC(const char *pass, int passlen,
1031
+ const unsigned char *salt,
1032
+ int saltlen, int iter,
1033
+ const WOLFSSL_EVP_MD *digest,
1034
+ int keylen, unsigned char *out);
1035
+
1036
+ #if defined(HAVE_SCRYPT) && defined(HAVE_PBKDF2) && !defined(NO_PWDBASED) && \
1037
+ !defined(NO_SHA256)
1038
+ WOLFSSL_API int wolfSSL_EVP_PBE_scrypt(const char *pass, size_t passlen,
1039
+ const unsigned char *salt, size_t saltlen,
1040
+ word64 N, word64 r, word64 p,
1041
+ word64 maxmem, unsigned char *key, size_t keylen);
1042
+ #endif /* HAVE_SCRYPT && HAVE_PBKDF2 && !NO_PWDBASED && !NO_SHA256 */
1043
+
1044
+ WOLFSSL_LOCAL int wolfSSL_EVP_get_hashinfo(const WOLFSSL_EVP_MD* evp,
1045
+ int* pHash, int* pHashSz);
1046
+
1047
+ WOLFSSL_API void wolfSSL_EVP_MD_do_all(void (*fn) (const WOLFSSL_EVP_MD *md,
1048
+ const char* from, const char* to,
1049
+ void* xx), void* args);
1050
+
1051
+ #ifdef HAVE_HKDF
1052
+ WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_set_hkdf_md(WOLFSSL_EVP_PKEY_CTX* ctx,
1053
+ const WOLFSSL_EVP_MD* md);
1054
+ WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_set1_hkdf_salt(WOLFSSL_EVP_PKEY_CTX* ctx,
1055
+ const byte* salt,
1056
+ int saltSz);
1057
+ WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_set1_hkdf_key(WOLFSSL_EVP_PKEY_CTX* ctx,
1058
+ const byte* key, int keySz);
1059
+ WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_add1_hkdf_info(WOLFSSL_EVP_PKEY_CTX* ctx,
1060
+ const byte* info,
1061
+ int infoSz);
1062
+ WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_hkdf_mode(WOLFSSL_EVP_PKEY_CTX* ctx,
1063
+ int mode);
1064
+ #endif
1065
+
1066
+ #define WOLFSSL_EVP_CIPH_MODE 0x0007
1067
+ #define WOLFSSL_EVP_CIPH_STREAM_CIPHER 0x0
1068
+ #define WOLFSSL_EVP_CIPH_ECB_MODE 0x1
1069
+ #define WOLFSSL_EVP_CIPH_CBC_MODE 0x2
1070
+ #define WOLFSSL_EVP_CIPH_CFB_MODE 0x3
1071
+ #define WOLFSSL_EVP_CIPH_OFB_MODE 0x4
1072
+ #define WOLFSSL_EVP_CIPH_CTR_MODE 0x5
1073
+ #define WOLFSSL_EVP_CIPH_GCM_MODE 0x6
1074
+ #define WOLFSSL_EVP_CIPH_CCM_MODE 0x7
1075
+ #define WOLFSSL_EVP_CIPH_XTS_MODE 0x10
1076
+ #define WOLFSSL_EVP_CIPH_FLAG_AEAD_CIPHER 0x20
1077
+ #define WOLFSSL_EVP_CIPH_NO_PADDING 0x100
1078
+ #define WOLFSSL_EVP_CIPH_VARIABLE_LENGTH 0x200
1079
+ #define WOLFSSL_EVP_CIPH_LOW_LEVEL_INITED 0x400
1080
+ #define WOLFSSL_EVP_CIPH_TYPE_INIT 0xff
1081
+
1082
+
1083
+ #if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL)
1084
+
1085
+ /* EVP ENGINE API's */
1086
+ WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_EVP_PKEY_new_mac_key(int type, WOLFSSL_ENGINE* e,
1087
+ const unsigned char* key, int keylen);
1088
+
1089
+ WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_EVP_PKEY_new_CMAC_key(WOLFSSL_ENGINE* e,
1090
+ const unsigned char* priv, size_t len,
1091
+ const WOLFSSL_EVP_CIPHER* cipher);
1092
+
1093
+ WOLFSSL_API int wolfSSL_EVP_DigestInit_ex(WOLFSSL_EVP_MD_CTX* ctx,
1094
+ const WOLFSSL_EVP_MD* type,
1095
+ WOLFSSL_ENGINE *impl);
1096
+
1097
+ WOLFSSL_API int wolfSSL_EVP_DigestSignInit(WOLFSSL_EVP_MD_CTX *ctx,
1098
+ WOLFSSL_EVP_PKEY_CTX **pctx,
1099
+ const WOLFSSL_EVP_MD *type,
1100
+ WOLFSSL_ENGINE *e,
1101
+ WOLFSSL_EVP_PKEY *pkey);
1102
+ WOLFSSL_API int wolfSSL_EVP_DigestVerifyInit(WOLFSSL_EVP_MD_CTX *ctx,
1103
+ WOLFSSL_EVP_PKEY_CTX **pctx,
1104
+ const WOLFSSL_EVP_MD *type,
1105
+ WOLFSSL_ENGINE *e,
1106
+ WOLFSSL_EVP_PKEY *pkey);
1107
+ WOLFSSL_API int wolfSSL_EVP_Digest(const unsigned char* in, int inSz, unsigned char* out,
1108
+ unsigned int* outSz, const WOLFSSL_EVP_MD* evp,
1109
+ WOLFSSL_ENGINE* eng);
1110
+ WOLFSSL_API const char* wolfSSL_EVP_CIPHER_type_string(unsigned int type);
1111
+ WOLFSSL_API int wolfSSL_EVP_CipherInit_ex(WOLFSSL_EVP_CIPHER_CTX* ctx,
1112
+ const WOLFSSL_EVP_CIPHER* type,
1113
+ WOLFSSL_ENGINE *impl,
1114
+ const unsigned char* key,
1115
+ const unsigned char* iv,
1116
+ int enc);
1117
+ WOLFSSL_API int wolfSSL_EVP_EncryptInit(WOLFSSL_EVP_CIPHER_CTX* ctx,
1118
+ const WOLFSSL_EVP_CIPHER* type,
1119
+ const unsigned char* key,
1120
+ const unsigned char* iv);
1121
+ WOLFSSL_API int wolfSSL_EVP_EncryptInit_ex(WOLFSSL_EVP_CIPHER_CTX* ctx,
1122
+ const WOLFSSL_EVP_CIPHER* type,
1123
+ WOLFSSL_ENGINE *impl,
1124
+ const unsigned char* key,
1125
+ const unsigned char* iv);
1126
+ WOLFSSL_API int wolfSSL_EVP_DecryptInit(WOLFSSL_EVP_CIPHER_CTX* ctx,
1127
+ const WOLFSSL_EVP_CIPHER* type,
1128
+ const unsigned char* key,
1129
+ const unsigned char* iv);
1130
+ WOLFSSL_API int wolfSSL_EVP_DecryptInit_ex(WOLFSSL_EVP_CIPHER_CTX* ctx,
1131
+ const WOLFSSL_EVP_CIPHER* type,
1132
+ WOLFSSL_ENGINE *impl,
1133
+ const unsigned char* key,
1134
+ const unsigned char* iv);
1135
+ WOLFSSL_API WOLFSSL_EVP_PKEY_CTX *wolfSSL_EVP_PKEY_CTX_new(WOLFSSL_EVP_PKEY *pkey, WOLFSSL_ENGINE *e);
1136
+ WOLFSSL_API WOLFSSL_EVP_PKEY_CTX *wolfSSL_EVP_PKEY_CTX_new_id(int id, WOLFSSL_ENGINE *e);
1137
+ WOLFSSL_API int wolfSSL_EVP_SignInit_ex(WOLFSSL_EVP_MD_CTX* ctx,
1138
+ const WOLFSSL_EVP_MD* type,
1139
+ WOLFSSL_ENGINE *impl);
1140
+
1141
+ #define WOLFSSL_EVP_CTRL_INIT 0x0
1142
+ #define WOLFSSL_EVP_CTRL_SET_KEY_LENGTH 0x1
1143
+ #define WOLFSSL_EVP_CTRL_SET_RC2_KEY_BITS 0x3 /* needed for qt compilation */
1144
+
1145
+ #define WOLFSSL_EVP_CTRL_AEAD_SET_IVLEN 0x9
1146
+ #define WOLFSSL_EVP_CTRL_AEAD_GET_TAG 0x10
1147
+ #define WOLFSSL_EVP_CTRL_AEAD_SET_TAG 0x11
1148
+ #define WOLFSSL_EVP_CTRL_AEAD_SET_IV_FIXED 0x12
1149
+ #define WOLFSSL_EVP_CTRL_GCM_IV_GEN 0x13
1150
+ #define WOLFSSL_EVP_CTRL_GCM_SET_IVLEN WOLFSSL_EVP_CTRL_AEAD_SET_IVLEN
1151
+ #define WOLFSSL_EVP_CTRL_GCM_GET_TAG WOLFSSL_EVP_CTRL_AEAD_GET_TAG
1152
+ #define WOLFSSL_EVP_CTRL_GCM_SET_TAG WOLFSSL_EVP_CTRL_AEAD_SET_TAG
1153
+ #define WOLFSSL_EVP_CTRL_GCM_SET_IV_FIXED WOLFSSL_EVP_CTRL_AEAD_SET_IV_FIXED
1154
+ #define WOLFSSL_EVP_CTRL_CCM_SET_IVLEN WOLFSSL_EVP_CTRL_AEAD_SET_IVLEN
1155
+ #define WOLFSSL_EVP_CTRL_CCM_GET_TAG WOLFSSL_EVP_CTRL_AEAD_GET_TAG
1156
+ #define WOLFSSL_EVP_CTRL_CCM_SET_TAG WOLFSSL_EVP_CTRL_AEAD_SET_TAG
1157
+ #define WOLFSSL_EVP_CTRL_CCM_SET_L 0x14
1158
+ #define WOLFSSL_EVP_CTRL_CCM_SET_MSGLEN 0x15
1159
+ #define WOLFSSL_EVP_MD_FLAG_XOF 0x2
1160
+
1161
+ #define WOLFSSL_NO_PADDING_BLOCK_SIZE 1
1162
+
1163
+ #ifndef OPENSSL_COEXIST
1164
+
1165
+ #define EVP_CIPH_STREAM_CIPHER WOLFSSL_EVP_CIPH_STREAM_CIPHER
1166
+ #define EVP_CIPH_VARIABLE_LENGTH WOLFSSL_EVP_CIPH_VARIABLE_LENGTH
1167
+ #define EVP_CIPH_ECB_MODE WOLFSSL_EVP_CIPH_ECB_MODE
1168
+ #define EVP_CIPH_CBC_MODE WOLFSSL_EVP_CIPH_CBC_MODE
1169
+ #define EVP_CIPH_CFB_MODE WOLFSSL_EVP_CIPH_CFB_MODE
1170
+ #define EVP_CIPH_OFB_MODE WOLFSSL_EVP_CIPH_OFB_MODE
1171
+ #define EVP_CIPH_CTR_MODE WOLFSSL_EVP_CIPH_CTR_MODE
1172
+ #define EVP_CIPH_GCM_MODE WOLFSSL_EVP_CIPH_GCM_MODE
1173
+ #define EVP_CIPH_CCM_MODE WOLFSSL_EVP_CIPH_CCM_MODE
1174
+ #define EVP_CIPH_XTS_MODE WOLFSSL_EVP_CIPH_XTS_MODE
1175
+
1176
+ #define EVP_CIPH_FLAG_AEAD_CIPHER WOLFSSL_EVP_CIPH_FLAG_AEAD_CIPHER
1177
+
1178
+ #ifndef NO_MD4
1179
+ #define EVP_md4 wolfSSL_EVP_md4
1180
+ #endif
1181
+ #ifndef NO_MD5
1182
+ #define EVP_md5 wolfSSL_EVP_md5
1183
+ #endif
1184
+ #define EVP_sha1 wolfSSL_EVP_sha1
1185
+ #define EVP_mdc2 wolfSSL_EVP_mdc2
1186
+ #define EVP_dds1 wolfSSL_EVP_sha1
1187
+ #define EVP_sha224 wolfSSL_EVP_sha224
1188
+ #define EVP_sha256 wolfSSL_EVP_sha256
1189
+ #define EVP_sha384 wolfSSL_EVP_sha384
1190
+ #define EVP_sha512 wolfSSL_EVP_sha512
1191
+ #define EVP_sha512_224 wolfSSL_EVP_sha512_224
1192
+ #define EVP_sha512_256 wolfSSL_EVP_sha512_256
1193
+ #define EVP_ripemd160 wolfSSL_EVP_ripemd160
1194
+ #define EVP_shake128 wolfSSL_EVP_shake128
1195
+ #define EVP_shake256 wolfSSL_EVP_shake256
1196
+ #define EVP_sm3 wolfSSL_EVP_sm3
1197
+ #define EVP_set_pw_prompt wolfSSL_EVP_set_pw_prompt
1198
+
1199
+ #define EVP_sha3_224 wolfSSL_EVP_sha3_224
1200
+ #define EVP_sha3_256 wolfSSL_EVP_sha3_256
1201
+ #define EVP_sha3_384 wolfSSL_EVP_sha3_384
1202
+ #define EVP_sha3_512 wolfSSL_EVP_sha3_512
1203
+
1204
+ #define EVP_aes_128_cbc wolfSSL_EVP_aes_128_cbc
1205
+ #define EVP_aes_192_cbc wolfSSL_EVP_aes_192_cbc
1206
+ #define EVP_aes_256_cbc wolfSSL_EVP_aes_256_cbc
1207
+ #define EVP_aes_128_cfb1 wolfSSL_EVP_aes_128_cfb1
1208
+ #define EVP_aes_192_cfb1 wolfSSL_EVP_aes_192_cfb1
1209
+ #define EVP_aes_256_cfb1 wolfSSL_EVP_aes_256_cfb1
1210
+ #define EVP_aes_128_cfb8 wolfSSL_EVP_aes_128_cfb8
1211
+ #define EVP_aes_192_cfb8 wolfSSL_EVP_aes_192_cfb8
1212
+ #define EVP_aes_256_cfb8 wolfSSL_EVP_aes_256_cfb8
1213
+ #define EVP_aes_128_cfb128 wolfSSL_EVP_aes_128_cfb128
1214
+ #define EVP_aes_192_cfb128 wolfSSL_EVP_aes_192_cfb128
1215
+ #define EVP_aes_256_cfb128 wolfSSL_EVP_aes_256_cfb128
1216
+ #define EVP_aes_128_cfb wolfSSL_EVP_aes_128_cfb128
1217
+ #define EVP_aes_192_cfb wolfSSL_EVP_aes_192_cfb128
1218
+ #define EVP_aes_256_cfb wolfSSL_EVP_aes_256_cfb128
1219
+ #define EVP_aes_128_ofb wolfSSL_EVP_aes_128_ofb
1220
+ #define EVP_aes_192_ofb wolfSSL_EVP_aes_192_ofb
1221
+ #define EVP_aes_256_ofb wolfSSL_EVP_aes_256_ofb
1222
+ #define EVP_aes_128_xts wolfSSL_EVP_aes_128_xts
1223
+ #define EVP_aes_256_xts wolfSSL_EVP_aes_256_xts
1224
+ #define EVP_aes_128_gcm wolfSSL_EVP_aes_128_gcm
1225
+ #define EVP_aes_192_gcm wolfSSL_EVP_aes_192_gcm
1226
+ #define EVP_aes_256_gcm wolfSSL_EVP_aes_256_gcm
1227
+ #define EVP_aes_128_ccm wolfSSL_EVP_aes_128_ccm
1228
+ #define EVP_aes_192_ccm wolfSSL_EVP_aes_192_ccm
1229
+ #define EVP_aes_256_ccm wolfSSL_EVP_aes_256_ccm
1230
+ #define EVP_aes_128_ecb wolfSSL_EVP_aes_128_ecb
1231
+ #define EVP_aes_192_ecb wolfSSL_EVP_aes_192_ecb
1232
+ #define EVP_aes_256_ecb wolfSSL_EVP_aes_256_ecb
1233
+ #define EVP_aes_128_ctr wolfSSL_EVP_aes_128_ctr
1234
+ #define EVP_aes_192_ctr wolfSSL_EVP_aes_192_ctr
1235
+ #define EVP_aes_256_ctr wolfSSL_EVP_aes_256_ctr
1236
+ #define EVP_des_cbc wolfSSL_EVP_des_cbc
1237
+ #define EVP_des_ecb wolfSSL_EVP_des_ecb
1238
+ #define EVP_des_ede3_cbc wolfSSL_EVP_des_ede3_cbc
1239
+ #define EVP_des_ede3_ecb wolfSSL_EVP_des_ede3_ecb
1240
+ #define EVP_rc4 wolfSSL_EVP_rc4
1241
+ #define EVP_chacha20 wolfSSL_EVP_chacha20
1242
+ #define EVP_chacha20_poly1305 wolfSSL_EVP_chacha20_poly1305
1243
+ #define EVP_aria_128_gcm wolfSSL_EVP_aria_128_gcm
1244
+ #define EVP_aria_192_gcm wolfSSL_EVP_aria_192_gcm
1245
+ #define EVP_aria_256_gcm wolfSSL_EVP_aria_256_gcm
1246
+ #define EVP_sm4_ecb wolfSSL_EVP_sm4_ecb
1247
+ #define EVP_sm4_cbc wolfSSL_EVP_sm4_cbc
1248
+ #define EVP_sm4_ctr wolfSSL_EVP_sm4_ctr
1249
+ #define EVP_sm4_gcm wolfSSL_EVP_sm4_gcm
1250
+ #define EVP_sm4_ccm wolfSSL_EVP_sm4_ccm
1251
+ #define EVP_enc_null wolfSSL_EVP_enc_null
1252
+
1253
+ #define EVP_MD_size wolfSSL_EVP_MD_size
1254
+ #define EVP_MD_pkey_type wolfSSL_EVP_MD_pkey_type
1255
+ #define EVP_MD_CTX_new wolfSSL_EVP_MD_CTX_new
1256
+ #define EVP_MD_CTX_create wolfSSL_EVP_MD_CTX_new
1257
+ #define EVP_MD_CTX_free wolfSSL_EVP_MD_CTX_free
1258
+ #define EVP_MD_CTX_destroy wolfSSL_EVP_MD_CTX_free
1259
+ #define EVP_MD_CTX_init wolfSSL_EVP_MD_CTX_init
1260
+ #define EVP_MD_CTX_cleanup wolfSSL_EVP_MD_CTX_cleanup
1261
+ #define EVP_MD_CTX_reset wolfSSL_EVP_MD_CTX_cleanup
1262
+ #define EVP_MD_CTX_md wolfSSL_EVP_MD_CTX_md
1263
+ #define EVP_MD_CTX_type wolfSSL_EVP_MD_CTX_type
1264
+ #define EVP_MD_CTX_size wolfSSL_EVP_MD_CTX_size
1265
+ #define EVP_MD_CTX_block_size wolfSSL_EVP_MD_CTX_block_size
1266
+ #define EVP_MD_block_size wolfSSL_EVP_MD_block_size
1267
+ #define EVP_MD_type wolfSSL_EVP_MD_type
1268
+ #ifndef NO_WOLFSSL_STUB
1269
+ #define EVP_MD_CTX_set_flags(ctx, flags) WC_DO_NOTHING
1270
+ #endif
1271
+
1272
+ #define EVP_MD_FLAG_XOF WOLFSSL_EVP_MD_FLAG_XOF
1273
+
1274
+ #define EVP_Digest wolfSSL_EVP_Digest
1275
+ #define EVP_DigestInit wolfSSL_EVP_DigestInit
1276
+ #define EVP_DigestInit_ex wolfSSL_EVP_DigestInit_ex
1277
+ #define EVP_DigestUpdate wolfSSL_EVP_DigestUpdate
1278
+ #define EVP_DigestFinal wolfSSL_EVP_DigestFinal
1279
+ #define EVP_DigestFinal_ex wolfSSL_EVP_DigestFinal_ex
1280
+ #define EVP_DigestFinalXOF wolfSSL_EVP_DigestFinalXOF
1281
+ #define EVP_DigestSignInit wolfSSL_EVP_DigestSignInit
1282
+ #define EVP_DigestSignUpdate wolfSSL_EVP_DigestSignUpdate
1283
+ #define EVP_DigestSignFinal wolfSSL_EVP_DigestSignFinal
1284
+ #define EVP_DigestVerifyInit wolfSSL_EVP_DigestVerifyInit
1285
+ #define EVP_DigestVerifyUpdate wolfSSL_EVP_DigestVerifyUpdate
1286
+ #define EVP_DigestVerifyFinal wolfSSL_EVP_DigestVerifyFinal
1287
+ #define EVP_BytesToKey wolfSSL_EVP_BytesToKey
1288
+
1289
+ #define EVP_get_cipherbyname wolfSSL_EVP_get_cipherbyname
1290
+ #define EVP_get_digestbyname wolfSSL_EVP_get_digestbyname
1291
+
1292
+ #define EVP_CIPHER_CTX_init wolfSSL_EVP_CIPHER_CTX_init
1293
+ #define EVP_CIPHER_CTX_cleanup wolfSSL_EVP_CIPHER_CTX_cleanup
1294
+ #define EVP_CIPHER_CTX_iv_length wolfSSL_EVP_CIPHER_CTX_iv_length
1295
+ #define EVP_CIPHER_CTX_nid wolfSSL_EVP_CIPHER_CTX_nid
1296
+ #define EVP_CIPHER_CTX_key_length wolfSSL_EVP_CIPHER_CTX_key_length
1297
+ #define EVP_CIPHER_CTX_set_key_length wolfSSL_EVP_CIPHER_CTX_set_key_length
1298
+ #define EVP_CIPHER_CTX_set_iv_length wolfSSL_EVP_CIPHER_CTX_set_iv_length
1299
+ #define EVP_CIPHER_CTX_mode wolfSSL_EVP_CIPHER_CTX_mode
1300
+ #define EVP_CIPHER_CTX_cipher wolfSSL_EVP_CIPHER_CTX_cipher
1301
+
1302
+ #define EVP_CIPHER_iv_length wolfSSL_EVP_CIPHER_iv_length
1303
+ #define EVP_CIPHER_key_length wolfSSL_EVP_Cipher_key_length
1304
+
1305
+ #define EVP_CipherInit wolfSSL_EVP_CipherInit
1306
+ #define EVP_CipherInit_ex wolfSSL_EVP_CipherInit_ex
1307
+ #define EVP_EncryptInit wolfSSL_EVP_EncryptInit
1308
+ #define EVP_EncryptInit_ex wolfSSL_EVP_EncryptInit_ex
1309
+ #define EVP_DecryptInit wolfSSL_EVP_DecryptInit
1310
+ #define EVP_DecryptInit_ex wolfSSL_EVP_DecryptInit_ex
1311
+
1312
+ #define EVP_Cipher wolfSSL_EVP_Cipher
1313
+ #define EVP_CipherUpdate wolfSSL_EVP_CipherUpdate
1314
+ #define EVP_EncryptUpdate wolfSSL_EVP_CipherUpdate
1315
+ #define EVP_DecryptUpdate wolfSSL_EVP_CipherUpdate
1316
+ #define EVP_CipherFinal wolfSSL_EVP_CipherFinal
1317
+ #define EVP_CipherFinal_ex wolfSSL_EVP_CipherFinal
1318
+ #define EVP_EncryptFinal wolfSSL_EVP_CipherFinal
1319
+ #define EVP_EncryptFinal_ex wolfSSL_EVP_CipherFinal
1320
+ #define EVP_DecryptFinal wolfSSL_EVP_CipherFinal
1321
+ #define EVP_DecryptFinal_ex wolfSSL_EVP_CipherFinal
1322
+
1323
+ #define EVP_CIPHER_CTX_free wolfSSL_EVP_CIPHER_CTX_free
1324
+ #define EVP_CIPHER_CTX_reset wolfSSL_EVP_CIPHER_CTX_reset
1325
+ #define EVP_CIPHER_CTX_new wolfSSL_EVP_CIPHER_CTX_new
1326
+
1327
+ #define EVP_get_cipherbynid wolfSSL_EVP_get_cipherbynid
1328
+ #define EVP_get_digestbynid wolfSSL_EVP_get_digestbynid
1329
+ #define EVP_MD_nid wolfSSL_EVP_MD_type
1330
+ #define EVP_MD_flags wolfSSL_EVP_MD_flags
1331
+
1332
+ #define EVP_PKEY_assign wolfSSL_EVP_PKEY_assign
1333
+ #define EVP_PKEY_assign_RSA wolfSSL_EVP_PKEY_assign_RSA
1334
+ #define EVP_PKEY_assign_DSA wolfSSL_EVP_PKEY_assign_DSA
1335
+ #define EVP_PKEY_assign_DH wolfSSL_EVP_PKEY_assign_DH
1336
+ #define EVP_PKEY_assign_EC_KEY wolfSSL_EVP_PKEY_assign_EC_KEY
1337
+ #define EVP_PKEY_get1_DSA wolfSSL_EVP_PKEY_get1_DSA
1338
+ #define EVP_PKEY_set1_DSA wolfSSL_EVP_PKEY_set1_DSA
1339
+ #define EVP_PKEY_get0_RSA wolfSSL_EVP_PKEY_get0_RSA
1340
+ #define EVP_PKEY_get1_RSA wolfSSL_EVP_PKEY_get1_RSA
1341
+ #define EVP_PKEY_set1_RSA wolfSSL_EVP_PKEY_set1_RSA
1342
+ #define EVP_PKEY_set1_EC_KEY wolfSSL_EVP_PKEY_set1_EC_KEY
1343
+ #define EVP_PKEY_get1_EC_KEY wolfSSL_EVP_PKEY_get1_EC_KEY
1344
+ #define EVP_PKEY_set1_DH wolfSSL_EVP_PKEY_set1_DH
1345
+ #define EVP_PKEY_get0_DH wolfSSL_EVP_PKEY_get0_DH
1346
+ #define EVP_PKEY_get1_DH wolfSSL_EVP_PKEY_get1_DH
1347
+ #define EVP_PKEY_get0_EC_KEY wolfSSL_EVP_PKEY_get0_EC_KEY
1348
+ #define EVP_PKEY_get0_hmac wolfSSL_EVP_PKEY_get0_hmac
1349
+ #define EVP_PKEY_new_mac_key wolfSSL_EVP_PKEY_new_mac_key
1350
+ #define EVP_PKEY_new_CMAC_key wolfSSL_EVP_PKEY_new_CMAC_key
1351
+ #define EVP_MD_CTX_copy wolfSSL_EVP_MD_CTX_copy
1352
+ #define EVP_MD_CTX_copy_ex wolfSSL_EVP_MD_CTX_copy_ex
1353
+ #define EVP_PKEY_sign_init wolfSSL_EVP_PKEY_sign_init
1354
+ #define EVP_PKEY_sign wolfSSL_EVP_PKEY_sign
1355
+ #define EVP_PKEY_verify_init wolfSSL_EVP_PKEY_verify_init
1356
+ #define EVP_PKEY_verify wolfSSL_EVP_PKEY_verify
1357
+ #define EVP_PKEY_paramgen_init wolfSSL_EVP_PKEY_paramgen_init
1358
+ #define EVP_PKEY_CTX_set_ec_param_enc wolfSSL_EVP_PKEY_CTX_set_ec_param_enc
1359
+ #define EVP_PKEY_CTX_set_ec_paramgen_curve_nid wolfSSL_EVP_PKEY_CTX_set_ec_paramgen_curve_nid
1360
+ #define EVP_PKEY_paramgen wolfSSL_EVP_PKEY_paramgen
1361
+ #define EVP_PKEY_keygen wolfSSL_EVP_PKEY_keygen
1362
+ #define EVP_PKEY_keygen_init wolfSSL_EVP_PKEY_keygen_init
1363
+ #define EVP_PKEY_bits wolfSSL_EVP_PKEY_bits
1364
+ #define EVP_PKEY_is_a wolfSSL_EVP_PKEY_is_a
1365
+ #define EVP_PKEY_CTX_free wolfSSL_EVP_PKEY_CTX_free
1366
+ #define EVP_PKEY_CTX_new wolfSSL_EVP_PKEY_CTX_new
1367
+ #define EVP_PKEY_CTX_set_rsa_padding wolfSSL_EVP_PKEY_CTX_set_rsa_padding
1368
+ #define EVP_PKEY_CTX_set_signature_md wolfSSL_EVP_PKEY_CTX_set_signature_md
1369
+ #define EVP_PKEY_CTX_new_id wolfSSL_EVP_PKEY_CTX_new_id
1370
+ #define EVP_PKEY_CTX_set_rsa_keygen_bits wolfSSL_EVP_PKEY_CTX_set_rsa_keygen_bits
1371
+ #define EVP_PKEY_CTX_set_rsa_mgf1_md wolfSSL_EVP_PKEY_CTX_set_rsa_mgf1_md
1372
+ #define EVP_PKEY_CTX_set_rsa_pss_saltlen wolfSSL_EVP_PKEY_CTX_set_rsa_pss_saltlen
1373
+ #define EVP_PKEY_CTX_set_rsa_oaep_md wolfSSL_EVP_PKEY_CTX_set_rsa_oaep_md
1374
+ #define EVP_PKEY_derive_init wolfSSL_EVP_PKEY_derive_init
1375
+ #define EVP_PKEY_derive_set_peer wolfSSL_EVP_PKEY_derive_set_peer
1376
+ #define EVP_PKEY_derive wolfSSL_EVP_PKEY_derive
1377
+ #define EVP_PKEY_decrypt wolfSSL_EVP_PKEY_decrypt
1378
+ #define EVP_PKEY_decrypt_init wolfSSL_EVP_PKEY_decrypt_init
1379
+ #define EVP_PKEY_encrypt wolfSSL_EVP_PKEY_encrypt
1380
+ #define EVP_PKEY_encrypt_init wolfSSL_EVP_PKEY_encrypt_init
1381
+ #define EVP_PKEY_new wolfSSL_EVP_PKEY_new
1382
+ #define EVP_PKEY_free wolfSSL_EVP_PKEY_free
1383
+ #define EVP_PKEY_up_ref wolfSSL_EVP_PKEY_up_ref
1384
+ #define EVP_PKEY_size wolfSSL_EVP_PKEY_size
1385
+ #define EVP_PKEY_copy_parameters wolfSSL_EVP_PKEY_copy_parameters
1386
+ #define EVP_PKEY_missing_parameters wolfSSL_EVP_PKEY_missing_parameters
1387
+ #define EVP_PKEY_cmp wolfSSL_EVP_PKEY_cmp
1388
+ #define EVP_PKEY_type wolfSSL_EVP_PKEY_type
1389
+ #define EVP_PKEY_base_id wolfSSL_EVP_PKEY_base_id
1390
+ #define EVP_PKEY_get_default_digest_nid wolfSSL_EVP_PKEY_get_default_digest_nid
1391
+ #define EVP_PKEY_id wolfSSL_EVP_PKEY_id
1392
+ #define EVP_PKEY_CTX_ctrl_str wolfSSL_EVP_PKEY_CTX_ctrl_str
1393
+ #define EVP_PKCS82PKEY wolfSSL_EVP_PKCS82PKEY
1394
+ #define EVP_PKEY2PKCS8 wolfSSL_EVP_PKEY2PKCS8
1395
+ #define EVP_SignFinal wolfSSL_EVP_SignFinal
1396
+ #define EVP_SignInit wolfSSL_EVP_SignInit
1397
+ #define EVP_SignInit_ex wolfSSL_EVP_SignInit_ex
1398
+ #define EVP_SignUpdate wolfSSL_EVP_SignUpdate
1399
+ #define EVP_VerifyFinal wolfSSL_EVP_VerifyFinal
1400
+ #define EVP_VerifyInit wolfSSL_EVP_VerifyInit
1401
+ #define EVP_VerifyUpdate wolfSSL_EVP_VerifyUpdate
1402
+
1403
+ #define EVP_CIPHER_CTX_ctrl wolfSSL_EVP_CIPHER_CTX_ctrl
1404
+ #define EVP_CIPHER_CTX_block_size wolfSSL_EVP_CIPHER_CTX_block_size
1405
+ #define EVP_CIPHER_block_size wolfSSL_EVP_CIPHER_block_size
1406
+ #define EVP_CIPHER_flags wolfSSL_EVP_CIPHER_flags
1407
+ #define EVP_CIPHER_CTX_set_flags wolfSSL_EVP_CIPHER_CTX_set_flags
1408
+ #define EVP_CIPHER_CTX_clear_flags wolfSSL_EVP_CIPHER_CTX_clear_flags
1409
+ #define EVP_CIPHER_CTX_set_padding wolfSSL_EVP_CIPHER_CTX_set_padding
1410
+ #define EVP_CIPHER_CTX_flags wolfSSL_EVP_CIPHER_CTX_flags
1411
+ #define EVP_CIPHER_CTX_set_iv wolfSSL_EVP_CIPHER_CTX_set_iv
1412
+ #define EVP_CIPHER_CTX_get_iv wolfSSL_EVP_CIPHER_CTX_get_iv
1413
+ #define EVP_add_digest wolfSSL_EVP_add_digest
1414
+ #define EVP_add_cipher wolfSSL_EVP_add_cipher
1415
+ #define EVP_cleanup wolfSSL_EVP_cleanup
1416
+ #define EVP_read_pw_string wolfSSL_EVP_read_pw_string
1417
+ #define EVP_rc2_cbc wolfSSL_EVP_rc2_cbc
1418
+
1419
+ #define OpenSSL_add_all_digests() wolfSSL_EVP_init()
1420
+ #define OpenSSL_add_all_ciphers() wolfSSL_EVP_init()
1421
+ #define OpenSSL_add_all_algorithms wolfSSL_add_all_algorithms
1422
+ #define OpenSSL_add_all_algorithms_noconf wolfSSL_OpenSSL_add_all_algorithms_noconf
1423
+ #define OpenSSL_add_all_algorithms_conf wolfSSL_OpenSSL_add_all_algorithms_conf
1424
+
1425
+ #define wolfSSL_OPENSSL_add_all_algorithms_noconf wolfSSL_OpenSSL_add_all_algorithms_noconf
1426
+ #define wolfSSL_OPENSSL_add_all_algorithms_conf wolfSSL_OpenSSL_add_all_algorithms_conf
1427
+
1428
+ /* provides older OpenSSL API compatibility */
1429
+ #define OPENSSL_add_all_algorithms OpenSSL_add_all_algorithms
1430
+ #define OPENSSL_add_all_algorithms_noconf OpenSSL_add_all_algorithms_noconf
1431
+ #define OPENSSL_add_all_algorithms_conf OpenSSL_add_all_algorithms_conf
1432
+
1433
+ #define NO_PADDING_BLOCK_SIZE WOLFSSL_NO_PADDING_BLOCK_SIZE
1434
+
1435
+ #define PKCS5_PBKDF2_HMAC_SHA1 wolfSSL_PKCS5_PBKDF2_HMAC_SHA1
1436
+ #define PKCS5_PBKDF2_HMAC wolfSSL_PKCS5_PBKDF2_HMAC
1437
+ #define EVP_PBE_scrypt wolfSSL_EVP_PBE_scrypt
1438
+
1439
+ /* OpenSSL compat. ctrl values */
1440
+ #define EVP_CTRL_INIT 0x0
1441
+ #define EVP_CTRL_SET_KEY_LENGTH 0x1
1442
+ #define EVP_CTRL_SET_RC2_KEY_BITS 0x3 /* needed for qt compilation */
1443
+
1444
+ #define EVP_CTRL_AEAD_SET_IVLEN WOLFSSL_EVP_CTRL_AEAD_SET_IVLEN
1445
+ #define EVP_CTRL_AEAD_GET_TAG WOLFSSL_EVP_CTRL_AEAD_GET_TAG
1446
+ #define EVP_CTRL_AEAD_SET_TAG WOLFSSL_EVP_CTRL_AEAD_SET_TAG
1447
+ #define EVP_CTRL_AEAD_SET_IV_FIXED WOLFSSL_EVP_CTRL_AEAD_SET_IV_FIXED
1448
+ #define EVP_CTRL_GCM_IV_GEN WOLFSSL_EVP_CTRL_GCM_IV_GEN
1449
+ #define EVP_CTRL_GCM_SET_IVLEN WOLFSSL_EVP_CTRL_GCM_SET_IVLEN
1450
+ #define EVP_CTRL_GCM_GET_TAG WOLFSSL_EVP_CTRL_GCM_GET_TAG
1451
+ #define EVP_CTRL_GCM_SET_TAG WOLFSSL_EVP_CTRL_GCM_SET_TAG
1452
+ #define EVP_CTRL_GCM_SET_IV_FIXED WOLFSSL_EVP_CTRL_GCM_SET_IV_FIXED
1453
+ #define EVP_CTRL_CCM_SET_IVLEN WOLFSSL_EVP_CTRL_CCM_SET_IVLEN
1454
+ #define EVP_CTRL_CCM_GET_TAG WOLFSSL_EVP_CTRL_CCM_GET_TAG
1455
+ #define EVP_CTRL_CCM_SET_TAG WOLFSSL_EVP_CTRL_CCM_SET_TAG
1456
+ #define EVP_CTRL_CCM_SET_L WOLFSSL_EVP_CTRL_CCM_SET_L
1457
+ #define EVP_CTRL_CCM_SET_MSGLEN WOLFSSL_EVP_CTRL_CCM_SET_MSGLEN
1458
+
1459
+ #define EVP_PKEY_print_public wolfSSL_EVP_PKEY_print_public
1460
+ #define EVP_PKEY_print_private(arg1, arg2, arg3, arg4) WC_DO_NOTHING
1461
+
1462
+ #ifndef EVP_MAX_MD_SIZE
1463
+ #define EVP_MAX_MD_SIZE 64 /* sha512 */
1464
+ #endif
1465
+
1466
+ #ifndef EVP_MAX_KEY_LENGTH
1467
+ #define EVP_MAX_KEY_LENGTH 64
1468
+ #endif
1469
+
1470
+ #ifndef EVP_MAX_IV_LENGTH
1471
+ #define EVP_MAX_IV_LENGTH 16
1472
+ #endif
1473
+
1474
+ #ifndef EVP_MAX_BLOCK_LENGTH
1475
+ #define EVP_MAX_BLOCK_LENGTH 32 /* 2 * blocklen(AES)? */
1476
+ /* They define this as 32. Using the same value here. */
1477
+ #endif
1478
+
1479
+ #ifndef EVP_MAX_IV_LENGTH
1480
+ #define EVP_MAX_IV_LENGTH 16
1481
+ #endif
1482
+
1483
+
1484
+ #define EVP_R_BAD_DECRYPT (-WOLFSSL_EVP_R_BAD_DECRYPT_E)
1485
+ #define EVP_R_BN_DECODE_ERROR (-WOLFSSL_EVP_R_BN_DECODE_ERROR)
1486
+ #define EVP_R_DECODE_ERROR (-WOLFSSL_EVP_R_DECODE_ERROR)
1487
+ #define EVP_R_PRIVATE_KEY_DECODE_ERROR (-WOLFSSL_EVP_R_PRIVATE_KEY_DECODE_ERROR)
1488
+
1489
+ #define EVP_CIPHER_mode WOLFSSL_EVP_CIPHER_mode
1490
+ /* WOLFSSL_EVP_CIPHER is just the string name of the cipher */
1491
+ #define EVP_CIPHER_name(x) x
1492
+ #define EVP_MD_CTX_reset wolfSSL_EVP_MD_CTX_cleanup
1493
+ /* WOLFSSL_EVP_MD is just the string name of the digest */
1494
+ #define EVP_MD_name(x) x
1495
+ #define EVP_CIPHER_nid wolfSSL_EVP_CIPHER_nid
1496
+
1497
+ /* Base64 encoding/decoding APIs */
1498
+ #if defined(WOLFSSL_BASE64_ENCODE) || defined(WOLFSSL_BASE64_DECODE)
1499
+ #define EVP_ENCODE_CTX WOLFSSL_EVP_ENCODE_CTX
1500
+ #define EVP_ENCODE_CTX_new wolfSSL_EVP_ENCODE_CTX_new
1501
+ #define EVP_ENCODE_CTX_free wolfSSL_EVP_ENCODE_CTX_free
1502
+ #endif /* WOLFSSL_BASE64_ENCODE || WOLFSSL_BASE64_DECODE*/
1503
+ #if defined(WOLFSSL_BASE64_ENCODE)
1504
+ #define EVP_EncodeInit wolfSSL_EVP_EncodeInit
1505
+ #define EVP_EncodeUpdate wolfSSL_EVP_EncodeUpdate
1506
+ #define EVP_EncodeFinal wolfSSL_EVP_EncodeFinal
1507
+ #define EVP_EncodeBlock wolfSSL_EVP_EncodeBlock
1508
+ #define EVP_DecodeBlock wolfSSL_EVP_DecodeBlock
1509
+ #endif /* WOLFSSL_BASE64_ENCODE */
1510
+ #if defined(WOLFSSL_BASE64_DECODE)
1511
+ #define EVP_DecodeInit wolfSSL_EVP_DecodeInit
1512
+ #define EVP_DecodeUpdate wolfSSL_EVP_DecodeUpdate
1513
+ #define EVP_DecodeFinal wolfSSL_EVP_DecodeFinal
1514
+ #endif /* WOLFSSL_BASE64_DECODE */
1515
+
1516
+ #define EVP_blake2b512 wolfSSL_EVP_blake2b512
1517
+ #define EVP_blake2s256 wolfSSL_EVP_blake2s256
1518
+ #define EVP_MD_do_all wolfSSL_EVP_MD_do_all
1519
+
1520
+ #ifdef HAVE_HKDF
1521
+ #define EVP_PKEY_CTX_set_hkdf_md wolfSSL_EVP_PKEY_CTX_set_hkdf_md
1522
+ #define EVP_PKEY_CTX_set1_hkdf_salt wolfSSL_EVP_PKEY_CTX_set1_hkdf_salt
1523
+ #define EVP_PKEY_CTX_set1_hkdf_key wolfSSL_EVP_PKEY_CTX_set1_hkdf_key
1524
+ #define EVP_PKEY_CTX_add1_hkdf_info wolfSSL_EVP_PKEY_CTX_add1_hkdf_info
1525
+ #define EVP_PKEY_CTX_hkdf_mode wolfSSL_EVP_PKEY_CTX_hkdf_mode
1526
+ #endif
1527
+
1528
+ WOLFSSL_API void printPKEY(WOLFSSL_EVP_PKEY *k);
1529
+
1530
+ #endif /* !OPENSSL_COEXIST */
1531
+
1532
+ #endif /* OPENSSL_EXTRA || OPENSSL_EXTRA_X509_SMALL */
1533
+
1534
+ #ifdef __cplusplus
1535
+ } /* extern "C" */
1536
+ #endif
1537
+
1538
+ #include <wolfssl/openssl/objects.h>
1539
+
1540
+ #endif /* WOLFSSL_EVP_H_ */