@annadata/capacitor-mqtt-quic 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AnnadataCapacitorMqttQuic.podspec +2 -1
- package/README.md +121 -12
- package/android/NGTCP2_BUILD_INSTRUCTIONS.md +65 -44
- package/android/build-openssl.sh +1 -1
- package/android/install/nghttp3-android/arm64-v8a/include/nghttp3/nghttp3.h +3295 -0
- package/android/install/nghttp3-android/arm64-v8a/include/nghttp3/version.h +46 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3Config.cmake +3 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3ConfigVersion.cmake +65 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3Targets-release.cmake +29 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3Targets.cmake +114 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/libnghttp3.a +0 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/libnghttp3.so +0 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/pkgconfig/libnghttp3.pc +34 -0
- package/android/install/nghttp3-android/arm64-v8a/share/doc/nghttp3/README.rst +75 -0
- package/android/install/nghttp3-android/armeabi-v7a/include/nghttp3/nghttp3.h +3295 -0
- package/android/install/nghttp3-android/armeabi-v7a/include/nghttp3/version.h +46 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3Config.cmake +3 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3ConfigVersion.cmake +65 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3Targets-release.cmake +29 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3Targets.cmake +114 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/libnghttp3.a +0 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/libnghttp3.so +0 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/pkgconfig/libnghttp3.pc +34 -0
- package/android/install/nghttp3-android/armeabi-v7a/share/doc/nghttp3/README.rst +75 -0
- package/android/install/nghttp3-android/x86_64/include/nghttp3/nghttp3.h +3295 -0
- package/android/install/nghttp3-android/x86_64/include/nghttp3/version.h +46 -0
- package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3Config.cmake +3 -0
- package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3ConfigVersion.cmake +65 -0
- package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3Targets-release.cmake +29 -0
- package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3Targets.cmake +114 -0
- package/android/install/nghttp3-android/x86_64/lib/libnghttp3.a +0 -0
- package/android/install/nghttp3-android/x86_64/lib/libnghttp3.so +0 -0
- package/android/install/nghttp3-android/x86_64/lib/pkgconfig/libnghttp3.pc +34 -0
- package/android/install/nghttp3-android/x86_64/share/doc/nghttp3/README.rst +75 -0
- package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/ngtcp2.h +6254 -0
- package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/ngtcp2_crypto.h +1037 -0
- package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/ngtcp2_crypto_wolfssl.h +106 -0
- package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/version.h +51 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2Config.cmake +6 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2ConfigVersion.cmake +65 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2Targets-release.cmake +29 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2Targets.cmake +114 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2.a +0 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2.so +0 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2_crypto_wolfssl.a +0 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2_crypto_wolfssl.so +0 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/pkgconfig/libngtcp2.pc +33 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/pkgconfig/libngtcp2_crypto_wolfssl.pc +34 -0
- package/android/install/ngtcp2-android/arm64-v8a/share/doc/ngtcp2/README.rst +385 -0
- package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/ngtcp2.h +6254 -0
- package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/ngtcp2_crypto.h +1037 -0
- package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/ngtcp2_crypto_wolfssl.h +106 -0
- package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/version.h +51 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2Config.cmake +6 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2ConfigVersion.cmake +65 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2Targets-release.cmake +29 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2Targets.cmake +114 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2.a +0 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2.so +0 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2_crypto_wolfssl.a +0 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2_crypto_wolfssl.so +0 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/pkgconfig/libngtcp2.pc +33 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/pkgconfig/libngtcp2_crypto_wolfssl.pc +34 -0
- package/android/install/ngtcp2-android/armeabi-v7a/share/doc/ngtcp2/README.rst +385 -0
- package/android/install/ngtcp2-android/x86_64/include/ngtcp2/ngtcp2.h +6254 -0
- package/android/install/ngtcp2-android/x86_64/include/ngtcp2/ngtcp2_crypto.h +1037 -0
- package/android/install/ngtcp2-android/x86_64/include/ngtcp2/ngtcp2_crypto_wolfssl.h +106 -0
- package/android/install/ngtcp2-android/x86_64/include/ngtcp2/version.h +51 -0
- package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2Config.cmake +6 -0
- package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2ConfigVersion.cmake +65 -0
- package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2Targets-release.cmake +29 -0
- package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2Targets.cmake +114 -0
- package/android/install/ngtcp2-android/x86_64/lib/libngtcp2.a +0 -0
- package/android/install/ngtcp2-android/x86_64/lib/libngtcp2.so +0 -0
- package/android/install/ngtcp2-android/x86_64/lib/libngtcp2_crypto_wolfssl.a +0 -0
- package/android/install/ngtcp2-android/x86_64/lib/libngtcp2_crypto_wolfssl.so +0 -0
- package/android/install/ngtcp2-android/x86_64/lib/pkgconfig/libngtcp2.pc +33 -0
- package/android/install/ngtcp2-android/x86_64/lib/pkgconfig/libngtcp2_crypto_wolfssl.pc +34 -0
- package/android/install/ngtcp2-android/x86_64/share/doc/ngtcp2/README.rst +385 -0
- package/android/install/wolfssl-android/arm64-v8a/bin/wolfssl-config +117 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/callbacks.h +93 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/certs_test.h +7073 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/certs_test_sm.h +2913 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/crl.h +58 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/error-ssl.h +280 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/ocsp.h +191 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/aes.h +117 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/asn1.h +315 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/asn1t.h +30 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/bio.h +237 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/bn.h +332 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/buffer.h +57 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/camellia.h +27 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/cmac.h +66 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/cms.h +26 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/compat_types.h +70 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/conf.h +117 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/crypto.h +171 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/des.h +124 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/dh.h +144 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/dsa.h +164 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ec.h +525 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ec25519.h +46 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ec448.h +46 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ecdh.h +49 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ecdsa.h +87 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ed25519.h +49 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ed448.h +49 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/engine.h +9 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/err.h +84 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/evp.h +1540 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/fips_rand.h +125 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/hmac.h +98 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/kdf.h +45 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/lhash.h +64 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/md4.h +66 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/md5.h +108 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/modes.h +45 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/obj_mac.h +92 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/objects.h +86 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ocsp.h +108 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/opensslconf.h +8 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/opensslv.h +78 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ossl_typ.h +32 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/pem.h +301 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/pkcs12.h +57 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/pkcs7.h +110 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/rand.h +38 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/rc4.h +64 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ripemd.h +58 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/rsa.h +291 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/safestack.h +40 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/sha.h +331 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/sha3.h +158 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/srp.h +33 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ssl.h +1923 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ssl23.h +1 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/stack.h +61 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/tls1.h +64 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/txt_db.h +60 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ui.h +2 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/x509.h +227 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/x509_vfy.h +50 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/x509v3.h +237 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/options.h +273 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/quic.h +310 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/sniffer.h +359 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/sniffer_error.h +151 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/ssl.h +6300 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/test.h +4989 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/version.h +40 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/aes.h +1074 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/arc4.h +69 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ascon.h +109 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/asn.h +2855 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/asn_public.h +1009 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/blake2-impl.h +155 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/blake2-int.h +174 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/blake2.h +108 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/camellia.h +116 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/chacha.h +133 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/chacha20_poly1305.h +157 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/cmac.h +168 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/coding.h +107 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/compress.h +60 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/cpuid.h +153 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/cryptocb.h +770 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/curve25519.h +225 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/curve448.h +151 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/des3.h +167 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/dh.h +210 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/dilithium.h +1051 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/dsa.h +121 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ecc.h +1074 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/eccsi.h +176 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ed25519.h +239 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ed448.h +214 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/error-crypt.h +368 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ext_lms.h +62 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ext_mlkem.h +74 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ext_xmss.h +53 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/falcon.h +180 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/fe_448.h +122 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/fe_operations.h +189 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/fips_test.h +131 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ge_448.h +84 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ge_operations.h +134 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/hash.h +296 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/hmac.h +231 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/hpke.h +145 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/integer.h +449 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/kdf.h +199 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/lms.h +202 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/logging.h +588 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/md2.h +83 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/md4.h +77 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/md5.h +141 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mem_track.h +968 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/memory.h +545 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/misc.h +214 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mlkem.h +377 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mpi_class.h +1021 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mpi_superclass.h +96 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/oid_sum.h +1907 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/pkcs12.h +79 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/pkcs7.h +578 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/poly1305.h +207 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/pwdbased.h +81 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/random.h +300 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/rc2.h +68 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ripemd.h +67 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/rsa.h +494 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sakke.h +228 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/settings.h +4762 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha.h +237 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha256.h +360 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha3.h +274 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha512.h +372 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/signature.h +87 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/siphash.h +101 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sm2.h +27 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sm3.h +27 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sm4.h +27 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sp_int.h +1396 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sphincs.h +167 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/srp.h +313 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/tfm.h +941 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/types.h +2383 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/visibility.h +97 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_encrypt.h +126 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_lms.h +506 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_mlkem.h +370 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_port.h +1764 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_xmss.h +285 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wolfevent.h +120 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wolfmath.h +175 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/xmss.h +203 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfio.h +1035 -0
- package/android/install/wolfssl-android/arm64-v8a/lib/libwolfssl.a +0 -0
- package/android/install/wolfssl-android/arm64-v8a/lib/libwolfssl.la +41 -0
- package/android/install/wolfssl-android/arm64-v8a/lib/pkgconfig/wolfssl.pc +11 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/QUIC.md +117 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/README.txt +8 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/async_client.c +245 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/async_server.c +331 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/client.c +4885 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/echoclient.c +341 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/echoserver.c +498 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-client-dtls.c +135 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-client.c +78 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-server-dtls.c +134 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-server.c +83 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/server.c +4124 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/tls_bench.c +2357 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/taoCert.txt +176 -0
- package/android/install/wolfssl-android/armeabi-v7a/bin/wolfssl-config +117 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/callbacks.h +93 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/certs_test.h +7073 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/certs_test_sm.h +2913 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/crl.h +58 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/error-ssl.h +280 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/ocsp.h +191 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/aes.h +117 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/asn1.h +315 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/asn1t.h +30 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/bio.h +237 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/bn.h +332 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/buffer.h +57 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/camellia.h +27 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/cmac.h +66 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/cms.h +26 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/compat_types.h +70 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/conf.h +117 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/crypto.h +171 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/des.h +124 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/dh.h +144 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/dsa.h +164 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ec.h +525 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ec25519.h +46 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ec448.h +46 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ecdh.h +49 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ecdsa.h +87 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ed25519.h +49 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ed448.h +49 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/engine.h +9 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/err.h +84 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/evp.h +1540 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/fips_rand.h +125 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/hmac.h +98 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/kdf.h +45 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/lhash.h +64 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/md4.h +66 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/md5.h +108 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/modes.h +45 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/obj_mac.h +92 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/objects.h +86 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ocsp.h +108 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/opensslconf.h +8 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/opensslv.h +78 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ossl_typ.h +32 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/pem.h +301 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/pkcs12.h +57 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/pkcs7.h +110 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/rand.h +38 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/rc4.h +64 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ripemd.h +58 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/rsa.h +291 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/safestack.h +40 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/sha.h +331 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/sha3.h +158 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/srp.h +33 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ssl.h +1923 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ssl23.h +1 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/stack.h +61 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/tls1.h +64 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/txt_db.h +60 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ui.h +2 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/x509.h +227 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/x509_vfy.h +50 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/x509v3.h +237 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/options.h +261 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/quic.h +310 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/sniffer.h +359 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/sniffer_error.h +151 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/ssl.h +6300 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/test.h +4989 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/version.h +40 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/aes.h +1074 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/arc4.h +69 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ascon.h +109 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/asn.h +2855 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/asn_public.h +1009 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/blake2-impl.h +155 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/blake2-int.h +174 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/blake2.h +108 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/camellia.h +116 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/chacha.h +133 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/chacha20_poly1305.h +157 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/cmac.h +168 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/coding.h +107 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/compress.h +60 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/cpuid.h +153 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/cryptocb.h +770 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/curve25519.h +225 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/curve448.h +151 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/des3.h +167 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/dh.h +210 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/dilithium.h +1051 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/dsa.h +121 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ecc.h +1074 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/eccsi.h +176 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ed25519.h +239 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ed448.h +214 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/error-crypt.h +368 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ext_lms.h +62 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ext_mlkem.h +74 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ext_xmss.h +53 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/falcon.h +180 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/fe_448.h +122 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/fe_operations.h +189 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/fips_test.h +131 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ge_448.h +84 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ge_operations.h +134 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/hash.h +296 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/hmac.h +231 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/hpke.h +145 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/integer.h +449 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/kdf.h +199 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/lms.h +202 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/logging.h +588 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/md2.h +83 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/md4.h +77 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/md5.h +141 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mem_track.h +968 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/memory.h +545 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/misc.h +214 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mlkem.h +377 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mpi_class.h +1021 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mpi_superclass.h +96 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/oid_sum.h +1907 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/pkcs12.h +79 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/pkcs7.h +578 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/poly1305.h +207 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/pwdbased.h +81 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/random.h +300 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/rc2.h +68 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ripemd.h +67 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/rsa.h +494 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sakke.h +228 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/settings.h +4762 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha.h +237 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha256.h +360 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha3.h +274 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha512.h +372 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/signature.h +87 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/siphash.h +101 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sm2.h +27 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sm3.h +27 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sm4.h +27 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sp_int.h +1396 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sphincs.h +167 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/srp.h +313 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/tfm.h +941 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/types.h +2383 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/visibility.h +97 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_encrypt.h +126 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_lms.h +506 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_mlkem.h +370 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_port.h +1764 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_xmss.h +285 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wolfevent.h +120 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wolfmath.h +175 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/xmss.h +203 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfio.h +1035 -0
- package/android/install/wolfssl-android/armeabi-v7a/lib/libwolfssl.a +0 -0
- package/android/install/wolfssl-android/armeabi-v7a/lib/libwolfssl.la +41 -0
- package/android/install/wolfssl-android/armeabi-v7a/lib/pkgconfig/wolfssl.pc +11 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/QUIC.md +117 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/README.txt +8 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/async_client.c +245 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/async_server.c +331 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/client.c +4885 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/echoclient.c +341 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/echoserver.c +498 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-client-dtls.c +135 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-client.c +78 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-server-dtls.c +134 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-server.c +83 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/server.c +4124 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/tls_bench.c +2357 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/taoCert.txt +176 -0
- package/android/install/wolfssl-android/x86_64/bin/wolfssl-config +117 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/callbacks.h +93 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/certs_test.h +7073 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/certs_test_sm.h +2913 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/crl.h +58 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/error-ssl.h +280 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/ocsp.h +191 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/aes.h +117 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/asn1.h +315 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/asn1t.h +30 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/bio.h +237 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/bn.h +332 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/buffer.h +57 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/camellia.h +27 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/cmac.h +66 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/cms.h +26 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/compat_types.h +70 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/conf.h +117 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/crypto.h +171 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/des.h +124 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/dh.h +144 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/dsa.h +164 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ec.h +525 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ec25519.h +46 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ec448.h +46 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ecdh.h +49 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ecdsa.h +87 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ed25519.h +49 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ed448.h +49 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/engine.h +9 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/err.h +84 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/evp.h +1540 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/fips_rand.h +125 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/hmac.h +98 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/kdf.h +45 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/lhash.h +64 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/md4.h +66 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/md5.h +108 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/modes.h +45 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/obj_mac.h +92 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/objects.h +86 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ocsp.h +108 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/opensslconf.h +8 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/opensslv.h +78 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ossl_typ.h +32 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/pem.h +301 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/pkcs12.h +57 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/pkcs7.h +110 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/rand.h +38 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/rc4.h +64 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ripemd.h +58 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/rsa.h +291 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/safestack.h +40 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/sha.h +331 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/sha3.h +158 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/srp.h +33 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ssl.h +1923 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ssl23.h +1 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/stack.h +61 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/tls1.h +64 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/txt_db.h +60 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ui.h +2 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/x509.h +227 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/x509_vfy.h +50 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/x509v3.h +237 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/options.h +273 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/quic.h +310 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/sniffer.h +359 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/sniffer_error.h +151 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/ssl.h +6300 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/test.h +4989 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/version.h +40 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/aes.h +1074 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/arc4.h +69 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ascon.h +109 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/asn.h +2855 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/asn_public.h +1009 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/blake2-impl.h +155 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/blake2-int.h +174 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/blake2.h +108 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/camellia.h +116 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/chacha.h +133 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/chacha20_poly1305.h +157 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/cmac.h +168 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/coding.h +107 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/compress.h +60 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/cpuid.h +153 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/cryptocb.h +770 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/curve25519.h +225 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/curve448.h +151 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/des3.h +167 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/dh.h +210 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/dilithium.h +1051 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/dsa.h +121 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ecc.h +1074 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/eccsi.h +176 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ed25519.h +239 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ed448.h +214 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/error-crypt.h +368 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ext_lms.h +62 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ext_mlkem.h +74 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ext_xmss.h +53 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/falcon.h +180 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/fe_448.h +122 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/fe_operations.h +189 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/fips_test.h +131 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ge_448.h +84 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ge_operations.h +134 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/hash.h +296 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/hmac.h +231 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/hpke.h +145 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/integer.h +449 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/kdf.h +199 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/lms.h +202 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/logging.h +588 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/md2.h +83 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/md4.h +77 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/md5.h +141 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mem_track.h +968 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/memory.h +545 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/misc.h +214 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mlkem.h +377 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mpi_class.h +1021 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mpi_superclass.h +96 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/oid_sum.h +1907 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/pkcs12.h +79 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/pkcs7.h +578 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/poly1305.h +207 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/pwdbased.h +81 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/random.h +300 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/rc2.h +68 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ripemd.h +67 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/rsa.h +494 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sakke.h +228 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/settings.h +4762 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha.h +237 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha256.h +360 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha3.h +274 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha512.h +372 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/signature.h +87 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/siphash.h +101 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sm2.h +27 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sm3.h +27 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sm4.h +27 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sp_int.h +1396 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sphincs.h +167 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/srp.h +313 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/tfm.h +941 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/types.h +2383 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/visibility.h +97 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_encrypt.h +126 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_lms.h +506 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_mlkem.h +370 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_port.h +1764 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_xmss.h +285 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wolfevent.h +120 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wolfmath.h +175 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/xmss.h +203 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfio.h +1035 -0
- package/android/install/wolfssl-android/x86_64/lib/libwolfssl.a +0 -0
- package/android/install/wolfssl-android/x86_64/lib/libwolfssl.la +41 -0
- package/android/install/wolfssl-android/x86_64/lib/pkgconfig/wolfssl.pc +11 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/QUIC.md +117 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/README.txt +8 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/async_client.c +245 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/async_server.c +331 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/client.c +4885 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/echoclient.c +341 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/echoserver.c +498 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-client-dtls.c +135 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-client.c +78 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-server-dtls.c +134 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-server.c +83 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/server.c +4124 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/tls_bench.c +2357 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/taoCert.txt +176 -0
- package/android/src/main/cpp/CMakeLists.txt +19 -27
- package/android/src/main/cpp/ngtcp2_jni.cpp +30 -36
- package/android/src/main/kotlin/ai/annadata/mqttquic/MqttQuicPlugin.kt +15 -0
- package/android/src/main/kotlin/ai/annadata/mqttquic/client/MQTTClient.kt +6 -2
- package/build-native.sh +397 -0
- package/deps-versions.sh +25 -0
- package/dist/esm/definitions.d.ts +20 -0
- package/dist/esm/definitions.d.ts.map +1 -1
- package/dist/esm/web.d.ts +26 -3
- package/dist/esm/web.d.ts.map +1 -1
- package/dist/esm/web.js +230 -10
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +11363 -13
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +11364 -14
- package/dist/plugin.js.map +1 -1
- package/docs/ARCHITECTURAL_ANALYSIS.md +710 -0
- package/docs/CAPACITOR_MQTT_QUIC_PRODUCTION_PLUGIN.md +190 -0
- package/docs/CAPACITOR_VERSION_SUPPORT.md +65 -0
- package/docs/IMPLEMENTATION_SUMMARY.md +246 -0
- package/docs/MQTT5_CLIENT_COMPLIANCE.md +48 -0
- package/docs/MQTT5_IMPLEMENTATION_COMPLETE.md +178 -0
- package/docs/MQTT_VERSION_ANALYSIS.md +233 -0
- package/docs/NGTCP2_IMPLEMENTATION_STATUS.md +214 -0
- package/docs/NGTCP2_INTEGRATION_PLAN.md +597 -0
- package/docs/P0_P1_CHANGELOG.md +79 -0
- package/docs/PRODUCTION_PUBLISH_STEPS.md +161 -0
- package/docs/PROJECT_OVERVIEW.md +193 -0
- package/ios/.swiftpm/xcode/xcuserdata/annadata.xcuserdatad/xcschemes/xcschememanagement.plist +1 -1
- package/ios/NGTCP2_BUILD_INSTRUCTIONS.md +12 -0
- package/ios/Sources/MqttQuicPlugin/MqttQuicPlugin.swift +6 -0
- package/ios/Sources/MqttQuicPlugin/QUIC/NGTCP2Bridge.mm +6 -0
- package/ios/build-openssl.sh +1 -1
- package/ios/libs/MqttQuicLibs.xcframework/Info.plist +44 -0
- package/ios/libs/MqttQuicLibs.xcframework/ios-arm64/libmqttquic_native_device.a +0 -0
- package/ios/libs/MqttQuicLibs.xcframework/ios-arm64_x86_64-simulator/libmqttquic_native_simulator.a +0 -0
- package/ios/libs/libnghttp3.a +0 -0
- package/ios/libs/libngtcp2.a +0 -0
- package/ios/libs/libngtcp2_crypto_wolfssl.a +0 -0
- package/ios/libs/libwolfssl.a +0 -0
- package/ios/libs-simulator/libnghttp3.a +0 -0
- package/ios/libs-simulator/libngtcp2.a +0 -0
- package/ios/libs-simulator/libngtcp2_crypto_wolfssl.a +0 -0
- package/ios/libs-simulator/libwolfssl.a +0 -0
- package/ios/libs-simulator-x86_64/libnghttp3.a +0 -0
- package/ios/libs-simulator-x86_64/libngtcp2.a +0 -0
- package/ios/libs-simulator-x86_64/libngtcp2_crypto_wolfssl.a +0 -0
- package/ios/libs-simulator-x86_64/libwolfssl.a +0 -0
- package/package.json +22 -9
|
@@ -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 */
|