@annadata/capacitor-mqtt-quic 0.1.5 → 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 (795) hide show
  1. package/AnnadataCapacitorMqttQuic.podspec +36 -0
  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/ios-arm64/libmqttquic_native_device.a +0 -0
  642. package/ios/libs/MqttQuicLibs.xcframework/ios-arm64_x86_64-simulator/libmqttquic_native_simulator.a +0 -0
  643. package/ios/libs/libnghttp3.a +0 -0
  644. package/ios/libs/libngtcp2.a +0 -0
  645. package/ios/libs/libngtcp2_crypto_wolfssl.a +0 -0
  646. package/ios/libs/libwolfssl.a +0 -0
  647. package/ios/libs-simulator/libnghttp3.a +0 -0
  648. package/ios/libs-simulator/libngtcp2.a +0 -0
  649. package/ios/libs-simulator/libngtcp2_crypto_wolfssl.a +0 -0
  650. package/ios/libs-simulator/libwolfssl.a +0 -0
  651. package/ios/libs-simulator-x86_64/libnghttp3.a +0 -0
  652. package/ios/libs-simulator-x86_64/libngtcp2.a +0 -0
  653. package/ios/libs-simulator-x86_64/libngtcp2_crypto_wolfssl.a +0 -0
  654. package/ios/libs-simulator-x86_64/libwolfssl.a +0 -0
  655. package/package.json +22 -8
  656. package/ios/include/ngtcp2/ngtcp2_crypto_quictls.h +0 -147
  657. package/ios/include/openssl/aes.h +0 -111
  658. package/ios/include/openssl/asn1.h +0 -1131
  659. package/ios/include/openssl/asn1_mac.h +0 -10
  660. package/ios/include/openssl/asn1err.h +0 -140
  661. package/ios/include/openssl/asn1t.h +0 -946
  662. package/ios/include/openssl/async.h +0 -96
  663. package/ios/include/openssl/asyncerr.h +0 -29
  664. package/ios/include/openssl/bio.h +0 -887
  665. package/ios/include/openssl/bioerr.h +0 -65
  666. package/ios/include/openssl/blowfish.h +0 -78
  667. package/ios/include/openssl/bn.h +0 -584
  668. package/ios/include/openssl/bnerr.h +0 -47
  669. package/ios/include/openssl/buffer.h +0 -62
  670. package/ios/include/openssl/buffererr.h +0 -25
  671. package/ios/include/openssl/camellia.h +0 -117
  672. package/ios/include/openssl/cast.h +0 -71
  673. package/ios/include/openssl/cmac.h +0 -52
  674. package/ios/include/openssl/cmp.h +0 -597
  675. package/ios/include/openssl/cmp_util.h +0 -56
  676. package/ios/include/openssl/cmperr.h +0 -116
  677. package/ios/include/openssl/cms.h +0 -493
  678. package/ios/include/openssl/cmserr.h +0 -124
  679. package/ios/include/openssl/comp.h +0 -59
  680. package/ios/include/openssl/comperr.h +0 -31
  681. package/ios/include/openssl/conf.h +0 -214
  682. package/ios/include/openssl/conf_api.h +0 -46
  683. package/ios/include/openssl/conferr.h +0 -52
  684. package/ios/include/openssl/configuration.h +0 -149
  685. package/ios/include/openssl/conftypes.h +0 -44
  686. package/ios/include/openssl/core.h +0 -233
  687. package/ios/include/openssl/core_dispatch.h +0 -960
  688. package/ios/include/openssl/core_names.h +0 -561
  689. package/ios/include/openssl/core_object.h +0 -41
  690. package/ios/include/openssl/crmf.h +0 -227
  691. package/ios/include/openssl/crmferr.h +0 -50
  692. package/ios/include/openssl/crypto.h +0 -558
  693. package/ios/include/openssl/cryptoerr.h +0 -55
  694. package/ios/include/openssl/cryptoerr_legacy.h +0 -1466
  695. package/ios/include/openssl/ct.h +0 -573
  696. package/ios/include/openssl/cterr.h +0 -45
  697. package/ios/include/openssl/decoder.h +0 -133
  698. package/ios/include/openssl/decodererr.h +0 -28
  699. package/ios/include/openssl/des.h +0 -211
  700. package/ios/include/openssl/dh.h +0 -335
  701. package/ios/include/openssl/dherr.h +0 -58
  702. package/ios/include/openssl/dsa.h +0 -280
  703. package/ios/include/openssl/dsaerr.h +0 -44
  704. package/ios/include/openssl/dtls1.h +0 -57
  705. package/ios/include/openssl/e_os2.h +0 -308
  706. package/ios/include/openssl/ebcdic.h +0 -39
  707. package/ios/include/openssl/ec.h +0 -1572
  708. package/ios/include/openssl/ecdh.h +0 -10
  709. package/ios/include/openssl/ecdsa.h +0 -10
  710. package/ios/include/openssl/ecerr.h +0 -104
  711. package/ios/include/openssl/encoder.h +0 -124
  712. package/ios/include/openssl/encodererr.h +0 -28
  713. package/ios/include/openssl/engine.h +0 -833
  714. package/ios/include/openssl/engineerr.h +0 -63
  715. package/ios/include/openssl/err.h +0 -504
  716. package/ios/include/openssl/ess.h +0 -128
  717. package/ios/include/openssl/esserr.h +0 -32
  718. package/ios/include/openssl/evp.h +0 -2175
  719. package/ios/include/openssl/evperr.h +0 -134
  720. package/ios/include/openssl/fips_names.h +0 -77
  721. package/ios/include/openssl/fipskey.h +0 -36
  722. package/ios/include/openssl/hmac.h +0 -62
  723. package/ios/include/openssl/http.h +0 -109
  724. package/ios/include/openssl/httperr.h +0 -55
  725. package/ios/include/openssl/idea.h +0 -82
  726. package/ios/include/openssl/kdf.h +0 -138
  727. package/ios/include/openssl/kdferr.h +0 -16
  728. package/ios/include/openssl/lhash.h +0 -331
  729. package/ios/include/openssl/macros.h +0 -325
  730. package/ios/include/openssl/md2.h +0 -56
  731. package/ios/include/openssl/md4.h +0 -63
  732. package/ios/include/openssl/md5.h +0 -62
  733. package/ios/include/openssl/mdc2.h +0 -55
  734. package/ios/include/openssl/modes.h +0 -219
  735. package/ios/include/openssl/obj_mac.h +0 -5481
  736. package/ios/include/openssl/objects.h +0 -183
  737. package/ios/include/openssl/objectserr.h +0 -28
  738. package/ios/include/openssl/ocsp.h +0 -483
  739. package/ios/include/openssl/ocsperr.h +0 -53
  740. package/ios/include/openssl/opensslconf.h +0 -17
  741. package/ios/include/openssl/opensslv.h +0 -114
  742. package/ios/include/openssl/ossl_typ.h +0 -16
  743. package/ios/include/openssl/param_build.h +0 -63
  744. package/ios/include/openssl/params.h +0 -160
  745. package/ios/include/openssl/pem.h +0 -541
  746. package/ios/include/openssl/pem2.h +0 -19
  747. package/ios/include/openssl/pemerr.h +0 -58
  748. package/ios/include/openssl/pkcs12.h +0 -353
  749. package/ios/include/openssl/pkcs12err.h +0 -45
  750. package/ios/include/openssl/pkcs7.h +0 -430
  751. package/ios/include/openssl/pkcs7err.h +0 -63
  752. package/ios/include/openssl/prov_ssl.h +0 -34
  753. package/ios/include/openssl/proverr.h +0 -149
  754. package/ios/include/openssl/provider.h +0 -60
  755. package/ios/include/openssl/quic.h +0 -19
  756. package/ios/include/openssl/rand.h +0 -125
  757. package/ios/include/openssl/randerr.h +0 -69
  758. package/ios/include/openssl/rc2.h +0 -68
  759. package/ios/include/openssl/rc4.h +0 -47
  760. package/ios/include/openssl/rc5.h +0 -79
  761. package/ios/include/openssl/ripemd.h +0 -59
  762. package/ios/include/openssl/rsa.h +0 -610
  763. package/ios/include/openssl/rsaerr.h +0 -107
  764. package/ios/include/openssl/safestack.h +0 -297
  765. package/ios/include/openssl/seed.h +0 -113
  766. package/ios/include/openssl/self_test.h +0 -94
  767. package/ios/include/openssl/sha.h +0 -138
  768. package/ios/include/openssl/srp.h +0 -285
  769. package/ios/include/openssl/srtp.h +0 -56
  770. package/ios/include/openssl/ssl.h +0 -2671
  771. package/ios/include/openssl/ssl2.h +0 -30
  772. package/ios/include/openssl/ssl3.h +0 -347
  773. package/ios/include/openssl/sslerr.h +0 -348
  774. package/ios/include/openssl/sslerr_legacy.h +0 -468
  775. package/ios/include/openssl/stack.h +0 -90
  776. package/ios/include/openssl/store.h +0 -369
  777. package/ios/include/openssl/storeerr.h +0 -49
  778. package/ios/include/openssl/symhacks.h +0 -39
  779. package/ios/include/openssl/tls1.h +0 -1186
  780. package/ios/include/openssl/trace.h +0 -312
  781. package/ios/include/openssl/ts.h +0 -505
  782. package/ios/include/openssl/tserr.h +0 -67
  783. package/ios/include/openssl/txt_db.h +0 -63
  784. package/ios/include/openssl/types.h +0 -239
  785. package/ios/include/openssl/ui.h +0 -407
  786. package/ios/include/openssl/uierr.h +0 -38
  787. package/ios/include/openssl/whrlpool.h +0 -62
  788. package/ios/include/openssl/x509.h +0 -1279
  789. package/ios/include/openssl/x509_vfy.h +0 -894
  790. package/ios/include/openssl/x509err.h +0 -69
  791. package/ios/include/openssl/x509v3.h +0 -1453
  792. package/ios/include/openssl/x509v3err.h +0 -93
  793. package/ios/libs/libcrypto.a +0 -0
  794. package/ios/libs/libngtcp2_crypto_quictls.a +0 -0
  795. package/ios/libs/libssl.a +0 -0
@@ -0,0 +1,1009 @@
1
+ /* asn_public.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
+ \file wolfssl/wolfcrypt/asn_public.h
24
+ */
25
+
26
+ /*
27
+ DESCRIPTION
28
+ This library defines the interface APIs for X509 certificates.
29
+
30
+ */
31
+ #ifndef WOLF_CRYPT_ASN_PUBLIC_H
32
+ #define WOLF_CRYPT_ASN_PUBLIC_H
33
+
34
+ #include <wolfssl/wolfcrypt/types.h>
35
+ #ifndef NO_DSA
36
+ #include <wolfssl/wolfcrypt/dsa.h>
37
+ #endif
38
+ #include <wolfssl/wolfcrypt/random.h>
39
+
40
+ #ifdef __cplusplus
41
+ extern "C" {
42
+ #endif
43
+
44
+ /* guard on redeclaration */
45
+ #ifndef WC_ECCKEY_TYPE_DEFINED
46
+ typedef struct ecc_key ecc_key;
47
+ #define WC_ECCKEY_TYPE_DEFINED
48
+ #endif
49
+ #ifndef WC_ED25519KEY_TYPE_DEFINED
50
+ typedef struct ed25519_key ed25519_key;
51
+ #define WC_ED25519KEY_TYPE_DEFINED
52
+ #endif
53
+ #ifndef WC_CURVE25519KEY_TYPE_DEFINED
54
+ typedef struct curve25519_key curve25519_key;
55
+ #define WC_CURVE25519KEY_TYPE_DEFINED
56
+ #endif
57
+ #ifndef WC_ED448KEY_TYPE_DEFINED
58
+ typedef struct ed448_key ed448_key;
59
+ #define WC_ED448KEY_TYPE_DEFINED
60
+ #endif
61
+ #ifndef WC_CURVE448KEY_TYPE_DEFINED
62
+ typedef struct curve448_key curve448_key;
63
+ #define WC_CURVE448KEY_TYPE_DEFINED
64
+ #endif
65
+ #ifndef WC_RSAKEY_TYPE_DEFINED
66
+ typedef struct RsaKey RsaKey;
67
+ #define WC_RSAKEY_TYPE_DEFINED
68
+ #endif
69
+ #ifndef WC_DH_TYPE_DEFINED
70
+ typedef struct DhKey DhKey;
71
+ #define WC_DH_TYPE_DEFINED
72
+ #endif
73
+ #ifndef WC_FALCONKEY_TYPE_DEFINED
74
+ typedef struct falcon_key falcon_key;
75
+ #define WC_FALCONKEY_TYPE_DEFINED
76
+ #endif
77
+ #ifndef WC_DILITHIUMKEY_TYPE_DEFINED
78
+ typedef struct dilithium_key dilithium_key;
79
+ #define WC_DILITHIUMKEY_TYPE_DEFINED
80
+ #endif
81
+ #ifndef WC_SPHINCSKEY_TYPE_DEFINED
82
+ typedef struct sphincs_key sphincs_key;
83
+ #define WC_SPHINCSKEY_TYPE_DEFINED
84
+ #endif
85
+
86
+ enum EncPkcs8Types {
87
+ ENC_PKCS8_VER_PKCS12 = 1,
88
+ ENC_PKCS8_VER_PKCS5 = 5,
89
+
90
+ ENC_PKCS8_PBES2 = 13,
91
+
92
+ ENC_PKCS8_PBE_SHA1_RC4_128 = 1,
93
+ ENC_PKCS8_PBE_SHA1_DES = 2,
94
+ ENC_PKCS8_PBE_SHA1_DES3 = 3,
95
+ ENC_PKCS8_PBE_SHA1_40RC2_CBC = 6,
96
+
97
+ ENC_PKCS8_PBES1_MD5_DES = 3,
98
+ ENC_PKCS8_PBES1_SHA1_DES = 10,
99
+
100
+ ENC_PKCS8_ALG_AES128CBC = 414,
101
+ ENC_PKCS8_ALG_AES256CBC = 454,
102
+ ENC_PKCS8_ALG_DES = 69,
103
+ ENC_PKCS8_ALG_DES3 = 652
104
+ };
105
+
106
+ /* Certificate file Type */
107
+ enum CertType {
108
+ CERT_TYPE = 0,
109
+ PRIVATEKEY_TYPE,
110
+ ALT_PRIVATEKEY_TYPE,
111
+ DH_PARAM_TYPE,
112
+ DSA_PARAM_TYPE,
113
+ CRL_TYPE,
114
+ CA_TYPE,
115
+ ECC_PRIVATEKEY_TYPE,
116
+ DSA_PRIVATEKEY_TYPE,
117
+ ACERT_TYPE,
118
+ CERTREQ_TYPE,
119
+ DSA_TYPE,
120
+ ECC_TYPE,
121
+ RSA_TYPE,
122
+ PUBLICKEY_TYPE,
123
+ RSA_PUBLICKEY_TYPE,
124
+ ECC_PUBLICKEY_TYPE,
125
+ TRUSTED_PEER_TYPE,
126
+ EDDSA_PRIVATEKEY_TYPE,
127
+ ED25519_TYPE,
128
+ ED448_TYPE,
129
+ PKCS12_TYPE,
130
+ PKCS8_PRIVATEKEY_TYPE,
131
+ PKCS8_ENC_PRIVATEKEY_TYPE,
132
+ DETECT_CERT_TYPE,
133
+ DH_PRIVATEKEY_TYPE,
134
+ X942_PARAM_TYPE,
135
+ FALCON_LEVEL1_TYPE,
136
+ FALCON_LEVEL5_TYPE,
137
+ DILITHIUM_LEVEL2_TYPE,
138
+ DILITHIUM_LEVEL3_TYPE,
139
+ DILITHIUM_LEVEL5_TYPE,
140
+ ML_DSA_LEVEL2_TYPE,
141
+ ML_DSA_LEVEL3_TYPE,
142
+ ML_DSA_LEVEL5_TYPE,
143
+ SPHINCS_FAST_LEVEL1_TYPE,
144
+ SPHINCS_FAST_LEVEL3_TYPE,
145
+ SPHINCS_FAST_LEVEL5_TYPE,
146
+ SPHINCS_SMALL_LEVEL1_TYPE,
147
+ SPHINCS_SMALL_LEVEL3_TYPE,
148
+ SPHINCS_SMALL_LEVEL5_TYPE,
149
+ ECC_PARAM_TYPE,
150
+ CHAIN_CERT_TYPE,
151
+ PKCS7_TYPE,
152
+ TRUSTED_CERT_TYPE
153
+ };
154
+
155
+
156
+ enum Ctc_Encoding {
157
+ CTC_UTF8 = 0x0c, /* utf8 */
158
+ CTC_PRINTABLE = 0x13 /* printable */
159
+ };
160
+
161
+ #ifndef WC_CTC_NAME_SIZE
162
+ #define WC_CTC_NAME_SIZE 64
163
+ #endif
164
+ #ifndef WC_CTC_MAX_ALT_SIZE
165
+ #define WC_CTC_MAX_ALT_SIZE 16384
166
+ #endif
167
+ #ifdef WOLFSSL_CERT_EXT
168
+ #ifndef WC_CTC_MAX_CRLINFO_SZ
169
+ #define WC_CTC_MAX_CRLINFO_SZ 200
170
+ #endif
171
+ #endif
172
+
173
+ enum Ctc_Misc {
174
+ CTC_COUNTRY_SIZE = 2,
175
+ CTC_NAME_SIZE = WC_CTC_NAME_SIZE,
176
+ CTC_DATE_SIZE = 32,
177
+ CTC_MAX_ALT_SIZE = WC_CTC_MAX_ALT_SIZE, /* may be huge, default: 16384 */
178
+ CTC_SERIAL_SIZE = 20,
179
+ CTC_GEN_SERIAL_SZ = 16,
180
+ CTC_FILETYPE_ASN1 = 2,
181
+ CTC_FILETYPE_PEM = 1,
182
+ CTC_FILETYPE_DEFAULT = 2,
183
+ #ifdef WOLFSSL_CERT_EXT
184
+ /* AKID could contains: hash + (Option) AuthCertIssuer,AuthCertSerialNum
185
+ * We support only hash */
186
+ CTC_MAX_SKID_SIZE = 32, /* SHA256_DIGEST_SIZE */
187
+ CTC_MAX_AKID_SIZE = 32, /* SHA256_DIGEST_SIZE */
188
+ CTC_MAX_CERTPOL_SZ = 200, /* RFC 5280 Section 4.2.1.4 */
189
+ CTC_MAX_CERTPOL_NB = 2, /* Max number of Certificate Policy */
190
+ CTC_MAX_CRLINFO_SZ = WC_CTC_MAX_CRLINFO_SZ, /* Arbitrary size that should be
191
+ * enough for at least two
192
+ * distribution points. */
193
+ #endif /* WOLFSSL_CERT_EXT */
194
+ WOLF_ENUM_DUMMY_LAST_ELEMENT(Ctc_Misc)
195
+ };
196
+
197
+ /* DER buffer */
198
+ typedef struct DerBuffer {
199
+ byte* buffer;
200
+ void* heap;
201
+ word32 length;
202
+ int type; /* enum CertType */
203
+ int dynType; /* DYNAMIC_TYPE_* */
204
+ } DerBuffer;
205
+
206
+ typedef struct WOLFSSL_ASN1_TIME {
207
+ unsigned char data[CTC_DATE_SIZE]; /* date bytes */
208
+ int length;
209
+ int type;
210
+ } WOLFSSL_ASN1_TIME;
211
+
212
+ enum {
213
+ IV_SZ = 32, /* max iv sz */
214
+ #ifdef OPENSSL_ALL
215
+ NAME_SZ = 160, /* larger max one line, allows for longer
216
+ encryption password support */
217
+ #else
218
+ NAME_SZ = 80, /* max one line */
219
+ #endif
220
+
221
+ PEM_PASS_READ = 0,
222
+ PEM_PASS_WRITE = 1
223
+ };
224
+
225
+ typedef int (wc_pem_password_cb)(char* passwd, int sz, int rw, void* userdata);
226
+ #ifndef OPENSSL_COEXIST
227
+ /* In the past, wc_pem_password_cb was called pem_password_cb, which is the same
228
+ * name as an identical typedef in OpenSSL. We don't want to break existing code
229
+ * that uses the name pem_password_cb, so we define it here as a macro alias for
230
+ * wc_pem_password_cb. In cases where a user needs to use both OpenSSL and
231
+ * wolfSSL headers in the same code, they should define OPENSSL_COEXIST to
232
+ * avoid errors stemming from the typedef being declared twice. */
233
+ #define pem_password_cb wc_pem_password_cb
234
+ #endif
235
+
236
+ typedef struct EncryptedInfo {
237
+ long consumed; /* tracks PEM bytes consumed */
238
+
239
+ #ifdef WOLFSSL_ENCRYPTED_KEYS
240
+ wc_pem_password_cb* passwd_cb;
241
+ void* passwd_userdata;
242
+
243
+ int cipherType;
244
+ word32 keySz;
245
+ word32 ivSz; /* salt or encrypted IV size */
246
+
247
+ char name[NAME_SZ]; /* cipher name, such as "DES-CBC" */
248
+ byte iv[IV_SZ]; /* salt or encrypted IV */
249
+
250
+ WC_BITFIELD set:1; /* if encryption set */
251
+ #endif
252
+ } EncryptedInfo;
253
+
254
+
255
+ #define WOLFSSL_ASN1_INTEGER_MAX 20
256
+ typedef struct WOLFSSL_ASN1_INTEGER {
257
+ /* size can be increased set at 20 for tag, length then to hold at least 16
258
+ * byte type */
259
+ unsigned char intData[WOLFSSL_ASN1_INTEGER_MAX];
260
+ /* ASN_INTEGER | LENGTH | hex of number */
261
+ unsigned char negative; /* negative number flag */
262
+
263
+ unsigned char* data;
264
+ unsigned int dataMax; /* max size of data buffer */
265
+ WC_BITFIELD isDynamic:1; /* flag for if data pointer dynamic (1 is yes 0 is no) */
266
+
267
+ int length; /* Length of DER encoding. */
268
+ int type; /* ASN.1 type. Includes negative flag. */
269
+ } WOLFSSL_ASN1_INTEGER;
270
+
271
+
272
+ #if defined(WOLFSSL_CERT_GEN) || defined(WOLFSSL_CERT_EXT)
273
+ #ifdef WOLFSSL_EKU_OID
274
+ #ifndef CTC_MAX_EKU_NB
275
+ #define CTC_MAX_EKU_NB 1
276
+ #endif
277
+ #ifndef CTC_MAX_EKU_OID_SZ
278
+ #define CTC_MAX_EKU_OID_SZ 30
279
+ #endif
280
+ #else
281
+ #undef CTC_MAX_EKU_OID_SZ
282
+ #define CTC_MAX_EKU_OID_SZ 0
283
+ #endif
284
+ #endif /* WOLFSSL_CERT_GEN || WOLFSSL_CERT_EXT */
285
+
286
+ #ifdef WOLFSSL_MULTI_ATTRIB
287
+ #ifndef CTC_MAX_ATTRIB
288
+ #define CTC_MAX_ATTRIB 4
289
+ #endif
290
+
291
+ /* ASN Encoded Name field */
292
+ typedef struct NameAttrib {
293
+ int sz; /* actual string value length */
294
+ int id; /* id of name */
295
+ int type; /* enc of name */
296
+ char value[CTC_NAME_SIZE]; /* name */
297
+ } NameAttrib;
298
+ #endif /* WOLFSSL_MULTI_ATTRIB */
299
+
300
+ #ifdef WOLFSSL_CUSTOM_OID
301
+ typedef struct CertOidField {
302
+ byte* oid;
303
+ byte* val;
304
+ int oidSz;
305
+ int valSz;
306
+ char enc;
307
+ } CertOidField;
308
+
309
+ typedef struct CertExtension {
310
+ char* oid;
311
+ byte crit;
312
+ byte* val;
313
+ int valSz;
314
+ } CertExtension;
315
+ #endif
316
+
317
+ #if defined(WOLFSSL_CERT_GEN) || defined(OPENSSL_EXTRA) || \
318
+ defined(OPENSSL_EXTRA_X509_SMALL) || defined(WOLFSSL_CERT_EXT) || \
319
+ defined(WOLFSSL_CERT_REQ)
320
+ typedef struct CertName {
321
+ char country[CTC_NAME_SIZE];
322
+ char countryEnc;
323
+ char state[CTC_NAME_SIZE];
324
+ char stateEnc;
325
+ char street[CTC_NAME_SIZE];
326
+ char streetEnc;
327
+ char locality[CTC_NAME_SIZE];
328
+ char localityEnc;
329
+ char sur[CTC_NAME_SIZE];
330
+ char surEnc;
331
+ #ifdef WOLFSSL_CERT_NAME_ALL
332
+ char givenName[CTC_NAME_SIZE];
333
+ char givenNameEnc;
334
+ char initials[CTC_NAME_SIZE];
335
+ char initialsEnc;
336
+ char dnQualifier[CTC_NAME_SIZE];
337
+ char dnQualifierEnc;
338
+ char dnName[CTC_NAME_SIZE];
339
+ char dnNameEnc;
340
+ #endif /* WOLFSSL_CERT_NAME_ALL */
341
+ char org[CTC_NAME_SIZE];
342
+ char orgEnc;
343
+ char unit[CTC_NAME_SIZE];
344
+ char unitEnc;
345
+ char commonName[CTC_NAME_SIZE];
346
+ char commonNameEnc;
347
+ char serialDev[CTC_NAME_SIZE];
348
+ char serialDevEnc;
349
+ char userId[CTC_NAME_SIZE];
350
+ char userIdEnc;
351
+ char postalCode[CTC_NAME_SIZE];
352
+ char postalCodeEnc;
353
+ #ifdef WOLFSSL_CERT_EXT
354
+ char busCat[CTC_NAME_SIZE];
355
+ char busCatEnc;
356
+ char joiC[CTC_NAME_SIZE];
357
+ char joiCEnc;
358
+ char joiSt[CTC_NAME_SIZE];
359
+ char joiStEnc;
360
+ #endif
361
+ char email[CTC_NAME_SIZE]; /* !!!! email has to be last !!!! */
362
+ #ifdef WOLFSSL_MULTI_ATTRIB
363
+ NameAttrib name[CTC_MAX_ATTRIB];
364
+ #endif
365
+ #ifdef WOLFSSL_CUSTOM_OID
366
+ CertOidField custom;
367
+ #endif
368
+ } CertName;
369
+ #endif /* WOLFSSL_CERT_GEN || OPENSSL_EXTRA || OPENSSL_EXTRA_X509_SMALL*/
370
+
371
+ #ifndef NUM_CUSTOM_EXT
372
+ #define NUM_CUSTOM_EXT 16
373
+ #endif /* NUM_CUSTOM_EXT */
374
+
375
+ /* for user to fill for certificate generation */
376
+ typedef struct Cert {
377
+ int version; /* x509 version */
378
+ byte serial[CTC_SERIAL_SIZE]; /* serial number */
379
+ int serialSz; /* serial size */
380
+ int sigType; /* signature algo type */
381
+ #if defined(WOLFSSL_CERT_GEN) || defined(OPENSSL_EXTRA) \
382
+ || defined(OPENSSL_EXTRA_X509_SMALL)
383
+ CertName issuer; /* issuer info */
384
+ CertName subject; /* subject info */
385
+ #endif /* WOLFSSL_CERT_GEN || OPENSSL_EXTRA || OPENSSL_EXTRA_X509_SMALL */
386
+ int daysValid; /* validity days */
387
+ int selfSigned; /* self signed flag */
388
+ int isCA; /* is this going to be a CA */
389
+ byte pathLen; /* max depth of valid certification
390
+ * paths that include this cert */
391
+ /* internal use only */
392
+ int bodySz; /* pre sign total size */
393
+ int keyType; /* public key type of subject */
394
+ #ifdef WOLFSSL_ALT_NAMES
395
+ byte altNames[CTC_MAX_ALT_SIZE]; /* altNames copy */
396
+ int altNamesSz; /* altNames size in bytes */
397
+ #endif
398
+ byte beforeDate[CTC_DATE_SIZE]; /* before date copy */
399
+ int beforeDateSz; /* size of copy */
400
+ byte afterDate[CTC_DATE_SIZE]; /* after date copy */
401
+ int afterDateSz; /* size of copy */
402
+ #ifdef WOLFSSL_CERT_EXT
403
+ byte skid[CTC_MAX_SKID_SIZE]; /* Subject Key Identifier */
404
+ int skidSz; /* SKID size in bytes */
405
+ byte akid[CTC_MAX_AKID_SIZE
406
+ #ifdef WOLFSSL_AKID_NAME
407
+ + sizeof(CertName) + CTC_SERIAL_SIZE
408
+ #endif
409
+ ]; /* Authority Key
410
+ * Identifier */
411
+ int akidSz; /* AKID size in bytes */
412
+ #ifdef WOLFSSL_AKID_NAME
413
+ byte rawAkid; /* Set to true if akid is a
414
+ * AuthorityKeyIdentifier object.
415
+ * Set to false if akid is just a
416
+ * KeyIdentifier object. */
417
+ #endif
418
+ word16 keyUsage; /* Key Usage */
419
+ byte extKeyUsage; /* Extended Key Usage */
420
+ #ifndef IGNORE_NETSCAPE_CERT_TYPE
421
+ byte nsCertType; /* Netscape Certificate Type */
422
+ #endif
423
+ #ifdef WOLFSSL_EKU_OID
424
+ /* Extended Key Usage OIDs */
425
+ byte extKeyUsageOID[CTC_MAX_EKU_NB][CTC_MAX_EKU_OID_SZ];
426
+ byte extKeyUsageOIDSz[CTC_MAX_EKU_NB];
427
+ #endif
428
+ char certPolicies[CTC_MAX_CERTPOL_NB][CTC_MAX_CERTPOL_SZ];
429
+ word16 certPoliciesNb; /* Number of Cert Policy */
430
+ byte crlInfo[CTC_MAX_CRLINFO_SZ]; /* CRL Distribution points */
431
+ int crlInfoSz;
432
+ #endif
433
+ #if defined(WOLFSSL_CERT_EXT) || defined(OPENSSL_EXTRA) || \
434
+ defined(WOLFSSL_CERT_REQ)
435
+ byte issRaw[sizeof(CertName)]; /* raw issuer info */
436
+ byte sbjRaw[sizeof(CertName)]; /* raw subject info */
437
+ #endif
438
+ #ifdef WOLFSSL_DUAL_ALG_CERTS
439
+ /* These will not point to managed buffers. They will point to buffers that
440
+ * are managed by others. No cleanup necessary. */
441
+ /* Subject Alternative Public Key Info */
442
+ byte *sapkiDer;
443
+ int sapkiLen;
444
+ byte sapkiCrit;
445
+ /* Alternative Signature Algorithm */
446
+ byte *altSigAlgDer;
447
+ int altSigAlgLen;
448
+ byte altSigAlgCrit;
449
+ /* Alternative Signature Value */
450
+ byte *altSigValDer;
451
+ int altSigValLen;
452
+ byte altSigValCrit;
453
+ #endif /* WOLFSSL_DUAL_ALG_CERTS */
454
+ #ifdef WOLFSSL_CERT_REQ
455
+ char challengePw[CTC_NAME_SIZE];
456
+ char unstructuredName[CTC_NAME_SIZE];
457
+ int challengePwPrintableString; /* encode as PrintableString */
458
+ #endif /* WOLFSSL_CERT_REQ */
459
+ #ifdef WOLFSSL_CUSTOM_OID
460
+ /* user oid and value to go in req extensions */
461
+ CertOidField extCustom;
462
+
463
+ /* Extensions to go into X.509 certificates */
464
+ CertExtension customCertExt[NUM_CUSTOM_EXT];
465
+ int customCertExtCount;
466
+ #endif /* WOLFSSL_CUSTOM_OID */
467
+ void* decodedCert; /* internal DecodedCert allocated from heap */
468
+ byte* der; /* Pointer to buffer of current DecodedCert cache */
469
+ void* heap; /* heap hint */
470
+ WC_BITFIELD basicConstSet:1; /* Indicator for when Basic Constraint is set */
471
+ byte basicConstCrit; /* Indicator of criticality of Basic Constraints extension */
472
+ #ifdef WOLFSSL_ALLOW_ENCODING_CA_FALSE
473
+ WC_BITFIELD isCaSet:1; /* Indicator for when isCA is set */
474
+ #endif
475
+ WC_BITFIELD pathLenSet:1; /* Indicator for when path length is set */
476
+ #ifdef WOLFSSL_ALT_NAMES
477
+ WC_BITFIELD altNamesCrit:1; /* Indicator of criticality of SAN extension */
478
+ #endif
479
+ } Cert;
480
+
481
+
482
+ /* Initialize and Set Certificate defaults:
483
+ version = 3 (0x2)
484
+ serial = 0 (Will be randomly generated)
485
+ sigType = SHA_WITH_RSA
486
+ issuer = blank
487
+ daysValid = 500
488
+ selfSigned = 1 (true) use subject as issuer
489
+ subject = blank
490
+ isCA = 0 (false)
491
+ keyType = RSA_KEY (default)
492
+ */
493
+ WOLFSSL_ABI WOLFSSL_API int wc_InitCert(Cert* cert);
494
+ WOLFSSL_ABI WOLFSSL_API Cert* wc_CertNew(void* heap);
495
+ WOLFSSL_ABI WOLFSSL_API void wc_CertFree(Cert* cert);
496
+ WOLFSSL_API int wc_InitCert_ex(Cert* cert, void* heap, int devId);
497
+ WOLFSSL_API int wc_MakeCert_ex(Cert* cert, byte* derBuffer, word32 derSz,
498
+ int keyType, void* key, WC_RNG* rng);
499
+ WOLFSSL_ABI
500
+ WOLFSSL_API int wc_MakeCert(Cert* cert, byte* derBuffer, word32 derSz,
501
+ RsaKey* rsaKey, ecc_key* eccKey, WC_RNG* rng);
502
+ #ifdef WOLFSSL_CERT_REQ
503
+ WOLFSSL_API int wc_MakeCertReq_ex(Cert* cert, byte* derBuffer, word32 derSz,
504
+ int keyType, void* key);
505
+ WOLFSSL_ABI
506
+ WOLFSSL_API int wc_MakeCertReq(Cert* cert, byte* derBuffer, word32 derSz,
507
+ RsaKey* rsaKey, ecc_key* eccKey);
508
+ #endif
509
+ WOLFSSL_API int wc_SignCert_ex(int requestSz, int sType, byte* buf,
510
+ word32 buffSz, int keyType, void* key,
511
+ WC_RNG* rng);
512
+ WOLFSSL_API int wc_SignCert(int requestSz, int sType, byte* buf, word32 buffSz,
513
+ RsaKey* rsaKey, ecc_key* eccKey, WC_RNG* rng);
514
+ #ifdef WOLFSSL_DUAL_ALG_CERTS
515
+ WOLFSSL_API int wc_MakeSigWithBitStr(byte *sig, int sigSz, int sType, byte* buf,
516
+ word32 bufSz, int keyType, void* key,
517
+ WC_RNG* rng);
518
+ #endif
519
+ WOLFSSL_ABI
520
+ WOLFSSL_API int wc_MakeSelfCert(Cert* cert, byte* buf, word32 buffSz,
521
+ RsaKey* key, WC_RNG* rng);
522
+ WOLFSSL_ABI WOLFSSL_API int wc_SetIssuer(Cert* cert, const char* issuerFile);
523
+ WOLFSSL_ABI WOLFSSL_API int wc_SetSubject(Cert* cert, const char* subjectFile);
524
+ #ifdef WOLFSSL_ALT_NAMES
525
+ WOLFSSL_ABI WOLFSSL_API int wc_SetAltNames(Cert* cert, const char* file);
526
+ #endif
527
+
528
+ #ifdef WOLFSSL_CERT_GEN_CACHE
529
+ WOLFSSL_ABI WOLFSSL_API void wc_SetCert_Free(Cert* cert);
530
+ #endif
531
+
532
+ WOLFSSL_ABI
533
+ WOLFSSL_API int wc_SetIssuerBuffer(Cert* cert, const byte* der, int derSz);
534
+ WOLFSSL_ABI
535
+ WOLFSSL_API int wc_SetSubjectBuffer(Cert* cert, const byte* der, int derSz);
536
+ WOLFSSL_ABI
537
+ WOLFSSL_API int wc_SetAltNamesBuffer(Cert* cert, const byte* der, int derSz);
538
+ WOLFSSL_ABI
539
+ WOLFSSL_API int wc_SetDatesBuffer(Cert* cert, const byte* der, int derSz);
540
+
541
+ #ifndef NO_ASN_TIME
542
+ WOLFSSL_API int wc_GetCertDates(Cert* cert, struct tm* before,
543
+ struct tm* after);
544
+ #endif
545
+
546
+ #ifdef WOLFSSL_CERT_EXT
547
+ WOLFSSL_API int wc_SetAuthKeyIdFromPublicKey_ex(Cert *cert, int keyType,
548
+ void* key);
549
+ WOLFSSL_API int wc_SetAuthKeyIdFromPublicKey(Cert *cert, RsaKey *rsakey,
550
+ ecc_key *eckey);
551
+ WOLFSSL_API int wc_SetAuthKeyIdFromCert(Cert *cert, const byte *der, int derSz);
552
+ WOLFSSL_API int wc_SetAuthKeyId(Cert *cert, const char* file);
553
+ WOLFSSL_API int wc_SetSubjectKeyIdFromPublicKey_ex(Cert *cert, int keyType,
554
+ void* key);
555
+ WOLFSSL_API int wc_SetSubjectKeyIdFromPublicKey(Cert *cert, RsaKey *rsakey,
556
+ ecc_key *eckey);
557
+ WOLFSSL_API int wc_SetSubjectKeyId(Cert *cert, const char* file);
558
+ WOLFSSL_ABI WOLFSSL_API int wc_GetSubjectRaw(byte **subjectRaw, Cert *cert);
559
+ WOLFSSL_ABI
560
+ WOLFSSL_API int wc_SetSubjectRaw(Cert* cert, const byte* der, int derSz);
561
+ WOLFSSL_ABI
562
+ WOLFSSL_API int wc_SetIssuerRaw(Cert* cert, const byte* der, int derSz);
563
+
564
+ /* Set the KeyUsage.
565
+ * Value is a string separated tokens with ','. Accepted tokens are :
566
+ * digitalSignature,nonRepudiation,contentCommitment,keyCertSign,cRLSign,
567
+ * dataEncipherment,keyAgreement,keyEncipherment,encipherOnly and decipherOnly.
568
+ *
569
+ * nonRepudiation and contentCommitment are for the same usage.
570
+ */
571
+ WOLFSSL_API int wc_SetKeyUsage(Cert *cert, const char *value);
572
+
573
+ /* Set ExtendedKeyUsage
574
+ * Value is a string separated tokens with ','. Accepted tokens are :
575
+ * any,serverAuth,clientAuth,codeSigning,emailProtection,timeStamping,OCSPSigning
576
+ */
577
+ WOLFSSL_API int wc_SetExtKeyUsage(Cert *cert, const char *value);
578
+
579
+
580
+ #ifdef WOLFSSL_EKU_OID
581
+ /* Set ExtendedKeyUsage with unique OID
582
+ * oid is expected to be in byte representation
583
+ */
584
+ WOLFSSL_API int wc_SetExtKeyUsageOID(Cert *cert, const char *oid, word32 sz,
585
+ byte idx, void* heap);
586
+ #endif /* WOLFSSL_EKU_OID */
587
+
588
+ #if defined(WOLFSSL_ASN_TEMPLATE) && defined(WOLFSSL_CUSTOM_OID) && \
589
+ defined(HAVE_OID_ENCODING)
590
+ WOLFSSL_API int wc_SetCustomExtension(Cert *cert, int critical, const char *oid,
591
+ const byte *der, word32 derSz);
592
+ #endif
593
+
594
+ #endif /* WOLFSSL_CERT_EXT */
595
+
596
+ WOLFSSL_API int wc_GetDateInfo(const byte* certDate, int certDateSz,
597
+ const byte** date, byte* format, int* length);
598
+ #ifndef NO_ASN_TIME
599
+ WOLFSSL_API int wc_GetDateAsCalendarTime(const byte* date, int length,
600
+ byte format, struct tm* timearg);
601
+ #endif
602
+
603
+ #if defined(WOLFSSL_PEM_TO_DER) || defined(WOLFSSL_DER_TO_PEM)
604
+
605
+ WOLFSSL_API int wc_PemGetHeaderFooter(int type, const char** header,
606
+ const char** footer);
607
+
608
+ #endif
609
+
610
+ WOLFSSL_API int wc_AllocDer(DerBuffer** pDer, word32 length, int type, void* heap);
611
+ WOLFSSL_API void wc_FreeDer(DerBuffer** pDer);
612
+
613
+ #ifdef WOLFSSL_PEM_TO_DER
614
+ WOLFSSL_API int wc_PemToDer(const unsigned char* buff, long longSz, int type,
615
+ DerBuffer** pDer, void* heap, EncryptedInfo* info, int* keyFormat);
616
+
617
+ WOLFSSL_API int wc_KeyPemToDer(const unsigned char* pem, int pemSz,
618
+ unsigned char* buff, int buffSz, const char* pass);
619
+ WOLFSSL_API int wc_CertPemToDer(const unsigned char* pem, int pemSz,
620
+ unsigned char* buff, int buffSz, int type);
621
+ #endif /* WOLFSSL_PEM_TO_DER */
622
+
623
+ #if defined(WOLFSSL_CERT_EXT) || defined(WOLFSSL_PUB_PEM_TO_DER)
624
+ #if !defined(NO_FILESYSTEM) && defined(WOLFSSL_PEM_TO_DER)
625
+ WOLFSSL_API int wc_PemPubKeyToDer(const char* fileName,
626
+ unsigned char* derBuf, int derSz);
627
+ WOLFSSL_API int wc_PemPubKeyToDer_ex(const char* fileName, DerBuffer** der);
628
+ #endif
629
+
630
+ WOLFSSL_API int wc_PubKeyPemToDer(const unsigned char* pem, int pemSz,
631
+ unsigned char* buff, int buffSz);
632
+ #endif /* WOLFSSL_CERT_EXT || WOLFSSL_PUB_PEM_TO_DER */
633
+
634
+ #ifdef WOLFSSL_CERT_GEN
635
+ #if !defined(NO_FILESYSTEM) && defined(WOLFSSL_PEM_TO_DER)
636
+ WOLFSSL_API int wc_PemCertToDer(const char* fileName,
637
+ unsigned char* derBuf, int derSz);
638
+ WOLFSSL_API int wc_PemCertToDer_ex(const char* fileName, DerBuffer** der);
639
+ #endif
640
+ #endif /* WOLFSSL_CERT_GEN */
641
+
642
+ #ifdef WOLFSSL_DER_TO_PEM
643
+ WOLFSSL_ABI
644
+ WOLFSSL_API int wc_DerToPem(const byte* der, word32 derSz, byte* output,
645
+ word32 outSz, int type);
646
+ WOLFSSL_API int wc_DerToPemEx(const byte* der, word32 derSz, byte* output,
647
+ word32 outSz, byte *cipher_info, int type);
648
+ #endif
649
+
650
+ WOLFSSL_API word32 wc_PkcsPad(byte* buf, word32 sz, word32 blockSz);
651
+
652
+ #ifndef NO_RSA
653
+ WOLFSSL_API int wc_RsaPublicKeyDecode_ex(const byte* input, word32* inOutIdx,
654
+ word32 inSz, const byte** n, word32* nSz, const byte** e, word32* eSz);
655
+ /* For FIPS v1/v2 and selftest this is in rsa.h */
656
+ #if (!defined(HAVE_SELFTEST) || \
657
+ (defined(HAVE_SELFTEST) && defined(WOLFSSL_CERT_GEN) && \
658
+ !defined(WOLFSSL_KEY_GEN))) && \
659
+ (!defined(HAVE_FIPS) || \
660
+ !defined(HAVE_FIPS_VERSION) || \
661
+ ((HAVE_FIPS_VERSION > 2) && \
662
+ (! ((HAVE_FIPS_VERSION == 5) && (HAVE_FIPS_VERSION_MINOR == 0)))))
663
+ WOLFSSL_API int wc_RsaKeyToPublicDer(RsaKey* key, byte* output, word32 inLen);
664
+ #endif
665
+ WOLFSSL_API int wc_RsaPublicKeyDerSize(RsaKey* key, int with_header);
666
+ WOLFSSL_API int wc_RsaKeyToPublicDer_ex(RsaKey* key, byte* output, word32 inLen,
667
+ int with_header);
668
+
669
+ /* For FIPS v1/v2 and selftest rsa.h is replaced. */
670
+ #if defined(HAVE_SELFTEST) || (defined(HAVE_FIPS) && \
671
+ (!defined(HAVE_FIPS_VERSION) || (FIPS_VERSION_LE(5,2))))
672
+ WOLFSSL_API int wc_RsaPrivateKeyValidate(const byte* input,
673
+ word32* inOutIdx, int* keySz, word32 inSz);
674
+ #endif
675
+ #endif
676
+
677
+ #ifndef NO_DSA
678
+ /* DSA parameter DER helper functions */
679
+ WOLFSSL_API int wc_DsaParamsDecode(const byte* input, word32* inOutIdx, DsaKey* key,
680
+ word32 inSz);
681
+ WOLFSSL_API int wc_DsaKeyToParamsDer(DsaKey* key, byte* output,
682
+ word32 inLen);
683
+ WOLFSSL_API int wc_DsaKeyToParamsDer_ex(DsaKey* key, byte* output,
684
+ word32* inLen);
685
+ #endif
686
+
687
+ #if !defined(NO_DH) && defined(WOLFSSL_DH_EXTRA)
688
+ WOLFSSL_LOCAL int wc_DhKeyToDer(DhKey* key, byte* output, word32* outSz, int exportPriv);
689
+ WOLFSSL_API int wc_DhParamsToDer(DhKey* key, byte* out, word32* outSz);
690
+ WOLFSSL_API int wc_DhPubKeyToDer(DhKey* key, byte* out, word32* outSz);
691
+ WOLFSSL_API int wc_DhPrivKeyToDer(DhKey* key, byte* out, word32* outSz);
692
+ #endif
693
+
694
+ #ifdef HAVE_ECC
695
+ /* private key helpers */
696
+ WOLFSSL_ABI
697
+ WOLFSSL_API int wc_EccPrivateKeyDecode(const byte* input, word32* inOutIdx,
698
+ ecc_key* key, word32 inSz);
699
+ WOLFSSL_LOCAL int wc_BuildEccKeyDer(ecc_key* key, byte* output, word32 *inLen,
700
+ int pubIn, int curveIn);
701
+ WOLFSSL_ABI
702
+ WOLFSSL_API int wc_EccKeyToDer(ecc_key* key, byte* output, word32 inLen);
703
+ WOLFSSL_API int wc_EccPrivateKeyToDer(ecc_key* key, byte* output,
704
+ word32 inLen);
705
+ WOLFSSL_API int wc_EccKeyDerSize(ecc_key* key, int pub);
706
+ WOLFSSL_API int wc_EccPrivateKeyToPKCS8(ecc_key* key, byte* output,
707
+ word32* outLen);
708
+ WOLFSSL_API int wc_EccKeyToPKCS8(ecc_key* key, byte* output,
709
+ word32* outLen);
710
+
711
+ /* public key helper */
712
+ WOLFSSL_ABI
713
+ WOLFSSL_API int wc_EccPublicKeyDecode(const byte* input, word32* inOutIdx,
714
+ ecc_key* key, word32 inSz);
715
+ WOLFSSL_ABI WOLFSSL_API int wc_EccPublicKeyToDer(ecc_key* key, byte* output,
716
+ word32 inLen, int with_AlgCurve);
717
+ WOLFSSL_API int wc_EccPublicKeyToDer_ex(ecc_key* key, byte* output,
718
+ word32 inLen, int with_AlgCurve,
719
+ int comp);
720
+ WOLFSSL_API int wc_EccPublicKeyDerSize(ecc_key* key, int with_AlgCurve);
721
+ #endif
722
+
723
+ #ifdef HAVE_ED25519
724
+ #ifdef HAVE_ED25519_KEY_IMPORT
725
+ WOLFSSL_API int wc_Ed25519PrivateKeyDecode(const byte* input, word32* inOutIdx,
726
+ ed25519_key* key, word32 inSz);
727
+ WOLFSSL_API int wc_Ed25519PublicKeyDecode(const byte* input, word32* inOutIdx,
728
+ ed25519_key* key, word32 inSz);
729
+ #endif
730
+ #ifdef HAVE_ED25519_KEY_EXPORT
731
+ WOLFSSL_API int wc_Ed25519KeyToDer(const ed25519_key* key, byte* output,
732
+ word32 inLen);
733
+ WOLFSSL_API int wc_Ed25519PrivateKeyToDer(const ed25519_key* key, byte* output,
734
+ word32 inLen);
735
+ WOLFSSL_API int wc_Ed25519PublicKeyToDer(const ed25519_key* key, byte* output,
736
+ word32 inLen, int withAlg);
737
+ #endif
738
+ #endif /* HAVE_ED25519 */
739
+
740
+ #ifdef HAVE_CURVE25519
741
+ #ifdef HAVE_CURVE25519_KEY_IMPORT
742
+ WOLFSSL_API int wc_Curve25519PrivateKeyDecode(
743
+ const byte* input, word32* inOutIdx, curve25519_key* key, word32 inSz);
744
+ WOLFSSL_API int wc_Curve25519PublicKeyDecode(
745
+ const byte* input, word32* inOutIdx, curve25519_key* key, word32 inSz);
746
+ WOLFSSL_API int wc_Curve25519KeyDecode(const byte *input, word32 *inOutIdx,
747
+ curve25519_key *key, word32 inSz);
748
+ #endif
749
+ #ifdef HAVE_CURVE25519_KEY_EXPORT
750
+ WOLFSSL_API int wc_Curve25519PrivateKeyToDer(
751
+ curve25519_key* key, byte* output, word32 inLen);
752
+ WOLFSSL_API int wc_Curve25519PublicKeyToDer(
753
+ curve25519_key* key, byte* output, word32 inLen, int withAlg);
754
+ WOLFSSL_API int wc_Curve25519KeyToDer(curve25519_key* key, byte* output,
755
+ word32 inLen, int withAlg);
756
+ #endif
757
+ #endif /* HAVE_CURVE25519 */
758
+
759
+ #ifdef HAVE_ED448
760
+ #ifdef HAVE_ED448_KEY_IMPORT
761
+ WOLFSSL_API int wc_Ed448PrivateKeyDecode(
762
+ const byte* input, word32* inOutIdx, ed448_key* key, word32 inSz);
763
+ WOLFSSL_API int wc_Ed448PublicKeyDecode(
764
+ const byte* input, word32* inOutIdx, ed448_key* key, word32 inSz);
765
+ #endif
766
+ #ifdef HAVE_ED448_KEY_EXPORT
767
+ WOLFSSL_API int wc_Ed448KeyToDer(ed448_key* key, byte* output, word32 inLen);
768
+ WOLFSSL_API int wc_Ed448PrivateKeyToDer(
769
+ ed448_key* key, byte* output, word32 inLen);
770
+ WOLFSSL_API int wc_Ed448PublicKeyToDer(
771
+ ed448_key* key, byte* output, word32 inLen, int withAlg);
772
+ #endif
773
+ #endif /* HAVE_ED448 */
774
+
775
+ #ifdef HAVE_CURVE448
776
+ #ifdef HAVE_CURVE448_KEY_IMPORT
777
+ WOLFSSL_API int wc_Curve448PrivateKeyDecode(const byte* input, word32* inOutIdx,
778
+ curve448_key* key, word32 inSz);
779
+ WOLFSSL_API int wc_Curve448PublicKeyDecode(const byte* input, word32* inOutIdx,
780
+ curve448_key* key, word32 inSz);
781
+ #endif
782
+ #ifdef HAVE_CURVE448_KEY_EXPORT
783
+ WOLFSSL_API int wc_Curve448PrivateKeyToDer(curve448_key* key, byte* output,
784
+ word32 inLen);
785
+ WOLFSSL_API int wc_Curve448PublicKeyToDer(curve448_key* key, byte* output,
786
+ word32 inLen, int withAlg);
787
+ #endif
788
+ #endif /* HAVE_CURVE448 */
789
+
790
+
791
+ /* DER encode signature */
792
+ WOLFSSL_API word32 wc_EncodeSignature(byte* out, const byte* digest,
793
+ word32 digSz, int hashOID);
794
+ WOLFSSL_API int wc_GetCTC_HashOID(int type);
795
+
796
+ WOLFSSL_API int wc_GetPkcs8TraditionalOffset(byte* input,
797
+ word32* inOutIdx, word32 sz);
798
+ WOLFSSL_API int wc_CreatePKCS8Key(byte* out, word32* outSz,
799
+ byte* key, word32 keySz, int algoID, const byte* curveOID,
800
+ word32 oidSz);
801
+ WOLFSSL_API int wc_EncryptPKCS8Key_ex(byte* key, word32 keySz, byte* out,
802
+ word32* outSz, const char* password, int passwordSz, int vPKCS,
803
+ int pbeOid, int encAlgId, byte* salt, word32 saltSz, int itt,
804
+ int hmacOid, WC_RNG* rng, void* heap);
805
+ WOLFSSL_API int wc_EncryptPKCS8Key(byte* key, word32 keySz, byte* out, word32* outSz,
806
+ const char* password, int passwordSz, int vPKCS, int pbeOid,
807
+ int encAlgId, byte* salt, word32 saltSz, int itt, WC_RNG* rng,
808
+ void* heap);
809
+ WOLFSSL_API int wc_DecryptPKCS8Key(byte* input, word32 sz, const char* password,
810
+ int passwordSz);
811
+ WOLFSSL_API int wc_CreateEncryptedPKCS8Key(byte* key, word32 keySz, byte* out,
812
+ word32* outSz, const char* password, int passwordSz, int vPKCS,
813
+ int pbeOid, int encAlgId, byte* salt, word32 saltSz, int itt,
814
+ WC_RNG* rng, void* heap);
815
+
816
+ #ifndef NO_ASN_TIME
817
+ /* Time */
818
+ /* Returns seconds (Epoch/UTC)
819
+ * timePtr: is "time_t", which is typically "long"
820
+ * Example:
821
+ long lTime;
822
+ rc = wc_GetTime(&lTime, (word32)sizeof(lTime));
823
+ */
824
+ WOLFSSL_API int wc_GetTime(void* timePtr, word32 timeSize);
825
+
826
+ typedef time_t (*wc_time_cb)(time_t* t);
827
+ WOLFSSL_API int wc_SetTimeCb(wc_time_cb f);
828
+ WOLFSSL_API time_t wc_Time(time_t* t);
829
+ #endif
830
+
831
+ #ifdef WOLFSSL_ENCRYPTED_KEYS
832
+ WOLFSSL_API int wc_EncryptedInfoGet(EncryptedInfo* info,
833
+ const char* cipherInfo);
834
+ #endif
835
+
836
+
837
+ #ifdef WOLFSSL_CERT_PIV
838
+
839
+ typedef struct _wc_CertPIV {
840
+ const byte* cert;
841
+ word32 certSz;
842
+ const byte* certErrDet;
843
+ word32 certErrDetSz;
844
+ const byte* nonce; /* Identiv Only */
845
+ word32 nonceSz; /* Identiv Only */
846
+ const byte* signedNonce; /* Identiv Only */
847
+ word32 signedNonceSz; /* Identiv Only */
848
+
849
+ /* flags */
850
+ WC_BITFIELD compression:2;
851
+ WC_BITFIELD isX509:1;
852
+ WC_BITFIELD isIdentiv:1;
853
+ } wc_CertPIV;
854
+
855
+ WOLFSSL_API int wc_ParseCertPIV(wc_CertPIV* cert, const byte* buf, word32 totalSz);
856
+ #endif /* WOLFSSL_CERT_PIV */
857
+
858
+ /* Forward declaration needed, as DecodedCert is defined in asn.h.*/
859
+ struct DecodedCert;
860
+
861
+ WOLFSSL_API void wc_InitDecodedCert(
862
+ struct DecodedCert* cert, const byte* source, word32 inSz, void* heap);
863
+ WOLFSSL_API void wc_FreeDecodedCert(struct DecodedCert* cert);
864
+ WOLFSSL_API int wc_ParseCert(
865
+ struct DecodedCert* cert, int type, int verify, void* cm);
866
+
867
+ WOLFSSL_API int wc_GetPubKeyDerFromCert(struct DecodedCert* cert,
868
+ byte* derKey, word32* derKeySz);
869
+ WOLFSSL_API int wc_GetSubjectPubKeyInfoDerFromCert(const byte* certDer,
870
+ word32 certDerSz,
871
+ byte* pubKeyDer,
872
+ word32* pubKeyDerSz);
873
+
874
+ #ifdef WOLFSSL_FPKI
875
+ WOLFSSL_API int wc_GetUUIDFromCert(struct DecodedCert* cert,
876
+ byte* uuid, word32* uuidSz);
877
+ WOLFSSL_API int wc_GetFASCNFromCert(struct DecodedCert* cert,
878
+ byte* fascn, word32* fascnSz);
879
+ #endif /* WOLFSSL_FPKI */
880
+
881
+ #ifdef WOLFSSL_DUAL_ALG_CERTS
882
+ WOLFSSL_API int wc_GeneratePreTBS(struct DecodedCert* cert, byte *der,
883
+ int derSz);
884
+ #endif
885
+
886
+ #if defined(WOLFSSL_ACERT)
887
+ /* Forward declaration needed, as DecodedAcert is defined in asn.h.*/
888
+ struct DecodedAcert;
889
+ WOLFSSL_API void wc_InitDecodedAcert(struct DecodedAcert* acert,
890
+ const byte* source, word32 inSz,
891
+ void* heap);
892
+ WOLFSSL_API void wc_FreeDecodedAcert(struct DecodedAcert * acert);
893
+ WOLFSSL_API int wc_ParseX509Acert(struct DecodedAcert* acert, int verify);
894
+ WOLFSSL_API int wc_VerifyX509Acert(const byte* acert, word32 acertSz,
895
+ const byte* pubKey, word32 pubKeySz,
896
+ int pubKeyOID, void * heap);
897
+ #endif /* WOLFSSL_ACERT */
898
+
899
+ #if !defined(XFPRINTF) || defined(NO_FILESYSTEM) || \
900
+ defined(NO_STDIO_FILESYSTEM) && defined(WOLFSSL_ASN_PRINT)
901
+ #undef WOLFSSL_ASN_PRINT
902
+ #endif
903
+
904
+ #ifdef WOLFSSL_ASN_PRINT
905
+
906
+ enum Asn1PrintOpt {
907
+ /* Offset into DER/BER data to start decoding from. */
908
+ ASN1_PRINT_OPT_OFFSET,
909
+ /* Length of DER/BER encoding to parse. */
910
+ ASN1_PRINT_OPT_LENGTH,
911
+ /* Number of spaces to indent for each change in depth. */
912
+ ASN1_PRINT_OPT_INDENT,
913
+ /* Draw branches instead of indenting. */
914
+ ASN1_PRINT_OPT_DRAW_BRANCH,
915
+ /* Show raw data of primitive types as octets. */
916
+ ASN1_PRINT_OPT_SHOW_DATA,
917
+ /* Show header data as octets. */
918
+ ASN1_PRINT_OPT_SHOW_HEADER_DATA,
919
+ /* Show the wolfSSL OID value for OBJECT_ID. */
920
+ ASN1_PRINT_OPT_SHOW_OID,
921
+ /* Don't show text representations of primitive types. */
922
+ ASN1_PRINT_OPT_SHOW_NO_TEXT,
923
+ /* Don't show dump text representations of primitive types. */
924
+ ASN1_PRINT_OPT_SHOW_NO_DUMP_TEXT
925
+ };
926
+
927
+ /* ASN.1 print options. */
928
+ typedef struct Asn1PrintOptions {
929
+ /* Offset into DER/BER encoding to start parsing from. */
930
+ word32 offset;
931
+ /* Length of DER/BER encoding to parse. */
932
+ word32 length;
933
+ /* Number of spaces to indent for each change in depth. */
934
+ word8 indent;
935
+ /* Draw branches instead of indenting. */
936
+ WC_BITFIELD draw_branch:1;
937
+ /* Show raw data of primitive types as octets. */
938
+ WC_BITFIELD show_data:1;
939
+ /* Show header data as octets. */
940
+ WC_BITFIELD show_header_data:1;
941
+ /* Show the wolfSSL OID value for OBJECT_ID. */
942
+ WC_BITFIELD show_oid:1;
943
+ /* Don't show text representations of primitive types. */
944
+ WC_BITFIELD show_no_text:1;
945
+ /* Don't show dump text representations of primitive types. */
946
+ WC_BITFIELD show_no_dump_text:1;
947
+ } Asn1PrintOptions;
948
+
949
+ /* ASN.1 item data. */
950
+ typedef struct Asn1Item {
951
+ /* Tag of current item. */
952
+ unsigned char tag;
953
+ /* Whether current item is constructed. */
954
+ unsigned char cons;
955
+ /* Length of data in current ASN.1 item. */
956
+ word32 len;
957
+ /* Index into data of ASN.1 item data. */
958
+ word32 data_idx;
959
+ } Asn1Item;
960
+
961
+ /* Maximum supported depth of ASN.1 items. */
962
+ #define ASN_MAX_DEPTH 16
963
+
964
+ typedef const char* (*Asn1OidToNameCb)(unsigned char* oid, word32 len);
965
+
966
+ /* ASN.1 parsing state. */
967
+ typedef struct Asn1 {
968
+ /* ASN.1 item data. */
969
+ Asn1Item item;
970
+ /* Current depth of ASN.1 item. */
971
+ unsigned char depth;
972
+ /* End indices of ASN.1 items at different depths. */
973
+ word32 end_idx[ASN_MAX_DEPTH];
974
+
975
+ /* Buffer to print. */
976
+ unsigned char* data;
977
+ /* Maximum number of bytes to process. */
978
+ word32 max;
979
+ /* Starting offset of current ASN.1 item. */
980
+ word32 offset;
981
+ /* Current offset into ASN.1 data. */
982
+ word32 curr;
983
+ /* Next part of ASN.1 item expected. */
984
+ unsigned char part;
985
+
986
+ /* File pointer to print to. */
987
+ XFILE file;
988
+
989
+ /* Callback to get a name for an hex OID. */
990
+ Asn1OidToNameCb nameCb;
991
+ } Asn1;
992
+
993
+ WOLFSSL_API int wc_Asn1PrintOptions_Init(Asn1PrintOptions* opts);
994
+ WOLFSSL_API int wc_Asn1PrintOptions_Set(Asn1PrintOptions* opts,
995
+ enum Asn1PrintOpt opt, word32 val);
996
+
997
+ WOLFSSL_API int wc_Asn1_Init(Asn1* asn1);
998
+ WOLFSSL_API int wc_Asn1_SetFile(Asn1* asn1, XFILE file);
999
+ WOLFSSL_API int wc_Asn1_SetOidToNameCb(Asn1* asn1, Asn1OidToNameCb nameCb);
1000
+ WOLFSSL_API int wc_Asn1_PrintAll(Asn1* asn1, Asn1PrintOptions* opts,
1001
+ unsigned char* data, word32 len);
1002
+
1003
+ #endif /* WOLFSSL_ASN_PRINT */
1004
+
1005
+ #ifdef __cplusplus
1006
+ } /* extern "C" */
1007
+ #endif
1008
+
1009
+ #endif /* WOLF_CRYPT_ASN_PUBLIC_H */