visaljs 0.0.1 → 0.0.3
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/README.md +17 -1
- package/cli.js +565 -75
- package/node/include/js_node.h +28 -5
- package/node/include/js_uv.h +36 -0
- package/node/prelude/crypto.js +7 -10
- package/node/prelude/dns.js +99 -0
- package/node/prelude/dns_promises.js +10 -0
- package/node/prelude/http.js +1039 -195
- package/node/prelude/internal/crypto/asym.js +39 -12
- package/node/prelude/internal/crypto/dh_groups.js +12 -0
- package/node/prelude/internal/crypto/diffiehellman.js +354 -0
- package/node/prelude/internal/crypto/hash.js +1 -1
- package/node/prelude/internal/crypto/key_type.js +3 -0
- package/node/prelude/internal/crypto/keys.js +39 -9
- package/node/prelude/internal/http_agent.js +249 -0
- package/node/prelude/internal/net.js +33 -0
- package/node/prelude/internal/socketaddress.js +249 -0
- package/node/prelude/internal/tls/common.js +306 -0
- package/node/prelude/internal/tls/wrap.js +1217 -0
- package/node/prelude/internal/tls/x509.js +394 -0
- package/node/prelude/net.js +1083 -50
- package/node/prelude/stream.js +6 -0
- package/node/prelude/tls.js +141 -0
- package/node/prelude/util.js +5 -2
- package/node/prelude/util_types.js +85 -0
- package/node/src/host_http.c +268 -270
- package/node/src/host_loop.c +84 -0
- package/node/src/host_net.c +495 -0
- package/node/src/host_sys.c +16 -0
- package/package.json +1 -1
- package/runtime/include/js_builtins.h +16 -0
- package/runtime/include/js_console.h +2 -0
- package/runtime/include/js_core.def +23 -0
- package/runtime/include/js_crypto.h +23 -0
- package/runtime/include/js_generator.h +2 -3
- package/runtime/include/js_promise.h +0 -2
- package/runtime/src/async_iter.c +4 -1
- package/runtime/src/boringssl_support.cc +34 -0
- package/runtime/src/builtin_table.c +8 -0
- package/runtime/src/components.c +10 -0
- package/runtime/src/console.c +6 -18
- package/runtime/src/core_all.c +1 -0
- package/runtime/src/crypto_asym.c +450 -241
- package/runtime/src/crypto_bn.c +91 -0
- package/runtime/src/crypto_cipher.c +153 -75
- package/runtime/src/crypto_hash.c +68 -53
- package/runtime/src/crypto_internal.h +55 -26
- package/runtime/src/crypto_pkey.c +198 -61
- package/runtime/src/crypto_subtle.c +42 -16
- package/runtime/src/crypto_tls.c +678 -0
- package/runtime/src/generator.c +8 -1
- package/runtime/src/global.c +2 -4
- package/runtime/src/internal.h +0 -1
- package/runtime/src/jobs.c +2 -1
- package/runtime/src/promise.c +4 -1
- package/runtime/src/tls_roots.gen.h +3215 -0
- package/runtime/src/util_types.c +52 -0
- package/runtime/src/weak.c +2 -1
- package/runtime/third_party/boringssl/LICENSE +238 -0
- package/runtime/third_party/boringssl/README.md +46 -0
- package/runtime/third_party/boringssl/VERSION +1 -0
- package/runtime/third_party/boringssl/crypto/aes/aes.cc +44 -0
- package/runtime/third_party/boringssl/crypto/armv8_feature_parsing.h +67 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_bitstr.cc +297 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_bool.cc +50 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_d2i_fp.cc +47 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_dup.cc +42 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_gentm.cc +130 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_i2d_fp.cc +44 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_int.cc +467 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_mbstr.cc +242 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_object.cc +191 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_octet.cc +32 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_strex.cc +411 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_strnid.cc +208 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_time.cc +248 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_type.cc +467 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_utctm.cc +128 -0
- package/runtime/third_party/boringssl/crypto/asn1/asn1_lib.cc +453 -0
- package/runtime/third_party/boringssl/crypto/asn1/asn1_par.cc +61 -0
- package/runtime/third_party/boringssl/crypto/asn1/asn_pack.cc +56 -0
- package/runtime/third_party/boringssl/crypto/asn1/f_int.cc +63 -0
- package/runtime/third_party/boringssl/crypto/asn1/f_string.cc +52 -0
- package/runtime/third_party/boringssl/crypto/asn1/internal.h +430 -0
- package/runtime/third_party/boringssl/crypto/asn1/posix_time.cc +244 -0
- package/runtime/third_party/boringssl/crypto/asn1/tasn_dec.cc +611 -0
- package/runtime/third_party/boringssl/crypto/asn1/tasn_enc.cc +348 -0
- package/runtime/third_party/boringssl/crypto/asn1/tasn_fre.cc +163 -0
- package/runtime/third_party/boringssl/crypto/asn1/tasn_new.cc +274 -0
- package/runtime/third_party/boringssl/crypto/asn1/tasn_typ.cc +92 -0
- package/runtime/third_party/boringssl/crypto/asn1/tasn_utl.cc +218 -0
- package/runtime/third_party/boringssl/crypto/base64/base64.cc +433 -0
- package/runtime/third_party/boringssl/crypto/bcm_support.h +62 -0
- package/runtime/third_party/boringssl/crypto/bio/bio.cc +715 -0
- package/runtime/third_party/boringssl/crypto/bio/bio_mem.cc +260 -0
- package/runtime/third_party/boringssl/crypto/bio/connect.cc +463 -0
- package/runtime/third_party/boringssl/crypto/bio/errno.cc +52 -0
- package/runtime/third_party/boringssl/crypto/bio/fd.cc +193 -0
- package/runtime/third_party/boringssl/crypto/bio/file.cc +283 -0
- package/runtime/third_party/boringssl/crypto/bio/hexdump.cc +154 -0
- package/runtime/third_party/boringssl/crypto/bio/internal.h +128 -0
- package/runtime/third_party/boringssl/crypto/bio/pair.cc +426 -0
- package/runtime/third_party/boringssl/crypto/bio/printf.cc +59 -0
- package/runtime/third_party/boringssl/crypto/bio/socket.cc +210 -0
- package/runtime/third_party/boringssl/crypto/bio/socket_helper.cc +179 -0
- package/runtime/third_party/boringssl/crypto/blake2/blake2.cc +173 -0
- package/runtime/third_party/boringssl/crypto/bn/bn_asn1.cc +57 -0
- package/runtime/third_party/boringssl/crypto/bn/convert.cc +409 -0
- package/runtime/third_party/boringssl/crypto/bn/div.cc +102 -0
- package/runtime/third_party/boringssl/crypto/bn/exponentiation.cc +168 -0
- package/runtime/third_party/boringssl/crypto/bn/sqrt.cc +93 -0
- package/runtime/third_party/boringssl/crypto/buf/buf.cc +119 -0
- package/runtime/third_party/boringssl/crypto/bytestring/asn1_compat.cc +54 -0
- package/runtime/third_party/boringssl/crypto/bytestring/ber.cc +268 -0
- package/runtime/third_party/boringssl/crypto/bytestring/cbb.cc +787 -0
- package/runtime/third_party/boringssl/crypto/bytestring/cbs.cc +977 -0
- package/runtime/third_party/boringssl/crypto/bytestring/internal.h +134 -0
- package/runtime/third_party/boringssl/crypto/bytestring/unicode.cc +156 -0
- package/runtime/third_party/boringssl/crypto/chacha/chacha.cc +226 -0
- package/runtime/third_party/boringssl/crypto/chacha/internal.h +103 -0
- package/runtime/third_party/boringssl/crypto/cipher/derive_key.cc +106 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_aesctrhmac.cc +294 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_aeseax.cc +351 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_aesgcmsiv.cc +918 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_chacha20poly1305.cc +404 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_des.cc +214 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_null.cc +55 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_rc2.cc +432 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_rc4.cc +56 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_tls.cc +615 -0
- package/runtime/third_party/boringssl/crypto/cipher/get_cipher.cc +85 -0
- package/runtime/third_party/boringssl/crypto/cipher/internal.h +399 -0
- package/runtime/third_party/boringssl/crypto/cipher/tls_cbc.cc +476 -0
- package/runtime/third_party/boringssl/crypto/cms/cms.cc +178 -0
- package/runtime/third_party/boringssl/crypto/conf/conf.cc +637 -0
- package/runtime/third_party/boringssl/crypto/conf/internal.h +54 -0
- package/runtime/third_party/boringssl/crypto/cpu_aarch64_apple.cc +76 -0
- package/runtime/third_party/boringssl/crypto/cpu_aarch64_fuchsia.cc +58 -0
- package/runtime/third_party/boringssl/crypto/cpu_aarch64_linux.cc +66 -0
- package/runtime/third_party/boringssl/crypto/cpu_aarch64_openbsd.cc +45 -0
- package/runtime/third_party/boringssl/crypto/cpu_aarch64_sysreg.cc +66 -0
- package/runtime/third_party/boringssl/crypto/cpu_aarch64_win.cc +52 -0
- package/runtime/third_party/boringssl/crypto/cpu_arm_freebsd.cc +55 -0
- package/runtime/third_party/boringssl/crypto/cpu_arm_linux.cc +173 -0
- package/runtime/third_party/boringssl/crypto/cpu_arm_linux.h +141 -0
- package/runtime/third_party/boringssl/crypto/cpu_intel.cc +287 -0
- package/runtime/third_party/boringssl/crypto/crypto.cc +152 -0
- package/runtime/third_party/boringssl/crypto/curve25519/asm/x25519-asm-arm.S +2124 -0
- package/runtime/third_party/boringssl/crypto/curve25519/cpace.cc +227 -0
- package/runtime/third_party/boringssl/crypto/curve25519/curve25519.cc +2436 -0
- package/runtime/third_party/boringssl/crypto/curve25519/curve25519_64_adx.cc +18 -0
- package/runtime/third_party/boringssl/crypto/curve25519/curve25519_tables.h +3264 -0
- package/runtime/third_party/boringssl/crypto/curve25519/internal.h +202 -0
- package/runtime/third_party/boringssl/crypto/curve25519/spake25519.cc +532 -0
- package/runtime/third_party/boringssl/crypto/des/des.cc +837 -0
- package/runtime/third_party/boringssl/crypto/des/internal.h +144 -0
- package/runtime/third_party/boringssl/crypto/dh/dh_asn1.cc +109 -0
- package/runtime/third_party/boringssl/crypto/dh/params.cc +411 -0
- package/runtime/third_party/boringssl/crypto/digest/digest_extra.cc +361 -0
- package/runtime/third_party/boringssl/crypto/dsa/dsa.cc +922 -0
- package/runtime/third_party/boringssl/crypto/dsa/dsa_asn1.cc +306 -0
- package/runtime/third_party/boringssl/crypto/dsa/internal.h +56 -0
- package/runtime/third_party/boringssl/crypto/ec/ec_asn1.cc +542 -0
- package/runtime/third_party/boringssl/crypto/ec/ec_derive.cc +94 -0
- package/runtime/third_party/boringssl/crypto/ec/hash_to_curve.cc +773 -0
- package/runtime/third_party/boringssl/crypto/ec/internal.h +114 -0
- package/runtime/third_party/boringssl/crypto/ecdh/ecdh.cc +75 -0
- package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.cc +337 -0
- package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_p1363.cc +54 -0
- package/runtime/third_party/boringssl/crypto/engine/engine.cc +95 -0
- package/runtime/third_party/boringssl/crypto/err/err.cc +820 -0
- package/runtime/third_party/boringssl/crypto/err/internal.h +45 -0
- package/runtime/third_party/boringssl/crypto/evp/evp.cc +454 -0
- package/runtime/third_party/boringssl/crypto/evp/evp_asn1.cc +439 -0
- package/runtime/third_party/boringssl/crypto/evp/evp_ctx.cc +541 -0
- package/runtime/third_party/boringssl/crypto/evp/evp_kem.cc +101 -0
- package/runtime/third_party/boringssl/crypto/evp/internal.h +427 -0
- package/runtime/third_party/boringssl/crypto/evp/p_dh.cc +326 -0
- package/runtime/third_party/boringssl/crypto/evp/p_dsa.cc +333 -0
- package/runtime/third_party/boringssl/crypto/evp/p_ec.cc +736 -0
- package/runtime/third_party/boringssl/crypto/evp/p_ed25519.cc +359 -0
- package/runtime/third_party/boringssl/crypto/evp/p_hkdf.cc +204 -0
- package/runtime/third_party/boringssl/crypto/evp/p_mldsa.cc +549 -0
- package/runtime/third_party/boringssl/crypto/evp/p_mlkem.cc +510 -0
- package/runtime/third_party/boringssl/crypto/evp/p_rsa.cc +1185 -0
- package/runtime/third_party/boringssl/crypto/evp/p_x25519.cc +371 -0
- package/runtime/third_party/boringssl/crypto/evp/p_xwing.cc +300 -0
- package/runtime/third_party/boringssl/crypto/evp/pbkdf.cc +105 -0
- package/runtime/third_party/boringssl/crypto/evp/print.cc +287 -0
- package/runtime/third_party/boringssl/crypto/evp/scrypt.cc +218 -0
- package/runtime/third_party/boringssl/crypto/evp/sign.cc +95 -0
- package/runtime/third_party/boringssl/crypto/ex_data.cc +140 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes.cc.inc +208 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes_nohw.cc.inc +1279 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cbc.cc.inc +132 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cfb.cc.inc +168 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ctr.cc.inc +102 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm.cc.inc +614 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm_nohw.cc.inc +304 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/internal.h +590 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.cc.inc +211 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.cc.inc +97 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ofb.cc.inc +55 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bcm.cc +288 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bcm_interface.h +953 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/add.cc.inc +276 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +573 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bn.cc.inc +377 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bytes.cc.inc +230 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/cmp.cc.inc +161 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/ctx.cc.inc +127 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div.cc.inc +738 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div_extra.cc.inc +90 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.cc.inc +743 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd.cc.inc +281 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd_extra.cc.inc +327 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/generic.cc.inc +579 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/internal.h +810 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/jacobi.cc.inc +101 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery.cc.inc +408 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.cc.inc +179 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/mul.cc.inc +347 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/prime.cc.inc +931 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/random.cc.inc +261 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.cc.inc +144 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +109 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/shift.cc.inc +317 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/sqrt.cc.inc +370 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/aead.cc.inc +619 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/cipher.cc.inc +837 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.cc.inc +1240 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aesccm.cc.inc +440 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +461 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/cmac/cmac.cc.inc +293 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/delocate.h +95 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/dh/check.cc.inc +198 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/dh/dh.cc.inc +401 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/dh/internal.h +63 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digest.cc.inc +221 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digests.cc.inc +184 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/digest/internal.h +72 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +166 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/digestsign/digestsign.cc.inc +230 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/builtin_curves.h +277 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec.cc.inc +1024 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_key.cc.inc +536 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.cc.inc +379 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/felem.cc.inc +250 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/internal.h +752 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/oct.cc.inc +174 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz-table.h +9502 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.cc.inc +740 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.h +207 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256.cc.inc +578 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256_table.h +297 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/scalar.cc.inc +184 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple.cc.inc +246 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.cc.inc +274 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/util.cc.inc +258 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/wnaf.cc.inc +224 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ecdh/ecdh.cc.inc +91 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +288 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/internal.h +57 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/internal.h +38 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/jitter.cc.inc +487 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/sha512.cc.inc +329 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/fips_shared_support.cc +28 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/hkdf/hkdf.cc.inc +114 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/hmac/hmac.cc.inc +218 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/internal.h +165 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/keccak.cc.inc +647 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/mldsa.cc.inc +3323 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/mlkem.cc.inc +1856 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/rand/android_entropy_client.cc.inc +82 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.cc.inc +401 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/rand/internal.h +99 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/rand/rand.cc.inc +486 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +167 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/padding.cc.inc +371 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa.cc.inc +996 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1000 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/self_check.cc.inc +1093 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/internal.h +112 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +330 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/sha/internal.h +205 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha1.cc.inc +404 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha256.cc.inc +315 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/address.h +144 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.cc.inc +179 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.h +48 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.cc.inc +164 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.h +58 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/params.h +178 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +690 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.cc.inc +326 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.h +71 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.cc.inc +172 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.h +40 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/tls/internal.h +33 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
- package/runtime/third_party/boringssl/crypto/fuzzer_mode.cc +30 -0
- package/runtime/third_party/boringssl/crypto/hpke/hpke.cc +1514 -0
- package/runtime/third_party/boringssl/crypto/hrss/asm/poly_rq_mul.S +8489 -0
- package/runtime/third_party/boringssl/crypto/hrss/hrss.cc +2189 -0
- package/runtime/third_party/boringssl/crypto/hrss/internal.h +64 -0
- package/runtime/third_party/boringssl/crypto/internal.h +1767 -0
- package/runtime/third_party/boringssl/crypto/lhash/internal.h +222 -0
- package/runtime/third_party/boringssl/crypto/lhash/lhash.cc +312 -0
- package/runtime/third_party/boringssl/crypto/md4/md4.cc +207 -0
- package/runtime/third_party/boringssl/crypto/md5/internal.h +34 -0
- package/runtime/third_party/boringssl/crypto/md5/md5.cc +255 -0
- package/runtime/third_party/boringssl/crypto/mem.cc +577 -0
- package/runtime/third_party/boringssl/crypto/mem_internal.h +706 -0
- package/runtime/third_party/boringssl/crypto/mldsa/mldsa.cc +296 -0
- package/runtime/third_party/boringssl/crypto/mlkem/mlkem.cc +108 -0
- package/runtime/third_party/boringssl/crypto/obj/obj.cc +494 -0
- package/runtime/third_party/boringssl/crypto/obj/obj_dat.h +11722 -0
- package/runtime/third_party/boringssl/crypto/obj/obj_xref.cc +83 -0
- package/runtime/third_party/boringssl/crypto/params_internal.h +30 -0
- package/runtime/third_party/boringssl/crypto/pem/internal.h +135 -0
- package/runtime/third_party/boringssl/crypto/pem/pem_all.cc +153 -0
- package/runtime/third_party/boringssl/crypto/pem/pem_info.cc +250 -0
- package/runtime/third_party/boringssl/crypto/pem/pem_lib.cc +707 -0
- package/runtime/third_party/boringssl/crypto/pem/pem_oth.cc +45 -0
- package/runtime/third_party/boringssl/crypto/pem/pem_pk8.cc +211 -0
- package/runtime/third_party/boringssl/crypto/pem/pem_pkey.cc +147 -0
- package/runtime/third_party/boringssl/crypto/pem/pem_x509.cc +25 -0
- package/runtime/third_party/boringssl/crypto/pem/pem_xaux.cc +25 -0
- package/runtime/third_party/boringssl/crypto/pkcs7/internal.h +67 -0
- package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7.cc +198 -0
- package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7_x509.cc +527 -0
- package/runtime/third_party/boringssl/crypto/pkcs8/internal.h +98 -0
- package/runtime/third_party/boringssl/crypto/pkcs8/p5_pbev2.cc +286 -0
- package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8.cc +473 -0
- package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8_x509.cc +1328 -0
- package/runtime/third_party/boringssl/crypto/poly1305/internal.h +54 -0
- package/runtime/third_party/boringssl/crypto/poly1305/poly1305.cc +315 -0
- package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm.cc +294 -0
- package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm_asm.S +2017 -0
- package/runtime/third_party/boringssl/crypto/poly1305/poly1305_vec.cc +853 -0
- package/runtime/third_party/boringssl/crypto/pool/internal.h +95 -0
- package/runtime/third_party/boringssl/crypto/pool/pool.cc +282 -0
- package/runtime/third_party/boringssl/crypto/rand/deterministic.cc +58 -0
- package/runtime/third_party/boringssl/crypto/rand/fork_detect.cc +222 -0
- package/runtime/third_party/boringssl/crypto/rand/forkunsafe.cc +44 -0
- package/runtime/third_party/boringssl/crypto/rand/getentropy.cc +53 -0
- package/runtime/third_party/boringssl/crypto/rand/internal.h +67 -0
- package/runtime/third_party/boringssl/crypto/rand/ios.cc +35 -0
- package/runtime/third_party/boringssl/crypto/rand/rand.cc +79 -0
- package/runtime/third_party/boringssl/crypto/rand/trusty.cc +39 -0
- package/runtime/third_party/boringssl/crypto/rand/urandom.cc +149 -0
- package/runtime/third_party/boringssl/crypto/rand/windows.cc +91 -0
- package/runtime/third_party/boringssl/crypto/rc4/rc4.cc +56 -0
- package/runtime/third_party/boringssl/crypto/refcount.cc +49 -0
- package/runtime/third_party/boringssl/crypto/rsa/internal.h +51 -0
- package/runtime/third_party/boringssl/crypto/rsa/rsa_asn1.cc +404 -0
- package/runtime/third_party/boringssl/crypto/rsa/rsa_crypt.cc +530 -0
- package/runtime/third_party/boringssl/crypto/rsa/rsa_extra.cc +30 -0
- package/runtime/third_party/boringssl/crypto/rsa/rsa_print.cc +25 -0
- package/runtime/third_party/boringssl/crypto/sha/sha1.cc +55 -0
- package/runtime/third_party/boringssl/crypto/sha/sha256.cc +89 -0
- package/runtime/third_party/boringssl/crypto/sha/sha512.cc +106 -0
- package/runtime/third_party/boringssl/crypto/siphash/siphash.cc +81 -0
- package/runtime/third_party/boringssl/crypto/slhdsa/slhdsa.cc +167 -0
- package/runtime/third_party/boringssl/crypto/spake2plus/internal.h +204 -0
- package/runtime/third_party/boringssl/crypto/spake2plus/spake2plus.cc +501 -0
- package/runtime/third_party/boringssl/crypto/stack/stack.cc +462 -0
- package/runtime/third_party/boringssl/crypto/thread.cc +68 -0
- package/runtime/third_party/boringssl/crypto/thread_none.cc +48 -0
- package/runtime/third_party/boringssl/crypto/thread_pthread.cc +138 -0
- package/runtime/third_party/boringssl/crypto/thread_win.cc +227 -0
- package/runtime/third_party/boringssl/crypto/trust_token/internal.h +405 -0
- package/runtime/third_party/boringssl/crypto/trust_token/pmbtoken.cc +1672 -0
- package/runtime/third_party/boringssl/crypto/trust_token/trust_token.cc +701 -0
- package/runtime/third_party/boringssl/crypto/trust_token/voprf.cc +1266 -0
- package/runtime/third_party/boringssl/crypto/x509/a_digest.cc +52 -0
- package/runtime/third_party/boringssl/crypto/x509/a_sign.cc +100 -0
- package/runtime/third_party/boringssl/crypto/x509/a_verify.cc +77 -0
- package/runtime/third_party/boringssl/crypto/x509/algorithm.cc +167 -0
- package/runtime/third_party/boringssl/crypto/x509/asn1_gen.cc +540 -0
- package/runtime/third_party/boringssl/crypto/x509/by_dir.cc +301 -0
- package/runtime/third_party/boringssl/crypto/x509/by_file.cc +226 -0
- package/runtime/third_party/boringssl/crypto/x509/i2d_pr.cc +37 -0
- package/runtime/third_party/boringssl/crypto/x509/internal.h +697 -0
- package/runtime/third_party/boringssl/crypto/x509/name_print.cc +187 -0
- package/runtime/third_party/boringssl/crypto/x509/policy.cc +686 -0
- package/runtime/third_party/boringssl/crypto/x509/rsa_pss.cc +187 -0
- package/runtime/third_party/boringssl/crypto/x509/t_crl.cc +106 -0
- package/runtime/third_party/boringssl/crypto/x509/t_req.cc +206 -0
- package/runtime/third_party/boringssl/crypto/x509/t_x509.cc +292 -0
- package/runtime/third_party/boringssl/crypto/x509/t_x509a.cc +81 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_akey.cc +174 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_akeya.cc +31 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_alt.cc +636 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_bcons.cc +96 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_bitst.cc +100 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_conf.cc +369 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_cpols.cc +417 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_crld.cc +471 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_enum.cc +74 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_extku.cc +97 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_genn.cc +238 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_ia5.cc +83 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_info.cc +162 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_int.cc +83 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_lib.cc +349 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_ncons.cc +798 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_ocsp.cc +92 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_pcons.cc +102 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_pmaps.cc +110 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_prn.cc +183 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_purp.cc +580 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_skey.cc +128 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_utl.cc +1311 -0
- package/runtime/third_party/boringssl/crypto/x509/x509.cc +47 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_att.cc +188 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_cmp.cc +243 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_d2.cc +66 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_def.cc +42 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_ext.cc +161 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_lu.cc +570 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_mtc.cc +598 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_obj.cc +169 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_req.cc +248 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_set.cc +166 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_trs.cc +123 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_txt.cc +147 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_v3.cc +249 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_vfy.cc +1531 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_vpm.cc +449 -0
- package/runtime/third_party/boringssl/crypto/x509/x509cset.cc +222 -0
- package/runtime/third_party/boringssl/crypto/x509/x509name.cc +377 -0
- package/runtime/third_party/boringssl/crypto/x509/x509rset.cc +55 -0
- package/runtime/third_party/boringssl/crypto/x509/x509spki.cc +91 -0
- package/runtime/third_party/boringssl/crypto/x509/x_algor.cc +223 -0
- package/runtime/third_party/boringssl/crypto/x509/x_all.cc +352 -0
- package/runtime/third_party/boringssl/crypto/x509/x_attrib.cc +61 -0
- package/runtime/third_party/boringssl/crypto/x509/x_crl.cc +325 -0
- package/runtime/third_party/boringssl/crypto/x509/x_exten.cc +42 -0
- package/runtime/third_party/boringssl/crypto/x509/x_name.cc +407 -0
- package/runtime/third_party/boringssl/crypto/x509/x_pubkey.cc +199 -0
- package/runtime/third_party/boringssl/crypto/x509/x_req.cc +80 -0
- package/runtime/third_party/boringssl/crypto/x509/x_sig.cc +51 -0
- package/runtime/third_party/boringssl/crypto/x509/x_spki.cc +44 -0
- package/runtime/third_party/boringssl/crypto/x509/x_x509.cc +495 -0
- package/runtime/third_party/boringssl/crypto/x509/x_x509a.cc +169 -0
- package/runtime/third_party/boringssl/crypto/xwing/xwing.cc +257 -0
- package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-apple.S +1326 -0
- package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-linux.S +1327 -0
- package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-apple.S +1252 -0
- package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-linux.S +1253 -0
- package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-apple.S +873 -0
- package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-linux.S +885 -0
- package/runtime/third_party/boringssl/gen/bcm/aesni-x86-apple.S +2490 -0
- package/runtime/third_party/boringssl/gen/bcm/aesni-x86-linux.S +2530 -0
- package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-apple.S +2413 -0
- package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-linux.S +2397 -0
- package/runtime/third_party/boringssl/gen/bcm/aesv8-armv7-linux.S +784 -0
- package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-apple.S +792 -0
- package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-linux.S +786 -0
- package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-win.S +798 -0
- package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-apple.S +2912 -0
- package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-linux.S +2907 -0
- package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-win.S +2915 -0
- package/runtime/third_party/boringssl/gen/bcm/armv4-mont-linux.S +932 -0
- package/runtime/third_party/boringssl/gen/bcm/armv8-mont-apple.S +1440 -0
- package/runtime/third_party/boringssl/gen/bcm/armv8-mont-linux.S +1440 -0
- package/runtime/third_party/boringssl/gen/bcm/armv8-mont-win.S +1446 -0
- package/runtime/third_party/boringssl/gen/bcm/bn-586-apple.S +530 -0
- package/runtime/third_party/boringssl/gen/bcm/bn-586-linux.S +540 -0
- package/runtime/third_party/boringssl/gen/bcm/bn-armv8-apple.S +88 -0
- package/runtime/third_party/boringssl/gen/bcm/bn-armv8-linux.S +87 -0
- package/runtime/third_party/boringssl/gen/bcm/bn-armv8-win.S +87 -0
- package/runtime/third_party/boringssl/gen/bcm/bsaes-armv7-linux.S +1520 -0
- package/runtime/third_party/boringssl/gen/bcm/co-586-apple.S +1256 -0
- package/runtime/third_party/boringssl/gen/bcm/co-586-linux.S +1264 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-armv4-linux.S +242 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-apple.S +337 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-linux.S +335 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-win.S +341 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-apple.S +288 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-linux.S +292 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-apple.S +426 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-linux.S +425 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-x86-apple.S +322 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-x86-linux.S +328 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-apple.S +1134 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-linux.S +1129 -0
- package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv7-linux.S +244 -0
- package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-apple.S +567 -0
- package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-linux.S +563 -0
- package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-win.S +571 -0
- package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-apple.S +1744 -0
- package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-linux.S +1725 -0
- package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-win.S +1765 -0
- package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-apple.S +4544 -0
- package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-linux.S +4600 -0
- package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-apple.S +310 -0
- package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-linux.S +310 -0
- package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-win.S +310 -0
- package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-apple.S +321 -0
- package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-linux.S +335 -0
- package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-apple.S +58 -0
- package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-linux.S +57 -0
- package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-apple.S +1756 -0
- package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-linux.S +1751 -0
- package/runtime/third_party/boringssl/gen/bcm/sha1-586-apple.S +3782 -0
- package/runtime/third_party/boringssl/gen/bcm/sha1-586-linux.S +3788 -0
- package/runtime/third_party/boringssl/gen/bcm/sha1-armv4-large-linux.S +1479 -0
- package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-apple.S +1219 -0
- package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-linux.S +1218 -0
- package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-win.S +1222 -0
- package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-apple.S +5454 -0
- package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-linux.S +5450 -0
- package/runtime/third_party/boringssl/gen/bcm/sha256-586-apple.S +5593 -0
- package/runtime/third_party/boringssl/gen/bcm/sha256-586-linux.S +5599 -0
- package/runtime/third_party/boringssl/gen/bcm/sha256-armv4-linux.S +2840 -0
- package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-apple.S +1195 -0
- package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-linux.S +1194 -0
- package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-win.S +1198 -0
- package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-apple.S +4173 -0
- package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-linux.S +4170 -0
- package/runtime/third_party/boringssl/gen/bcm/sha512-586-apple.S +2406 -0
- package/runtime/third_party/boringssl/gen/bcm/sha512-586-linux.S +2410 -0
- package/runtime/third_party/boringssl/gen/bcm/sha512-armv4-linux.S +1857 -0
- package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-apple.S +1598 -0
- package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-linux.S +1597 -0
- package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-win.S +1601 -0
- package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-apple.S +2979 -0
- package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-linux.S +2978 -0
- package/runtime/third_party/boringssl/gen/bcm/vpaes-armv7-linux.S +1225 -0
- package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-apple.S +1238 -0
- package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-linux.S +1220 -0
- package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-win.S +1256 -0
- package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-apple.S +680 -0
- package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-linux.S +706 -0
- package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-apple.S +1146 -0
- package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-linux.S +1133 -0
- package/runtime/third_party/boringssl/gen/bcm/x86-mont-apple.S +216 -0
- package/runtime/third_party/boringssl/gen/bcm/x86-mont-linux.S +218 -0
- package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-apple.S +1238 -0
- package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-linux.S +1237 -0
- package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-apple.S +3644 -0
- package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-linux.S +3628 -0
- package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc +325 -0
- package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_win_asm.inc +325 -0
- package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-apple.S +3113 -0
- package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-linux.S +3091 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha-armv4-linux.S +1450 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-apple.S +1969 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-linux.S +1967 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-win.S +1973 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha-x86-apple.S +957 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha-x86-linux.S +961 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-apple.S +1608 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-linux.S +1611 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-apple.S +3010 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-linux.S +3008 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-win.S +3014 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-apple.S +8903 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-linux.S +8940 -0
- package/runtime/third_party/boringssl/gen/crypto/err_data.cc +1578 -0
- package/runtime/third_party/boringssl/gen/crypto/md5-586-apple.S +684 -0
- package/runtime/third_party/boringssl/gen/crypto/md5-586-linux.S +686 -0
- package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-apple.S +690 -0
- package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-linux.S +695 -0
- package/runtime/third_party/boringssl/include/openssl/aead.h +650 -0
- package/runtime/third_party/boringssl/include/openssl/aes.h +173 -0
- package/runtime/third_party/boringssl/include/openssl/arm_arch.h +24 -0
- package/runtime/third_party/boringssl/include/openssl/asm_base.h +219 -0
- package/runtime/third_party/boringssl/include/openssl/asn1.h +2002 -0
- package/runtime/third_party/boringssl/include/openssl/asn1_mac.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/asn1t.h +584 -0
- package/runtime/third_party/boringssl/include/openssl/base.h +548 -0
- package/runtime/third_party/boringssl/include/openssl/base64.h +156 -0
- package/runtime/third_party/boringssl/include/openssl/bio.h +1061 -0
- package/runtime/third_party/boringssl/include/openssl/blake2.h +63 -0
- package/runtime/third_party/boringssl/include/openssl/blowfish.h +58 -0
- package/runtime/third_party/boringssl/include/openssl/bn.h +986 -0
- package/runtime/third_party/boringssl/include/openssl/buf.h +95 -0
- package/runtime/third_party/boringssl/include/openssl/buffer.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/bytestring.h +798 -0
- package/runtime/third_party/boringssl/include/openssl/cast.h +91 -0
- package/runtime/third_party/boringssl/include/openssl/chacha.h +47 -0
- package/runtime/third_party/boringssl/include/openssl/cipher.h +819 -0
- package/runtime/third_party/boringssl/include/openssl/cmac.h +91 -0
- package/runtime/third_party/boringssl/include/openssl/cms.h +147 -0
- package/runtime/third_party/boringssl/include/openssl/conf.h +136 -0
- package/runtime/third_party/boringssl/include/openssl/configuration.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/cpu.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/crypto.h +235 -0
- package/runtime/third_party/boringssl/include/openssl/ctrdrbg.h +116 -0
- package/runtime/third_party/boringssl/include/openssl/curve25519.h +309 -0
- package/runtime/third_party/boringssl/include/openssl/des.h +134 -0
- package/runtime/third_party/boringssl/include/openssl/dh.h +336 -0
- package/runtime/third_party/boringssl/include/openssl/digest.h +399 -0
- package/runtime/third_party/boringssl/include/openssl/dsa.h +392 -0
- package/runtime/third_party/boringssl/include/openssl/dtls1.h +16 -0
- package/runtime/third_party/boringssl/include/openssl/e_os2.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/ec.h +530 -0
- package/runtime/third_party/boringssl/include/openssl/ec_key.h +358 -0
- package/runtime/third_party/boringssl/include/openssl/ecdh.h +67 -0
- package/runtime/third_party/boringssl/include/openssl/ecdsa.h +242 -0
- package/runtime/third_party/boringssl/include/openssl/engine.h +109 -0
- package/runtime/third_party/boringssl/include/openssl/err.h +416 -0
- package/runtime/third_party/boringssl/include/openssl/evp.h +1645 -0
- package/runtime/third_party/boringssl/include/openssl/evp_errors.h +66 -0
- package/runtime/third_party/boringssl/include/openssl/ex_data.h +117 -0
- package/runtime/third_party/boringssl/include/openssl/hkdf.h +68 -0
- package/runtime/third_party/boringssl/include/openssl/hmac.h +151 -0
- package/runtime/third_party/boringssl/include/openssl/hpke.h +456 -0
- package/runtime/third_party/boringssl/include/openssl/hrss.h +108 -0
- package/runtime/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
- package/runtime/third_party/boringssl/include/openssl/kdf.h +92 -0
- package/runtime/third_party/boringssl/include/openssl/lhash.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/md4.h +73 -0
- package/runtime/third_party/boringssl/include/openssl/md5.h +67 -0
- package/runtime/third_party/boringssl/include/openssl/mem.h +215 -0
- package/runtime/third_party/boringssl/include/openssl/mldsa.h +486 -0
- package/runtime/third_party/boringssl/include/openssl/mlkem.h +222 -0
- package/runtime/third_party/boringssl/include/openssl/nid.h +5561 -0
- package/runtime/third_party/boringssl/include/openssl/obj.h +225 -0
- package/runtime/third_party/boringssl/include/openssl/obj_mac.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/objects.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/opensslconf.h +108 -0
- package/runtime/third_party/boringssl/include/openssl/opensslv.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/params.h +42 -0
- package/runtime/third_party/boringssl/include/openssl/pem.h +769 -0
- package/runtime/third_party/boringssl/include/openssl/pkcs12.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/pkcs7.h +239 -0
- package/runtime/third_party/boringssl/include/openssl/pkcs8.h +267 -0
- package/runtime/third_party/boringssl/include/openssl/poly1305.h +52 -0
- package/runtime/third_party/boringssl/include/openssl/pool.h +137 -0
- package/runtime/third_party/boringssl/include/openssl/posix_time.h +51 -0
- package/runtime/third_party/boringssl/include/openssl/prefix_symbols.h +8000 -0
- package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_S.h +633 -0
- package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_c.h +329 -0
- package/runtime/third_party/boringssl/include/openssl/rand.h +138 -0
- package/runtime/third_party/boringssl/include/openssl/rc4.h +54 -0
- package/runtime/third_party/boringssl/include/openssl/ripemd.h +71 -0
- package/runtime/third_party/boringssl/include/openssl/rsa.h +893 -0
- package/runtime/third_party/boringssl/include/openssl/safestack.h +16 -0
- package/runtime/third_party/boringssl/include/openssl/service_indicator.h +19 -0
- package/runtime/third_party/boringssl/include/openssl/sha.h +108 -0
- package/runtime/third_party/boringssl/include/openssl/sha2.h +201 -0
- package/runtime/third_party/boringssl/include/openssl/siphash.h +37 -0
- package/runtime/third_party/boringssl/include/openssl/slhdsa.h +250 -0
- package/runtime/third_party/boringssl/include/openssl/span.h +376 -0
- package/runtime/third_party/boringssl/include/openssl/srtp.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/ssl.h +7211 -0
- package/runtime/third_party/boringssl/include/openssl/ssl3.h +171 -0
- package/runtime/third_party/boringssl/include/openssl/stack.h +688 -0
- package/runtime/third_party/boringssl/include/openssl/target.h +246 -0
- package/runtime/third_party/boringssl/include/openssl/thread.h +114 -0
- package/runtime/third_party/boringssl/include/openssl/time.h +22 -0
- package/runtime/third_party/boringssl/include/openssl/tls1.h +263 -0
- package/runtime/third_party/boringssl/include/openssl/tls_prf.h +47 -0
- package/runtime/third_party/boringssl/include/openssl/trust_token.h +349 -0
- package/runtime/third_party/boringssl/include/openssl/type_check.h +37 -0
- package/runtime/third_party/boringssl/include/openssl/types.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/x509.h +5404 -0
- package/runtime/third_party/boringssl/include/openssl/x509_vfy.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/x509v3.h +63 -0
- package/runtime/third_party/boringssl/include/openssl/x509v3_errors.h +84 -0
- package/runtime/third_party/boringssl/include/openssl/xwing.h +115 -0
- package/runtime/third_party/boringssl/sources.json +696 -0
- package/runtime/third_party/boringssl/ssl/bio_ssl.cc +196 -0
- package/runtime/third_party/boringssl/ssl/d1_both.cc +1137 -0
- package/runtime/third_party/boringssl/ssl/d1_lib.cc +245 -0
- package/runtime/third_party/boringssl/ssl/d1_pkt.cc +322 -0
- package/runtime/third_party/boringssl/ssl/d1_srtp.cc +128 -0
- package/runtime/third_party/boringssl/ssl/dtls_method.cc +216 -0
- package/runtime/third_party/boringssl/ssl/dtls_record.cc +586 -0
- package/runtime/third_party/boringssl/ssl/encrypted_client_hello.cc +1110 -0
- package/runtime/third_party/boringssl/ssl/extensions.cc +5368 -0
- package/runtime/third_party/boringssl/ssl/handoff.cc +625 -0
- package/runtime/third_party/boringssl/ssl/handshake.cc +694 -0
- package/runtime/third_party/boringssl/ssl/handshake_client.cc +1958 -0
- package/runtime/third_party/boringssl/ssl/handshake_server.cc +1875 -0
- package/runtime/third_party/boringssl/ssl/internal.h +4506 -0
- package/runtime/third_party/boringssl/ssl/s3_both.cc +555 -0
- package/runtime/third_party/boringssl/ssl/s3_lib.cc +88 -0
- package/runtime/third_party/boringssl/ssl/s3_pkt.cc +396 -0
- package/runtime/third_party/boringssl/ssl/ssl_aead_ctx.cc +416 -0
- package/runtime/third_party/boringssl/ssl/ssl_asn1.cc +851 -0
- package/runtime/third_party/boringssl/ssl/ssl_buffer.cc +304 -0
- package/runtime/third_party/boringssl/ssl/ssl_cert.cc +723 -0
- package/runtime/third_party/boringssl/ssl/ssl_cipher.cc +1762 -0
- package/runtime/third_party/boringssl/ssl/ssl_credential.cc +913 -0
- package/runtime/third_party/boringssl/ssl/ssl_file.cc +375 -0
- package/runtime/third_party/boringssl/ssl/ssl_key_share.cc +445 -0
- package/runtime/third_party/boringssl/ssl/ssl_lib.cc +4132 -0
- package/runtime/third_party/boringssl/ssl/ssl_privkey.cc +973 -0
- package/runtime/third_party/boringssl/ssl/ssl_session.cc +1273 -0
- package/runtime/third_party/boringssl/ssl/ssl_stat.cc +162 -0
- package/runtime/third_party/boringssl/ssl/ssl_transcript.cc +224 -0
- package/runtime/third_party/boringssl/ssl/ssl_versions.cc +436 -0
- package/runtime/third_party/boringssl/ssl/ssl_x509.cc +1229 -0
- package/runtime/third_party/boringssl/ssl/t1_enc.cc +266 -0
- package/runtime/third_party/boringssl/ssl/tls13_both.cc +764 -0
- package/runtime/third_party/boringssl/ssl/tls13_client.cc +1325 -0
- package/runtime/third_party/boringssl/ssl/tls13_enc.cc +746 -0
- package/runtime/third_party/boringssl/ssl/tls13_server.cc +1623 -0
- package/runtime/third_party/boringssl/ssl/tls_method.cc +266 -0
- package/runtime/third_party/boringssl/ssl/tls_record.cc +524 -0
- package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_mul.S +178 -0
- package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_square.S +146 -0
- package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_mul.S +177 -0
- package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_sqr.S +166 -0
- package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_bareminimum.c.inc +47 -0
- package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_platform.c.inc +137 -0
- package/runtime/third_party/boringssl/third_party/fiat/curve25519_32.h +1571 -0
- package/runtime/third_party/boringssl/third_party/fiat/curve25519_64.h +978 -0
- package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_adx.h +700 -0
- package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_msvc.h +1281 -0
- package/runtime/third_party/boringssl/third_party/fiat/p256_32.h +4760 -0
- package/runtime/third_party/boringssl/third_party/fiat/p256_64.h +1984 -0
- package/runtime/third_party/boringssl/third_party/fiat/p256_64_msvc.h +1939 -0
- package/runtime/third_party/boringssl/third_party/fiat/p256_field.c.inc +26 -0
- package/runtime/third_party/boringssl/third_party/fiat/p256_field_32.br.c.inc +71 -0
- package/runtime/third_party/boringssl/third_party/fiat/p256_field_64.br.c.inc +84 -0
- package/runtime/third_party/boringssl/third_party/fiat/p256_point.br.c.inc +112 -0
- package/runtime/third_party/v8-ieee754/README.md +2 -1
- package/runtime/third_party/v8-ieee754/convert.py +4 -0
- package/runtime/third_party/v8-ieee754/ieee754.c +1 -1
- package/runtime/third_party/bearssl/LICENSE.txt +0 -21
- package/runtime/third_party/bearssl/README.txt +0 -136
- package/runtime/third_party/bearssl/VERSION +0 -1
- package/runtime/third_party/bearssl/inc/bearssl.h +0 -183
- package/runtime/third_party/bearssl/inc/bearssl_aead.h +0 -1059
- package/runtime/third_party/bearssl/inc/bearssl_block.h +0 -2618
- package/runtime/third_party/bearssl/inc/bearssl_ec.h +0 -967
- package/runtime/third_party/bearssl/inc/bearssl_hash.h +0 -1346
- package/runtime/third_party/bearssl/inc/bearssl_hmac.h +0 -241
- package/runtime/third_party/bearssl/inc/bearssl_kdf.h +0 -284
- package/runtime/third_party/bearssl/inc/bearssl_pem.h +0 -294
- package/runtime/third_party/bearssl/inc/bearssl_prf.h +0 -150
- package/runtime/third_party/bearssl/inc/bearssl_rand.h +0 -397
- package/runtime/third_party/bearssl/inc/bearssl_rsa.h +0 -1655
- package/runtime/third_party/bearssl/inc/bearssl_ssl.h +0 -4296
- package/runtime/third_party/bearssl/inc/bearssl_x509.h +0 -1474
- package/runtime/third_party/bearssl/src/aead/ccm.c +0 -346
- package/runtime/third_party/bearssl/src/aead/eax.c +0 -525
- package/runtime/third_party/bearssl/src/aead/gcm.c +0 -318
- package/runtime/third_party/bearssl/src/codec/ccopy.c +0 -44
- package/runtime/third_party/bearssl/src/codec/dec16be.c +0 -38
- package/runtime/third_party/bearssl/src/codec/dec16le.c +0 -38
- package/runtime/third_party/bearssl/src/codec/dec32be.c +0 -38
- package/runtime/third_party/bearssl/src/codec/dec32le.c +0 -38
- package/runtime/third_party/bearssl/src/codec/dec64be.c +0 -38
- package/runtime/third_party/bearssl/src/codec/dec64le.c +0 -38
- package/runtime/third_party/bearssl/src/codec/enc16be.c +0 -38
- package/runtime/third_party/bearssl/src/codec/enc16le.c +0 -38
- package/runtime/third_party/bearssl/src/codec/enc32be.c +0 -38
- package/runtime/third_party/bearssl/src/codec/enc32le.c +0 -38
- package/runtime/third_party/bearssl/src/codec/enc64be.c +0 -38
- package/runtime/third_party/bearssl/src/codec/enc64le.c +0 -38
- package/runtime/third_party/bearssl/src/codec/pemdec.c +0 -526
- package/runtime/third_party/bearssl/src/codec/pemdec.t0 +0 -314
- package/runtime/third_party/bearssl/src/codec/pemenc.c +0 -173
- package/runtime/third_party/bearssl/src/config.h +0 -247
- package/runtime/third_party/bearssl/src/ec/ec_all_m15.c +0 -121
- package/runtime/third_party/bearssl/src/ec/ec_all_m31.c +0 -171
- package/runtime/third_party/bearssl/src/ec/ec_c25519_i15.c +0 -398
- package/runtime/third_party/bearssl/src/ec/ec_c25519_i31.c +0 -390
- package/runtime/third_party/bearssl/src/ec/ec_c25519_m15.c +0 -1478
- package/runtime/third_party/bearssl/src/ec/ec_c25519_m31.c +0 -800
- package/runtime/third_party/bearssl/src/ec/ec_c25519_m62.c +0 -605
- package/runtime/third_party/bearssl/src/ec/ec_c25519_m64.c +0 -831
- package/runtime/third_party/bearssl/src/ec/ec_curve25519.c +0 -46
- package/runtime/third_party/bearssl/src/ec/ec_default.c +0 -36
- package/runtime/third_party/bearssl/src/ec/ec_keygen.c +0 -86
- package/runtime/third_party/bearssl/src/ec/ec_p256_m15.c +0 -2124
- package/runtime/third_party/bearssl/src/ec/ec_p256_m31.c +0 -1469
- package/runtime/third_party/bearssl/src/ec/ec_p256_m62.c +0 -1765
- package/runtime/third_party/bearssl/src/ec/ec_p256_m64.c +0 -1781
- package/runtime/third_party/bearssl/src/ec/ec_prime_i15.c +0 -824
- package/runtime/third_party/bearssl/src/ec/ec_prime_i31.c +0 -826
- package/runtime/third_party/bearssl/src/ec/ec_pubkey.c +0 -85
- package/runtime/third_party/bearssl/src/ec/ec_secp256r1.c +0 -51
- package/runtime/third_party/bearssl/src/ec/ec_secp384r1.c +0 -57
- package/runtime/third_party/bearssl/src/ec/ec_secp521r1.c +0 -64
- package/runtime/third_party/bearssl/src/ec/ecdsa_atr.c +0 -134
- package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_asn1.c +0 -36
- package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_raw.c +0 -36
- package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_asn1.c +0 -36
- package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_raw.c +0 -36
- package/runtime/third_party/bearssl/src/ec/ecdsa_i15_bits.c +0 -47
- package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_asn1.c +0 -45
- package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_raw.c +0 -174
- package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_asn1.c +0 -48
- package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_raw.c +0 -166
- package/runtime/third_party/bearssl/src/ec/ecdsa_i31_bits.c +0 -47
- package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_asn1.c +0 -45
- package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_raw.c +0 -173
- package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_asn1.c +0 -48
- package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_raw.c +0 -165
- package/runtime/third_party/bearssl/src/ec/ecdsa_rta.c +0 -121
- package/runtime/third_party/bearssl/src/hash/dig_oid.c +0 -84
- package/runtime/third_party/bearssl/src/hash/dig_size.c +0 -50
- package/runtime/third_party/bearssl/src/hash/ghash_ctmul.c +0 -345
- package/runtime/third_party/bearssl/src/hash/ghash_ctmul32.c +0 -251
- package/runtime/third_party/bearssl/src/hash/ghash_ctmul64.c +0 -154
- package/runtime/third_party/bearssl/src/hash/ghash_pclmul.c +0 -389
- package/runtime/third_party/bearssl/src/hash/ghash_pwr8.c +0 -411
- package/runtime/third_party/bearssl/src/hash/md5.c +0 -208
- package/runtime/third_party/bearssl/src/hash/md5sha1.c +0 -141
- package/runtime/third_party/bearssl/src/hash/mgf1.c +0 -56
- package/runtime/third_party/bearssl/src/hash/multihash.c +0 -166
- package/runtime/third_party/bearssl/src/hash/sha1.c +0 -191
- package/runtime/third_party/bearssl/src/hash/sha2big.c +0 -285
- package/runtime/third_party/bearssl/src/hash/sha2small.c +0 -341
- package/runtime/third_party/bearssl/src/inner.h +0 -2577
- package/runtime/third_party/bearssl/src/int/i15_add.c +0 -46
- package/runtime/third_party/bearssl/src/int/i15_bitlen.c +0 -44
- package/runtime/third_party/bearssl/src/int/i15_decmod.c +0 -124
- package/runtime/third_party/bearssl/src/int/i15_decode.c +0 -56
- package/runtime/third_party/bearssl/src/int/i15_decred.c +0 -100
- package/runtime/third_party/bearssl/src/int/i15_encode.c +0 -56
- package/runtime/third_party/bearssl/src/int/i15_fmont.c +0 -59
- package/runtime/third_party/bearssl/src/int/i15_iszero.c +0 -39
- package/runtime/third_party/bearssl/src/int/i15_moddiv.c +0 -465
- package/runtime/third_party/bearssl/src/int/i15_modpow.c +0 -50
- package/runtime/third_party/bearssl/src/int/i15_modpow2.c +0 -160
- package/runtime/third_party/bearssl/src/int/i15_montmul.c +0 -184
- package/runtime/third_party/bearssl/src/int/i15_mulacc.c +0 -61
- package/runtime/third_party/bearssl/src/int/i15_muladd.c +0 -173
- package/runtime/third_party/bearssl/src/int/i15_ninv15.c +0 -38
- package/runtime/third_party/bearssl/src/int/i15_reduce.c +0 -66
- package/runtime/third_party/bearssl/src/int/i15_rshift.c +0 -47
- package/runtime/third_party/bearssl/src/int/i15_sub.c +0 -46
- package/runtime/third_party/bearssl/src/int/i15_tmont.c +0 -36
- package/runtime/third_party/bearssl/src/int/i31_add.c +0 -46
- package/runtime/third_party/bearssl/src/int/i31_bitlen.c +0 -44
- package/runtime/third_party/bearssl/src/int/i31_decmod.c +0 -124
- package/runtime/third_party/bearssl/src/int/i31_decode.c +0 -57
- package/runtime/third_party/bearssl/src/int/i31_decred.c +0 -103
- package/runtime/third_party/bearssl/src/int/i31_encode.c +0 -79
- package/runtime/third_party/bearssl/src/int/i31_fmont.c +0 -60
- package/runtime/third_party/bearssl/src/int/i31_iszero.c +0 -39
- package/runtime/third_party/bearssl/src/int/i31_moddiv.c +0 -488
- package/runtime/third_party/bearssl/src/int/i31_modpow.c +0 -65
- package/runtime/third_party/bearssl/src/int/i31_modpow2.c +0 -160
- package/runtime/third_party/bearssl/src/int/i31_montmul.c +0 -127
- package/runtime/third_party/bearssl/src/int/i31_mulacc.c +0 -74
- package/runtime/third_party/bearssl/src/int/i31_muladd.c +0 -157
- package/runtime/third_party/bearssl/src/int/i31_ninv31.c +0 -39
- package/runtime/third_party/bearssl/src/int/i31_reduce.c +0 -66
- package/runtime/third_party/bearssl/src/int/i31_rshift.c +0 -47
- package/runtime/third_party/bearssl/src/int/i31_sub.c +0 -46
- package/runtime/third_party/bearssl/src/int/i31_tmont.c +0 -36
- package/runtime/third_party/bearssl/src/int/i32_add.c +0 -51
- package/runtime/third_party/bearssl/src/int/i32_bitlen.c +0 -44
- package/runtime/third_party/bearssl/src/int/i32_decmod.c +0 -77
- package/runtime/third_party/bearssl/src/int/i32_decode.c +0 -63
- package/runtime/third_party/bearssl/src/int/i32_decred.c +0 -107
- package/runtime/third_party/bearssl/src/int/i32_div32.c +0 -56
- package/runtime/third_party/bearssl/src/int/i32_encode.c +0 -72
- package/runtime/third_party/bearssl/src/int/i32_fmont.c +0 -60
- package/runtime/third_party/bearssl/src/int/i32_iszero.c +0 -39
- package/runtime/third_party/bearssl/src/int/i32_modpow.c +0 -65
- package/runtime/third_party/bearssl/src/int/i32_montmul.c +0 -69
- package/runtime/third_party/bearssl/src/int/i32_mulacc.c +0 -56
- package/runtime/third_party/bearssl/src/int/i32_muladd.c +0 -138
- package/runtime/third_party/bearssl/src/int/i32_ninv32.c +0 -39
- package/runtime/third_party/bearssl/src/int/i32_reduce.c +0 -66
- package/runtime/third_party/bearssl/src/int/i32_sub.c +0 -51
- package/runtime/third_party/bearssl/src/int/i32_tmont.c +0 -36
- package/runtime/third_party/bearssl/src/int/i62_modpow2.c +0 -493
- package/runtime/third_party/bearssl/src/kdf/hkdf.c +0 -107
- package/runtime/third_party/bearssl/src/kdf/shake.c +0 -590
- package/runtime/third_party/bearssl/src/mac/hmac.c +0 -122
- package/runtime/third_party/bearssl/src/mac/hmac_ct.c +0 -193
- package/runtime/third_party/bearssl/src/rand/aesctr_drbg.c +0 -206
- package/runtime/third_party/bearssl/src/rand/hmac_drbg.c +0 -157
- package/runtime/third_party/bearssl/src/rand/sysrng.c +0 -252
- package/runtime/third_party/bearssl/src/rsa/rsa_default_keygen.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_modulus.c +0 -36
- package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_decrypt.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_encrypt.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_sign.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_vrfy.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_priv.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_privexp.c +0 -36
- package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_sign.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_vrfy.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_pub.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_pubexp.c +0 -36
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_keygen.c +0 -583
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_modulus.c +0 -99
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_decrypt.c +0 -41
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_encrypt.c +0 -44
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_sign.c +0 -37
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_vrfy.c +0 -43
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_priv.c +0 -209
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_privexp.c +0 -320
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_sign.c +0 -40
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_vrfy.c +0 -44
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_pub.c +0 -113
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_pubexp.c +0 -152
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen.c +0 -37
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen_inner.c +0 -608
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_modulus.c +0 -99
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_decrypt.c +0 -41
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_encrypt.c +0 -44
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_sign.c +0 -37
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_vrfy.c +0 -43
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_priv.c +0 -203
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_privexp.c +0 -318
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_sign.c +0 -40
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_vrfy.c +0 -44
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_pub.c +0 -106
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_pubexp.c +0 -152
- package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_decrypt.c +0 -41
- package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_encrypt.c +0 -44
- package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_sign.c +0 -37
- package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_vrfy.c +0 -43
- package/runtime/third_party/bearssl/src/rsa/rsa_i32_priv.c +0 -160
- package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_sign.c +0 -40
- package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_vrfy.c +0 -44
- package/runtime/third_party/bearssl/src/rsa/rsa_i32_pub.c +0 -77
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_keygen.c +0 -57
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_decrypt.c +0 -61
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_encrypt.c +0 -64
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_sign.c +0 -57
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_vrfy.c +0 -63
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_priv.c +0 -223
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_sign.c +0 -60
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_vrfy.c +0 -64
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_pub.c +0 -125
- package/runtime/third_party/bearssl/src/rsa/rsa_oaep_pad.c +0 -112
- package/runtime/third_party/bearssl/src/rsa/rsa_oaep_unpad.c +0 -145
- package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_pad.c +0 -100
- package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_unpad.c +0 -121
- package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_pad.c +0 -106
- package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_unpad.c +0 -121
- package/runtime/third_party/bearssl/src/rsa/rsa_ssl_decrypt.c +0 -52
- package/runtime/third_party/bearssl/src/settings.c +0 -306
- package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcdec.c +0 -69
- package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcenc.c +0 -67
- package/runtime/third_party/bearssl/src/symcipher/aes_big_ctr.c +0 -84
- package/runtime/third_party/bearssl/src/symcipher/aes_big_ctrcbc.c +0 -142
- package/runtime/third_party/bearssl/src/symcipher/aes_big_dec.c +0 -254
- package/runtime/third_party/bearssl/src/symcipher/aes_big_enc.c +0 -157
- package/runtime/third_party/bearssl/src/symcipher/aes_common.c +0 -112
- package/runtime/third_party/bearssl/src/symcipher/aes_ct.c +0 -328
- package/runtime/third_party/bearssl/src/symcipher/aes_ct64.c +0 -398
- package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcdec.c +0 -104
- package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcenc.c +0 -81
- package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctr.c +0 -114
- package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctrcbc.c +0 -433
- package/runtime/third_party/bearssl/src/symcipher/aes_ct64_dec.c +0 -159
- package/runtime/third_party/bearssl/src/symcipher/aes_ct64_enc.c +0 -115
- package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcdec.c +0 -111
- package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcenc.c +0 -91
- package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctr.c +0 -116
- package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctrcbc.c +0 -422
- package/runtime/third_party/bearssl/src/symcipher/aes_ct_dec.c +0 -170
- package/runtime/third_party/bearssl/src/symcipher/aes_ct_enc.c +0 -112
- package/runtime/third_party/bearssl/src/symcipher/aes_pwr8.c +0 -445
- package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcdec.c +0 -670
- package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcenc.c +0 -417
- package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctr.c +0 -717
- package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctrcbc.c +0 -946
- package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcdec.c +0 -69
- package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcenc.c +0 -67
- package/runtime/third_party/bearssl/src/symcipher/aes_small_ctr.c +0 -84
- package/runtime/third_party/bearssl/src/symcipher/aes_small_ctrcbc.c +0 -142
- package/runtime/third_party/bearssl/src/symcipher/aes_small_dec.c +0 -176
- package/runtime/third_party/bearssl/src/symcipher/aes_small_enc.c +0 -129
- package/runtime/third_party/bearssl/src/symcipher/aes_x86ni.c +0 -240
- package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcdec.c +0 -223
- package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcenc.c +0 -122
- package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctr.c +0 -211
- package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctrcbc.c +0 -596
- package/runtime/third_party/bearssl/src/symcipher/chacha20_ct.c +0 -106
- package/runtime/third_party/bearssl/src/symcipher/chacha20_sse2.c +0 -237
- package/runtime/third_party/bearssl/src/symcipher/des_ct.c +0 -411
- package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcdec.c +0 -87
- package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcenc.c +0 -69
- package/runtime/third_party/bearssl/src/symcipher/des_support.c +0 -166
- package/runtime/third_party/bearssl/src/symcipher/des_tab.c +0 -310
- package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcdec.c +0 -85
- package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcenc.c +0 -67
- package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul.c +0 -260
- package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul32.c +0 -297
- package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmulq.c +0 -475
- package/runtime/third_party/bearssl/src/symcipher/poly1305_i15.c +0 -221
- package/runtime/third_party/bearssl/src/x509/asn1.t0 +0 -757
- package/runtime/third_party/bearssl/src/x509/asn1enc.c +0 -93
- package/runtime/third_party/bearssl/src/x509/encode_ec_pk8der.c +0 -110
- package/runtime/third_party/bearssl/src/x509/encode_ec_rawder.c +0 -161
- package/runtime/third_party/bearssl/src/x509/encode_rsa_pk8der.c +0 -97
- package/runtime/third_party/bearssl/src/x509/encode_rsa_rawder.c +0 -96
- package/runtime/third_party/bearssl/src/x509/skey_decoder.c +0 -653
- package/runtime/third_party/bearssl/src/x509/skey_decoder.t0 +0 -376
- package/runtime/third_party/bearssl/src/x509/x509_decoder.c +0 -776
- package/runtime/third_party/bearssl/src/x509/x509_decoder.t0 +0 -324
- package/runtime/third_party/bearssl/src/x509/x509_knownkey.c +0 -105
- package/runtime/third_party/bearssl/src/x509/x509_minimal.c +0 -1722
- package/runtime/third_party/bearssl/src/x509/x509_minimal.t0 +0 -1526
- package/runtime/third_party/bearssl/src/x509/x509_minimal_full.c +0 -59
|
@@ -0,0 +1,769 @@
|
|
|
1
|
+
// Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// https://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
#ifndef OPENSSL_HEADER_PEM_H
|
|
16
|
+
#define OPENSSL_HEADER_PEM_H
|
|
17
|
+
|
|
18
|
+
#include <openssl/base64.h>
|
|
19
|
+
#include <openssl/bio.h>
|
|
20
|
+
#include <openssl/cipher.h>
|
|
21
|
+
#include <openssl/digest.h>
|
|
22
|
+
#include <openssl/evp.h>
|
|
23
|
+
#include <openssl/pkcs7.h>
|
|
24
|
+
#include <openssl/stack.h>
|
|
25
|
+
#include <openssl/x509.h>
|
|
26
|
+
|
|
27
|
+
// For compatibility with open-iscsi, which assumes that it can get
|
|
28
|
+
// `OPENSSL_malloc` from pem.h or err.h
|
|
29
|
+
#include <openssl/crypto.h>
|
|
30
|
+
|
|
31
|
+
#if defined(__cplusplus)
|
|
32
|
+
extern "C" {
|
|
33
|
+
#endif
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
// PEM.
|
|
37
|
+
//
|
|
38
|
+
// This library contains functions for reading and writing data encoded in PEM
|
|
39
|
+
// format. This format originated in Privacy-Enhanced Mail (RFC 1421). PEM
|
|
40
|
+
// consists of a series of PEM blocks, which are line-wrapped, base64-encoded
|
|
41
|
+
// data, wrapped in BEGIN and END lines, for example:
|
|
42
|
+
//
|
|
43
|
+
// -----BEGIN PUBLIC KEY-----
|
|
44
|
+
// MCowBQYDK2VwAyEAGb9ECWmEzf6FQbrBZ9w7lshQhqowtrbLDFw4rXAxZuE=
|
|
45
|
+
// -----END PUBLIC KEY-----
|
|
46
|
+
//
|
|
47
|
+
// The BEGIN and END markers specify the type of data encoded. Multiple PEM
|
|
48
|
+
// blocks can be concatenated together. For example, it is common to represent a
|
|
49
|
+
// certificate chain as a series of PEM blocks of type CERTIFICATE. Owing to its
|
|
50
|
+
// email roots, PEM blocks can also be embedded in non-PEM data. The parsers in
|
|
51
|
+
// this library will generally skip over any non-PEM data, as well as any PEM
|
|
52
|
+
// blocks that are not of the expected type.
|
|
53
|
+
//
|
|
54
|
+
// PEM blocks can be encrypted with a password, specified in RFC 1423. PEM
|
|
55
|
+
// encryption is vulnerable to padding oracle attacks and should not be used as
|
|
56
|
+
// a load-bearing security measure. It is implemented for interoperability with
|
|
57
|
+
// legacy systems only.
|
|
58
|
+
//
|
|
59
|
+
// Callers should only use PEM for compatibility with legacy systems. PEM use
|
|
60
|
+
// should be limited to the components that directly interoperate with those
|
|
61
|
+
// systems, converting to and from more modern formats. PEM adds overhead to fit
|
|
62
|
+
// in email's 7-bit ASCII limitations, a constraint that is not relevant to most
|
|
63
|
+
// applications.
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
// API conventions.
|
|
67
|
+
|
|
68
|
+
// pem_password_cb is an application-supplied callback to supply a PEM password.
|
|
69
|
+
// On success, the callback should write the password into `out`, which has room
|
|
70
|
+
// for at most `max_out` bytes. On error, including if `max_out` is too small,
|
|
71
|
+
// it should return -1. `enc` is one if the password will be used for encrypting
|
|
72
|
+
// and zero if it is used for decrypting. `userdata` is the application-supplied
|
|
73
|
+
// parameter of the same name to the PEM function.
|
|
74
|
+
typedef int pem_password_cb(char *out, int max_out, int enc, void *userdata);
|
|
75
|
+
|
|
76
|
+
// PEM_def_callback is the default implementation of `pem_password_cb`. It
|
|
77
|
+
// interprets `userdata` as a NUL-terminated C string and outputs it according
|
|
78
|
+
// to `pem_password_cb`. If `userdata` is NULL, it returns -1.
|
|
79
|
+
//
|
|
80
|
+
// This differs from OpenSSL, which interactively prompts for a password by
|
|
81
|
+
// default.
|
|
82
|
+
OPENSSL_EXPORT int PEM_def_callback(char *buf, int size, int enc,
|
|
83
|
+
void *userdata);
|
|
84
|
+
|
|
85
|
+
// The following sample functions document the calling conventions used by this
|
|
86
|
+
// library.
|
|
87
|
+
|
|
88
|
+
#if 0 // Sample functions
|
|
89
|
+
|
|
90
|
+
// PEM_read_bio_SAMPLE reads a PEM block from `bio`, skipping non-PEM data and
|
|
91
|
+
// unexpected block types. It then decodes the resulting PEM block and returns a
|
|
92
|
+
// newly-allocated `SAMPLE` object containing the parsed structure. If `out` is
|
|
93
|
+
// non-NULL, it additionally frees the previous value at `*out` and updates
|
|
94
|
+
// `*out` to the result.
|
|
95
|
+
//
|
|
96
|
+
// On decode or allocation error, or if EOF is reached before a matching PEM
|
|
97
|
+
// block is found, it returns NULL. In the error case, it will add
|
|
98
|
+
// `PEM_R_NO_START_LINE` to the error queue. Callers can check the error queue
|
|
99
|
+
// to distinguish these cases.
|
|
100
|
+
//
|
|
101
|
+
// If the PEM block is encrypted, `cb` will be called to look up the password.
|
|
102
|
+
// See `pem_password_cb` for details. If `cb` is NULL, `PEM_def_callback` is
|
|
103
|
+
// used and `userdata` should be a NUL-terminated C string containing the
|
|
104
|
+
// password. Set both `cb` and `userdata` to NULL to only handle plaintext
|
|
105
|
+
// blocks.
|
|
106
|
+
SAMPLE *PEM_read_bio_SAMPLE(BIO *bio, SAMPLE **out, pem_password_cb *cb,
|
|
107
|
+
void *userdata);
|
|
108
|
+
|
|
109
|
+
// PEM_write_bio_SAMPLE encodes `in` as a PEM block and writes it to `bio`. It
|
|
110
|
+
// returns one on success and zero on error.
|
|
111
|
+
//
|
|
112
|
+
// If `enc` is non-NULL, the PEM block is encrypted with the specified cipher
|
|
113
|
+
// and a password. If `pass` is non-NULL, `pass_len` bytes from `pass` is
|
|
114
|
+
// used as the password. Otherwise, `cb` is called. If `cb` is NULL,
|
|
115
|
+
// `PEM_def_callback` is used. PEM encryption is vulnerable to padding oracle
|
|
116
|
+
// attacks and should not be used.
|
|
117
|
+
//
|
|
118
|
+
// Some functions of this convention do not support encryption. In this case,
|
|
119
|
+
// the encryption-related parameters will be omitted.
|
|
120
|
+
//
|
|
121
|
+
// On error, the state of `bio` is undefined. It is possible a prefix of a PEM
|
|
122
|
+
// block was left in the `bio`.
|
|
123
|
+
int PEM_write_bio_SAMPLE(BIO *bio, const SAMPLE *in, const EVP_CIPHER *enc,
|
|
124
|
+
const uint8_t *pass, int pass_len, pem_password_cb *cb,
|
|
125
|
+
void *userdata);
|
|
126
|
+
|
|
127
|
+
#endif // Sample functions
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
// Reading and writing X.509 structures as PEM.
|
|
131
|
+
|
|
132
|
+
// PEM_read_bio_X509 reads a PEM block of type "CERTIFICATE" (RFC 7468) or "X509
|
|
133
|
+
// CERTIFICATE", as described in `PEM_read_bio_SAMPLE`.
|
|
134
|
+
OPENSSL_EXPORT X509 *PEM_read_bio_X509(BIO *bio, X509 **out,
|
|
135
|
+
pem_password_cb *cb, void *userdata);
|
|
136
|
+
|
|
137
|
+
// PEM_write_bio_X509 writes a PEM block of type "CERTIFICATE" (RFC 7468), as
|
|
138
|
+
// described in `PEM_write_bio_SAMPLE`.
|
|
139
|
+
OPENSSL_EXPORT int PEM_write_bio_X509(BIO *bio, const X509 *in);
|
|
140
|
+
|
|
141
|
+
// PEM_read_bio_X509_AUX reads a PEM block of type "CERTIFICATE" (RFC 7468),
|
|
142
|
+
// "X509 CERTIFICATE", or "TRUSTED CERTIFICATE", as described in
|
|
143
|
+
// `PEM_read_bio_SAMPLE`.
|
|
144
|
+
//
|
|
145
|
+
// WARNING: This function parses auxiliary properties as in `d2i_X509_AUX`.
|
|
146
|
+
// Passing untrusted input to this function allows an attacker to influence
|
|
147
|
+
// those properties. See `d2i_X509_AUX` for details.
|
|
148
|
+
OPENSSL_EXPORT X509 *PEM_read_bio_X509_AUX(BIO *bio, X509 **out,
|
|
149
|
+
pem_password_cb *cb, void *userdata);
|
|
150
|
+
|
|
151
|
+
// PEM_write_bio_X509_AUX writes a PEM block of type "TRUSTED CERTIFICATE", as
|
|
152
|
+
// described in `PEM_write_bio_SAMPLE`.
|
|
153
|
+
//
|
|
154
|
+
// WARNING: This function writes a custom OpenSSL-specific format that includes
|
|
155
|
+
// auxiliary properties. See `i2d_X509_AUX`.
|
|
156
|
+
OPENSSL_EXPORT int PEM_write_bio_X509_AUX(BIO *bio, const X509 *in);
|
|
157
|
+
|
|
158
|
+
// PEM_read_bio_X509_CRL reads a PEM block of type "X509 CRL" (RFC 7468), as
|
|
159
|
+
// described in `PEM_read_bio_SAMPLE`.
|
|
160
|
+
OPENSSL_EXPORT X509_CRL *PEM_read_bio_X509_CRL(BIO *bio, X509_CRL **out,
|
|
161
|
+
pem_password_cb *cb,
|
|
162
|
+
void *userdata);
|
|
163
|
+
|
|
164
|
+
// PEM_write_bio_X509_CRL writes a PEM block of type "X509 CRL" (RFC 7468), as
|
|
165
|
+
// described in `PEM_write_bio_SAMPLE`.
|
|
166
|
+
OPENSSL_EXPORT int PEM_write_bio_X509_CRL(BIO *bio, const X509_CRL *in);
|
|
167
|
+
|
|
168
|
+
// PEM_read_bio_X509_REQ reads a PEM block of type "CERTIFICATE REQUEST"
|
|
169
|
+
// (RFC 7468) or "NEW CERTIFICATE REQUEST", as described in
|
|
170
|
+
// `PEM_read_bio_SAMPLE`.
|
|
171
|
+
OPENSSL_EXPORT X509_REQ *PEM_read_bio_X509_REQ(BIO *bio, X509_REQ **out,
|
|
172
|
+
pem_password_cb *cb,
|
|
173
|
+
void *userdata);
|
|
174
|
+
|
|
175
|
+
// PEM_write_bio_X509_REQ writes a PEM block of type "CERTIFICATE REQUEST"
|
|
176
|
+
// (RFC 7468), as described in `PEM_write_bio_SAMPLE`.
|
|
177
|
+
OPENSSL_EXPORT int PEM_write_bio_X509_REQ(BIO *bio, const X509_REQ *in);
|
|
178
|
+
|
|
179
|
+
// PEM_write_bio_X509_REQ_NEW writes a PEM block of type "NEW CERTIFICATE
|
|
180
|
+
// REQUEST", as described in `PEM_write_bio_SAMPLE`. Prefer to use
|
|
181
|
+
// `PEM_write_bio_X509_REQ`. "NEW CERTIFICATE REQUEST" is the older type.
|
|
182
|
+
OPENSSL_EXPORT int PEM_write_bio_X509_REQ_NEW(BIO *bio, const X509_REQ *in);
|
|
183
|
+
|
|
184
|
+
// PEM_read_bio_PKCS7 reads a PEM block of type "PKCS7" (RFC 7468) or "PKCS #7
|
|
185
|
+
// SIGNED DATA", as described in `PEM_read_bio_SAMPLE`.
|
|
186
|
+
//
|
|
187
|
+
// This function also accepts type "CERTIFICATE" but decodes the contents as a
|
|
188
|
+
// PKCS #7 structure rather than a certificate. This is a historical workaround
|
|
189
|
+
// for an old CA bug.
|
|
190
|
+
OPENSSL_EXPORT PKCS7 *PEM_read_bio_PKCS7(BIO *bio, PKCS7 **out,
|
|
191
|
+
pem_password_cb *cb, void *userdata);
|
|
192
|
+
|
|
193
|
+
// PEM_write_bio_PKCS7 writes a PEM block of type "PKCS7" (RFC 7468), as
|
|
194
|
+
// described in `PEM_write_bio_SAMPLE`.
|
|
195
|
+
OPENSSL_EXPORT int PEM_write_bio_PKCS7(BIO *bio, const PKCS7 *in);
|
|
196
|
+
|
|
197
|
+
// PEM_X509_INFO_read_bio reads PEM blocks from `bio` and decodes any
|
|
198
|
+
// certificates, CRLs, and private keys found. It returns a
|
|
199
|
+
// `STACK_OF(X509_INFO)` structure containing the results, or NULL on error.
|
|
200
|
+
//
|
|
201
|
+
// If `sk` is NULL, the result on success will be a newly-allocated
|
|
202
|
+
// `STACK_OF(X509_INFO)` structure which should be released with
|
|
203
|
+
// `sk_X509_INFO_pop_free` and `X509_INFO_free` when done.
|
|
204
|
+
//
|
|
205
|
+
// If `sk` is non-NULL, it appends the results to `sk` instead and returns `sk`
|
|
206
|
+
// on success. In this case, the caller retains ownership of `sk` in both
|
|
207
|
+
// success and failure.
|
|
208
|
+
//
|
|
209
|
+
// This function will decrypt any encrypted certificates in `bio`, using `cb`,
|
|
210
|
+
// but it will not decrypt encrypted private keys. Encrypted private keys are
|
|
211
|
+
// instead represented as placeholder `X509_INFO` objects with an empty `x_pkey`
|
|
212
|
+
// field. This allows this function to be used with inputs with unencrypted
|
|
213
|
+
// certificates, but encrypted passwords, without knowing the password. However,
|
|
214
|
+
// it also means that this function cannot be used to decrypt the private key
|
|
215
|
+
// when the password is known.
|
|
216
|
+
//
|
|
217
|
+
// WARNING: If the input contains "TRUSTED CERTIFICATE" PEM blocks, this
|
|
218
|
+
// function parses auxiliary properties as in `d2i_X509_AUX`. Passing untrusted
|
|
219
|
+
// input to this function allows an attacker to influence those properties. See
|
|
220
|
+
// `d2i_X509_AUX` for details.
|
|
221
|
+
OPENSSL_EXPORT STACK_OF(X509_INFO) *PEM_X509_INFO_read_bio(
|
|
222
|
+
BIO *bio, STACK_OF(X509_INFO) *sk, pem_password_cb *cb, void *userdata);
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
// Reading and writing keys as PEM.
|
|
226
|
+
//
|
|
227
|
+
// There are multiple PEM formats for public and private keys:
|
|
228
|
+
//
|
|
229
|
+
// Public keys are generally encoded with type "PUBLIC KEY" (RFC 7468), which
|
|
230
|
+
// encodes a SubjectPublicKeyInfo structure (RFC 5280).
|
|
231
|
+
//
|
|
232
|
+
// Private keys may be encoded with type "PRIVATE KEY" or "ENCRYPTED PRIVATE
|
|
233
|
+
// KEY" (RFC 7468), which encode a PrivateKeyInfo or EncryptedPrivateKeyInfo
|
|
234
|
+
// (RFC 5208) structure. EncryptedPrivateKeyInfo is, itself, a mechanism for
|
|
235
|
+
// encrypting private keys with a password, so private keys may be encrypted
|
|
236
|
+
// with PEM encryption, PKCS #8 encryption, or both.
|
|
237
|
+
//
|
|
238
|
+
// There are also older algorithm-specific PEM types for public and private
|
|
239
|
+
// keys, including "RSA PUBLIC KEY", "RSA PRIVATE KEY", "EC PRIVATE KEY", and
|
|
240
|
+
// "DSA PRIVATE KEY". Some functions in this library will read or write them.
|
|
241
|
+
//
|
|
242
|
+
// If unsure, use the "PUBLIC KEY" and "PRIVATE KEY" formats.
|
|
243
|
+
|
|
244
|
+
// PEM_read_bio_PrivateKey reads a PEM block containing a private key, as
|
|
245
|
+
// described in `PEM_read_bio_SAMPLE`. It handles generic PKCS #8 blocks of type
|
|
246
|
+
// "PRIVATE KEY" and "ENCRYPTED PRIVATE KEY", as well as key-specific formats
|
|
247
|
+
// like "RSA PRIVATE KEY", "EC PRIVATE KEY", and "DSA PRIVATE KEY".
|
|
248
|
+
//
|
|
249
|
+
// `cb` and `userdata` are used to look up the password for both PEM-level
|
|
250
|
+
// encryption as well as PKCS #8 encryption, in the case of "ENCRYPTED PRIVATE
|
|
251
|
+
// KEY" blocks.
|
|
252
|
+
OPENSSL_EXPORT EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bio, EVP_PKEY **out,
|
|
253
|
+
pem_password_cb *cb,
|
|
254
|
+
void *userdata);
|
|
255
|
+
|
|
256
|
+
// PEM_write_bio_PrivateKey writes `in` to `bio` in PKCS#8 format, as described
|
|
257
|
+
// in `PEM_write_bio_SAMPLE`. However, it interprets encryption parameters
|
|
258
|
+
// differently:
|
|
259
|
+
//
|
|
260
|
+
// - If not encrypting (`enc` is NULL), it writes the key as a PEM block of type
|
|
261
|
+
// "PRIVATE KEY".
|
|
262
|
+
//
|
|
263
|
+
// - If encrypted (`enc` is not NULL), it encrypts the key in an
|
|
264
|
+
// EncryptedPrivateKeyInfo using PBES2 (see `PKCS8_encrypt`) and writes the
|
|
265
|
+
// result as a PEM block of type "ENCRYPTED PRIVATE KEY".
|
|
266
|
+
OPENSSL_EXPORT int PEM_write_bio_PrivateKey(BIO *bio, const EVP_PKEY *in,
|
|
267
|
+
const EVP_CIPHER *enc,
|
|
268
|
+
const uint8_t *pass, int pass_len,
|
|
269
|
+
pem_password_cb *cb,
|
|
270
|
+
void *userdata);
|
|
271
|
+
|
|
272
|
+
// PEM_read_bio_PUBKEY reads a PEM block of type "PUBLIC KEY", as described in
|
|
273
|
+
// `PEM_read_bio_SAMPLE`.
|
|
274
|
+
OPENSSL_EXPORT EVP_PKEY *PEM_read_bio_PUBKEY(BIO *bio, EVP_PKEY **out,
|
|
275
|
+
pem_password_cb *cb,
|
|
276
|
+
void *userdata);
|
|
277
|
+
|
|
278
|
+
// PEM_write_bio_PUBKEY writes `in` as a PEM block of type "PUBLIC KEY", as
|
|
279
|
+
// described in `PEM_write_bio_SAMPLE`.
|
|
280
|
+
OPENSSL_EXPORT int PEM_write_bio_PUBKEY(BIO *bio, const EVP_PKEY *in);
|
|
281
|
+
|
|
282
|
+
// PEM_write_bio_PKCS8PrivateKey_nid behaves like `PEM_write_bio_PrivateKey`
|
|
283
|
+
// but uses the PBES1 algorithm specified by `nid` for encryption. See also
|
|
284
|
+
// `PKCS8_encrypt`. If `nid` is -1, it writes the private key unencrypted.
|
|
285
|
+
OPENSSL_EXPORT int PEM_write_bio_PKCS8PrivateKey_nid(
|
|
286
|
+
BIO *bio, const EVP_PKEY *in, int nid, const char *pass, int pass_len,
|
|
287
|
+
pem_password_cb *cb, void *userdata);
|
|
288
|
+
|
|
289
|
+
// PEM_write_bio_PKCS8PrivateKey is an alias for `PEM_write_bio_PrivateKey`.
|
|
290
|
+
OPENSSL_EXPORT int PEM_write_bio_PKCS8PrivateKey(BIO *bio, const EVP_PKEY *in,
|
|
291
|
+
const EVP_CIPHER *enc,
|
|
292
|
+
const char *pass, int pass_len,
|
|
293
|
+
pem_password_cb *cb,
|
|
294
|
+
void *userdata);
|
|
295
|
+
|
|
296
|
+
// PEM_write_PKCS8PrivateKey_nid behaves like
|
|
297
|
+
// `PEM_write_bio_PKCS8PrivateKey_nid` but writes to `fp`.
|
|
298
|
+
OPENSSL_EXPORT int PEM_write_PKCS8PrivateKey_nid(FILE *fp, const EVP_PKEY *in,
|
|
299
|
+
int nid, const char *pass,
|
|
300
|
+
int pass_len,
|
|
301
|
+
pem_password_cb *cb,
|
|
302
|
+
void *userdata);
|
|
303
|
+
|
|
304
|
+
// PEM_write_PKCS8PrivateKey behaves like `PEM_write_bio_PKCS8PrivateKey` but
|
|
305
|
+
// writes to `fp`.
|
|
306
|
+
OPENSSL_EXPORT int PEM_write_PKCS8PrivateKey(FILE *fp, const EVP_PKEY *in,
|
|
307
|
+
const EVP_CIPHER *enc,
|
|
308
|
+
const char *pass, int pass_len,
|
|
309
|
+
pem_password_cb *cb,
|
|
310
|
+
void *userdata);
|
|
311
|
+
|
|
312
|
+
// PEM_read_bio_PKCS8 reads a PEM block of type "ENCRYPTED PRIVATE KEY", as
|
|
313
|
+
// described in `PEM_read_bio_SAMPLE`.
|
|
314
|
+
//
|
|
315
|
+
// Although this function accepts `cb` and `userdata` to decrypt the PEM-level
|
|
316
|
+
// encryption, it does not decrypt the EncryptedPrivateKeyInfo structure. It
|
|
317
|
+
// returns the encrypted key as an `X509_SIG` object which, despite its name, is
|
|
318
|
+
// an algorithm and octet string pair.
|
|
319
|
+
OPENSSL_EXPORT X509_SIG *PEM_read_bio_PKCS8(BIO *bio, X509_SIG **out,
|
|
320
|
+
pem_password_cb *cb,
|
|
321
|
+
void *userdata);
|
|
322
|
+
|
|
323
|
+
// PEM_write_bio_PKCS8 writes a PEM block of type "ENCRYPTED PRIVATE KEY", as
|
|
324
|
+
// described in `PEM_write_bio_SAMPLE`. `in` is used to represent an
|
|
325
|
+
// already-encrypted EncryptedPrivateKeyInfo structure.
|
|
326
|
+
OPENSSL_EXPORT int PEM_write_bio_PKCS8(BIO *bio, const X509_SIG *in);
|
|
327
|
+
|
|
328
|
+
// PEM_read_bio_PKCS8_PRIV_KEY_INFO reads a PEM block of type "PRIVATE KEY", as
|
|
329
|
+
// described in `PEM_read_bio_SAMPLE`.
|
|
330
|
+
OPENSSL_EXPORT PKCS8_PRIV_KEY_INFO *PEM_read_bio_PKCS8_PRIV_KEY_INFO(
|
|
331
|
+
BIO *bio, PKCS8_PRIV_KEY_INFO **out, pem_password_cb *cb, void *userdata);
|
|
332
|
+
|
|
333
|
+
// PEM_write_bio_PKCS8_PRIV_KEY_INFO writes a PEM block of type "PRIVATE KEY",
|
|
334
|
+
// as described in `PEM_write_bio_SAMPLE`.
|
|
335
|
+
OPENSSL_EXPORT int PEM_write_bio_PKCS8_PRIV_KEY_INFO(
|
|
336
|
+
BIO *bio, const PKCS8_PRIV_KEY_INFO *in);
|
|
337
|
+
|
|
338
|
+
// PEM_read_bio_RSAPrivateKey behaves like `PEM_read_bio_PrivateKey` but only
|
|
339
|
+
// returns RSA keys, represented as an `RSA` object. Keys of other types result
|
|
340
|
+
// in an error.
|
|
341
|
+
OPENSSL_EXPORT RSA *PEM_read_bio_RSAPrivateKey(BIO *bio, RSA **out,
|
|
342
|
+
pem_password_cb *cb,
|
|
343
|
+
void *userdata);
|
|
344
|
+
|
|
345
|
+
// PEM_write_bio_RSAPrivateKey writes `in` as a PEM block of type "RSA PRIVATE
|
|
346
|
+
// KEY", as described in `PEM_write_bio_SAMPLE`.
|
|
347
|
+
OPENSSL_EXPORT int PEM_write_bio_RSAPrivateKey(
|
|
348
|
+
BIO *bio, const RSA *in, const EVP_CIPHER *enc, const uint8_t *pass,
|
|
349
|
+
int pass_len, pem_password_cb *cb, void *userdata);
|
|
350
|
+
|
|
351
|
+
// PEM_read_bio_RSAPublicKey reads a PEM block of type "RSA PUBLIC KEY", as
|
|
352
|
+
// described in `PEM_read_bio_SAMPLE`.
|
|
353
|
+
OPENSSL_EXPORT RSA *PEM_read_bio_RSAPublicKey(BIO *bio, RSA **out,
|
|
354
|
+
pem_password_cb *cb,
|
|
355
|
+
void *userdata);
|
|
356
|
+
|
|
357
|
+
// PEM_write_bio_RSAPublicKey writes a PEM block of type "RSA PUBLIC KEY", as
|
|
358
|
+
// described in `PEM_write_bio_SAMPLE`.
|
|
359
|
+
OPENSSL_EXPORT int PEM_write_bio_RSAPublicKey(BIO *bio, const RSA *in);
|
|
360
|
+
|
|
361
|
+
// PEM_read_bio_RSA_PUBKEY behaves like `PEM_read_bio_PUBKEY` but only returns
|
|
362
|
+
// RSA keys, represented as an `RSA` object. Keys of other types result in an
|
|
363
|
+
// error.
|
|
364
|
+
OPENSSL_EXPORT RSA *PEM_read_bio_RSA_PUBKEY(BIO *bio, RSA **out,
|
|
365
|
+
pem_password_cb *cb,
|
|
366
|
+
void *userdata);
|
|
367
|
+
|
|
368
|
+
// PEM_write_bio_RSA_PUBKEY writes `in` as a PEM block of type "PUBLIC KEY", as
|
|
369
|
+
// described in `PEM_write_bio_SAMPLE`.
|
|
370
|
+
OPENSSL_EXPORT int PEM_write_bio_RSA_PUBKEY(BIO *bio, const RSA *in);
|
|
371
|
+
|
|
372
|
+
// PEM_read_bio_DSAPrivateKey behaves like `PEM_read_bio_PrivateKey` but only
|
|
373
|
+
// returns DSA keys, represented as a `DSA` object. Keys of other types result
|
|
374
|
+
// in an error.
|
|
375
|
+
OPENSSL_EXPORT DSA *PEM_read_bio_DSAPrivateKey(BIO *bio, DSA **out,
|
|
376
|
+
pem_password_cb *cb,
|
|
377
|
+
void *userdata);
|
|
378
|
+
|
|
379
|
+
// PEM_write_bio_DSAPrivateKey writes `in` as a PEM block of type "DSA PRIVATE
|
|
380
|
+
// KEY", as described in `PEM_write_bio_SAMPLE`.
|
|
381
|
+
OPENSSL_EXPORT int PEM_write_bio_DSAPrivateKey(
|
|
382
|
+
BIO *bio, const DSA *in, const EVP_CIPHER *enc, const uint8_t *pass,
|
|
383
|
+
int pass_len, pem_password_cb *cb, void *userdata);
|
|
384
|
+
|
|
385
|
+
// PEM_read_bio_DSA_PUBKEY behaves like `PEM_read_bio_PUBKEY` but only returns
|
|
386
|
+
// DSA keys, represented as a `DSA` object. Keys of other types result in an
|
|
387
|
+
// error.
|
|
388
|
+
OPENSSL_EXPORT DSA *PEM_read_bio_DSA_PUBKEY(BIO *bio, DSA **out,
|
|
389
|
+
pem_password_cb *cb,
|
|
390
|
+
void *userdata);
|
|
391
|
+
|
|
392
|
+
// PEM_write_bio_DSA_PUBKEY writes `in` in SubjectPublicKeyInfo format as a PEM
|
|
393
|
+
// block of type "PUBLIC KEY", as described in `PEM_write_bio_SAMPLE`.
|
|
394
|
+
OPENSSL_EXPORT int PEM_write_bio_DSA_PUBKEY(BIO *bio, const DSA *in);
|
|
395
|
+
|
|
396
|
+
// PEM_read_bio_DSAparams reads a PEM block of type "DSA PARAMETERS", as
|
|
397
|
+
// described in `PEM_read_bio_SAMPLE`.
|
|
398
|
+
OPENSSL_EXPORT DSA *PEM_read_bio_DSAparams(BIO *bio, DSA **out,
|
|
399
|
+
pem_password_cb *cb, void *userdata);
|
|
400
|
+
|
|
401
|
+
// PEM_write_bio_DSAparams writes a PEM block of type "DSA PARAMETERS", as
|
|
402
|
+
// described in `PEM_write_bio_SAMPLE`.
|
|
403
|
+
OPENSSL_EXPORT int PEM_write_bio_DSAparams(BIO *bio, const DSA *in);
|
|
404
|
+
|
|
405
|
+
// PEM_read_bio_ECPrivateKey behaves like `PEM_read_bio_PrivateKey` but only
|
|
406
|
+
// returns EC keys, represented as an `EC_KEY` object. Keys of other types
|
|
407
|
+
// result in an error.
|
|
408
|
+
OPENSSL_EXPORT EC_KEY *PEM_read_bio_ECPrivateKey(BIO *bio, EC_KEY **out,
|
|
409
|
+
pem_password_cb *cb,
|
|
410
|
+
void *userdata);
|
|
411
|
+
|
|
412
|
+
// PEM_write_bio_ECPrivateKey writes `in` as a PEM block of type "EC PRIVATE
|
|
413
|
+
// KEY", as described in `PEM_write_bio_SAMPLE`.
|
|
414
|
+
OPENSSL_EXPORT int PEM_write_bio_ECPrivateKey(BIO *bio, const EC_KEY *in,
|
|
415
|
+
const EVP_CIPHER *enc,
|
|
416
|
+
const uint8_t *pass, int pass_len,
|
|
417
|
+
pem_password_cb *cb,
|
|
418
|
+
void *userdata);
|
|
419
|
+
|
|
420
|
+
// PEM_read_bio_EC_PUBKEY behaves like `PEM_read_bio_PUBKEY` but only returns
|
|
421
|
+
// EC keys, represented as an `EC_KEY` object. Keys of other types result in an
|
|
422
|
+
// error.
|
|
423
|
+
OPENSSL_EXPORT EC_KEY *PEM_read_bio_EC_PUBKEY(BIO *bio, EC_KEY **out,
|
|
424
|
+
pem_password_cb *cb,
|
|
425
|
+
void *userdata);
|
|
426
|
+
|
|
427
|
+
// PEM_write_bio_EC_PUBKEY writes `in` in SubjectPublicKeyInfo format as a PEM
|
|
428
|
+
// block of type "PUBLIC KEY", as described in `PEM_write_bio_SAMPLE`.
|
|
429
|
+
OPENSSL_EXPORT int PEM_write_bio_EC_PUBKEY(BIO *bio, const EC_KEY *in);
|
|
430
|
+
|
|
431
|
+
// PEM_read_bio_DHparams reads a PEM block of type "DH PARAMETERS", as described
|
|
432
|
+
// in `PEM_read_bio_SAMPLE`.
|
|
433
|
+
OPENSSL_EXPORT DH *PEM_read_bio_DHparams(BIO *bio, DH **out,
|
|
434
|
+
pem_password_cb *cb, void *userdata);
|
|
435
|
+
|
|
436
|
+
// PEM_write_bio_DHparams writes a PEM block of type "DH PARAMETERS", as
|
|
437
|
+
// described in `PEM_write_bio_SAMPLE`.
|
|
438
|
+
OPENSSL_EXPORT int PEM_write_bio_DHparams(BIO *bio, const DH *in);
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
// File-based functions.
|
|
442
|
+
|
|
443
|
+
// The following functions behave like the corresponding `PEM_read_bio_*`
|
|
444
|
+
// functions, but read from `fp`.
|
|
445
|
+
OPENSSL_EXPORT X509 *PEM_read_X509(FILE *fp, X509 **out, pem_password_cb *cb,
|
|
446
|
+
void *userdata);
|
|
447
|
+
OPENSSL_EXPORT X509_CRL *PEM_read_X509_CRL(FILE *fp, X509_CRL **out,
|
|
448
|
+
pem_password_cb *cb, void *userdata);
|
|
449
|
+
OPENSSL_EXPORT X509 *PEM_read_X509_AUX(FILE *fp, X509 **out,
|
|
450
|
+
pem_password_cb *cb, void *userdata);
|
|
451
|
+
OPENSSL_EXPORT STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp,
|
|
452
|
+
STACK_OF(X509_INFO) *sk,
|
|
453
|
+
pem_password_cb *cb,
|
|
454
|
+
void *userdata);
|
|
455
|
+
OPENSSL_EXPORT X509_REQ *PEM_read_X509_REQ(FILE *fp, X509_REQ **out,
|
|
456
|
+
pem_password_cb *cb, void *userdata);
|
|
457
|
+
OPENSSL_EXPORT PKCS7 *PEM_read_PKCS7(FILE *fp, PKCS7 **out, pem_password_cb *cb,
|
|
458
|
+
void *userdata);
|
|
459
|
+
OPENSSL_EXPORT X509_SIG *PEM_read_PKCS8(FILE *fp, X509_SIG **out,
|
|
460
|
+
pem_password_cb *cb, void *userdata);
|
|
461
|
+
OPENSSL_EXPORT PKCS8_PRIV_KEY_INFO *PEM_read_PKCS8_PRIV_KEY_INFO(
|
|
462
|
+
FILE *fp, PKCS8_PRIV_KEY_INFO **out, pem_password_cb *cb, void *userdata);
|
|
463
|
+
OPENSSL_EXPORT RSA *PEM_read_RSAPrivateKey(FILE *fp, RSA **out,
|
|
464
|
+
pem_password_cb *cb, void *userdata);
|
|
465
|
+
OPENSSL_EXPORT RSA *PEM_read_RSAPublicKey(FILE *fp, RSA **out,
|
|
466
|
+
pem_password_cb *cb, void *userdata);
|
|
467
|
+
OPENSSL_EXPORT RSA *PEM_read_RSA_PUBKEY(FILE *fp, RSA **out,
|
|
468
|
+
pem_password_cb *cb, void *userdata);
|
|
469
|
+
OPENSSL_EXPORT DSA *PEM_read_DSAPrivateKey(FILE *fp, DSA **out,
|
|
470
|
+
pem_password_cb *cb, void *userdata);
|
|
471
|
+
OPENSSL_EXPORT DSA *PEM_read_DSA_PUBKEY(FILE *fp, DSA **out,
|
|
472
|
+
pem_password_cb *cb, void *userdata);
|
|
473
|
+
OPENSSL_EXPORT DSA *PEM_read_DSAparams(FILE *fp, DSA **out, pem_password_cb *cb,
|
|
474
|
+
void *userdata);
|
|
475
|
+
OPENSSL_EXPORT EC_KEY *PEM_read_ECPrivateKey(FILE *fp, EC_KEY **out,
|
|
476
|
+
pem_password_cb *cb,
|
|
477
|
+
void *userdata);
|
|
478
|
+
OPENSSL_EXPORT EC_KEY *PEM_read_EC_PUBKEY(FILE *fp, EC_KEY **out,
|
|
479
|
+
pem_password_cb *cb, void *userdata);
|
|
480
|
+
OPENSSL_EXPORT DH *PEM_read_DHparams(FILE *fp, DH **out, pem_password_cb *cb,
|
|
481
|
+
void *userdata);
|
|
482
|
+
OPENSSL_EXPORT EVP_PKEY *PEM_read_PrivateKey(FILE *fp, EVP_PKEY **out,
|
|
483
|
+
pem_password_cb *cb,
|
|
484
|
+
void *userdata);
|
|
485
|
+
OPENSSL_EXPORT EVP_PKEY *PEM_read_PUBKEY(FILE *fp, EVP_PKEY **out,
|
|
486
|
+
pem_password_cb *cb, void *userdata);
|
|
487
|
+
|
|
488
|
+
// The following functions behave like the corresponding `PEM_write_bio_*`
|
|
489
|
+
// functions, but write to `fp`.
|
|
490
|
+
OPENSSL_EXPORT int PEM_write_X509(FILE *fp, const X509 *x);
|
|
491
|
+
OPENSSL_EXPORT int PEM_write_X509_CRL(FILE *fp, const X509_CRL *in);
|
|
492
|
+
OPENSSL_EXPORT int PEM_write_X509_AUX(FILE *fp, const X509 *in);
|
|
493
|
+
OPENSSL_EXPORT int PEM_write_X509_REQ(FILE *fp, const X509_REQ *in);
|
|
494
|
+
OPENSSL_EXPORT int PEM_write_X509_REQ_NEW(FILE *fp, const X509_REQ *in);
|
|
495
|
+
OPENSSL_EXPORT int PEM_write_PKCS7(FILE *fp, const PKCS7 *in);
|
|
496
|
+
OPENSSL_EXPORT int PEM_write_PKCS8(FILE *fp, const X509_SIG *in);
|
|
497
|
+
OPENSSL_EXPORT int PEM_write_PKCS8_PRIV_KEY_INFO(FILE *fp,
|
|
498
|
+
const PKCS8_PRIV_KEY_INFO *in);
|
|
499
|
+
OPENSSL_EXPORT int PEM_write_RSAPrivateKey(FILE *fp, const RSA *in,
|
|
500
|
+
const EVP_CIPHER *enc,
|
|
501
|
+
const uint8_t *pass, int pass_len,
|
|
502
|
+
pem_password_cb *cb, void *userdata);
|
|
503
|
+
OPENSSL_EXPORT int PEM_write_RSAPublicKey(FILE *fp, const RSA *in);
|
|
504
|
+
OPENSSL_EXPORT int PEM_write_RSA_PUBKEY(FILE *fp, const RSA *in);
|
|
505
|
+
OPENSSL_EXPORT int PEM_write_DSAPrivateKey(FILE *fp, const DSA *in,
|
|
506
|
+
const EVP_CIPHER *enc,
|
|
507
|
+
const uint8_t *pass, int pass_len,
|
|
508
|
+
pem_password_cb *cb, void *userdata);
|
|
509
|
+
OPENSSL_EXPORT int PEM_write_DSA_PUBKEY(FILE *fp, const DSA *in);
|
|
510
|
+
OPENSSL_EXPORT int PEM_write_DSAparams(FILE *fp, const DSA *in);
|
|
511
|
+
OPENSSL_EXPORT int PEM_write_ECPrivateKey(FILE *fp, const EC_KEY *in,
|
|
512
|
+
const EVP_CIPHER *enc,
|
|
513
|
+
const uint8_t *pass, int pass_len,
|
|
514
|
+
pem_password_cb *cb, void *userdata);
|
|
515
|
+
OPENSSL_EXPORT int PEM_write_EC_PUBKEY(FILE *fp, const EC_KEY *in);
|
|
516
|
+
OPENSSL_EXPORT int PEM_write_DHparams(FILE *fp, const DH *in);
|
|
517
|
+
OPENSSL_EXPORT int PEM_write_PrivateKey(FILE *fp, const EVP_PKEY *in,
|
|
518
|
+
const EVP_CIPHER *enc,
|
|
519
|
+
const uint8_t *pass, int pass_len,
|
|
520
|
+
pem_password_cb *cb, void *userdata);
|
|
521
|
+
OPENSSL_EXPORT int PEM_write_PUBKEY(FILE *fp, const EVP_PKEY *in);
|
|
522
|
+
|
|
523
|
+
|
|
524
|
+
// Reading and writing raw PEM blocks.
|
|
525
|
+
//
|
|
526
|
+
// The functions in this section read and write PEM blocks without decoding
|
|
527
|
+
// their contents.
|
|
528
|
+
|
|
529
|
+
// PEM_BUFSIZE is an arbitrary buffer size used within the library. Some
|
|
530
|
+
// external callers depend on it being defined.
|
|
531
|
+
#define PEM_BUFSIZE 1024
|
|
532
|
+
|
|
533
|
+
// The following constants are a collection of known PEM types.
|
|
534
|
+
#define PEM_STRING_X509_OLD "X509 CERTIFICATE"
|
|
535
|
+
#define PEM_STRING_X509 "CERTIFICATE"
|
|
536
|
+
#define PEM_STRING_X509_PAIR "CERTIFICATE PAIR"
|
|
537
|
+
#define PEM_STRING_X509_TRUSTED "TRUSTED CERTIFICATE"
|
|
538
|
+
#define PEM_STRING_X509_REQ_OLD "NEW CERTIFICATE REQUEST"
|
|
539
|
+
#define PEM_STRING_X509_REQ "CERTIFICATE REQUEST"
|
|
540
|
+
#define PEM_STRING_X509_CRL "X509 CRL"
|
|
541
|
+
#define PEM_STRING_PUBLIC "PUBLIC KEY"
|
|
542
|
+
#define PEM_STRING_RSA "RSA PRIVATE KEY"
|
|
543
|
+
#define PEM_STRING_RSA_PUBLIC "RSA PUBLIC KEY"
|
|
544
|
+
#define PEM_STRING_DSA "DSA PRIVATE KEY"
|
|
545
|
+
#define PEM_STRING_DSA_PUBLIC "DSA PUBLIC KEY"
|
|
546
|
+
#define PEM_STRING_EC "EC PRIVATE KEY"
|
|
547
|
+
#define PEM_STRING_PKCS7 "PKCS7"
|
|
548
|
+
#define PEM_STRING_PKCS7_SIGNED "PKCS #7 SIGNED DATA"
|
|
549
|
+
#define PEM_STRING_PKCS8 "ENCRYPTED PRIVATE KEY"
|
|
550
|
+
#define PEM_STRING_PKCS8INF "PRIVATE KEY"
|
|
551
|
+
#define PEM_STRING_DHPARAMS "DH PARAMETERS"
|
|
552
|
+
#define PEM_STRING_SSL_SESSION "SSL SESSION PARAMETERS"
|
|
553
|
+
#define PEM_STRING_DSAPARAMS "DSA PARAMETERS"
|
|
554
|
+
#define PEM_STRING_ECDSA_PUBLIC "ECDSA PUBLIC KEY"
|
|
555
|
+
#define PEM_STRING_ECPRIVATEKEY "EC PRIVATE KEY"
|
|
556
|
+
#define PEM_STRING_CMS "CMS"
|
|
557
|
+
|
|
558
|
+
// PEM_STRING_EVP_PKEY is not a PEM type, but is an implementation detail of
|
|
559
|
+
// `PEM_read_bio_PrivateKey`.
|
|
560
|
+
#define PEM_STRING_EVP_PKEY "ANY PRIVATE KEY"
|
|
561
|
+
|
|
562
|
+
// PEM_read_bio reads from `bio` until the next PEM block. If one is found, it
|
|
563
|
+
// returns one and sets `*out_name`, `*out_header`, and `*out_data` to
|
|
564
|
+
// newly-allocated buffers containing the PEM type, the header block, and the
|
|
565
|
+
// decoded data, respectively. `*out_name` and `*out_header` are NUL-terminated
|
|
566
|
+
// C strings, while `*out_data` has `*out_len` bytes. The caller must release
|
|
567
|
+
// each of `*out_name`, `*out_header`, and `*out_data` with `OPENSSL_free` when
|
|
568
|
+
// done.
|
|
569
|
+
//
|
|
570
|
+
// If no PEM block is found, this function returns zero and pushes
|
|
571
|
+
// `PEM_R_NO_START_LINE` to the error queue. If one is found, but there is an
|
|
572
|
+
// error decoding it, it returns zero and pushes some other error to the error
|
|
573
|
+
// queue.
|
|
574
|
+
//
|
|
575
|
+
// This function does not decrypt encrypted PEM blocks and instead returns the
|
|
576
|
+
// header and (possibly encrypted) data unprocessed. See `PEM_bytes_read_bio` to
|
|
577
|
+
// decrypt blocks.
|
|
578
|
+
OPENSSL_EXPORT int PEM_read_bio(BIO *bio, char **out_name, char **out_header,
|
|
579
|
+
uint8_t **out_data, long *out_len);
|
|
580
|
+
|
|
581
|
+
// PEM_read behaves like `PEM_read_bio` but reads from `fp`.
|
|
582
|
+
OPENSSL_EXPORT int PEM_read(FILE *fp, char **out_name, char **out_header,
|
|
583
|
+
uint8_t **out_data, long *out_len);
|
|
584
|
+
|
|
585
|
+
// PEM_write_bio writes a PEM block to `bio`, containing `len` bytes from `data`
|
|
586
|
+
// as data. `name` and `hdr` are NUL-terminated C strings containing the PEM
|
|
587
|
+
// type and header block, respectively. This function returns zero on error and
|
|
588
|
+
// the number of bytes written on success.
|
|
589
|
+
OPENSSL_EXPORT int PEM_write_bio(BIO *bio, const char *name, const char *hdr,
|
|
590
|
+
const uint8_t *data, long len);
|
|
591
|
+
|
|
592
|
+
// PEM_write behaves like `PEM_write_bio` but reads from `fp`.
|
|
593
|
+
OPENSSL_EXPORT int PEM_write(FILE *fp, const char *name, const char *hdr,
|
|
594
|
+
const uint8_t *data, long len);
|
|
595
|
+
|
|
596
|
+
// PEM_bytes_read_bio reads from `bio` until it finds a PEM block whose name
|
|
597
|
+
// matches `expected_name`. If one is found, it sets `*out_name` and `*out_data`
|
|
598
|
+
// to newly-allocated buffers containing the PEM type and (possibly decrypted)
|
|
599
|
+
// PEM data. `*out_name` is a NUL-terminated C string, while `*out_data` has
|
|
600
|
+
// `*out_len` bytes. The caller must release `*out_name` and `*out_data` with
|
|
601
|
+
// `OPENSSL_free` when done.
|
|
602
|
+
//
|
|
603
|
+
// If the PEM block is encrypted, `cb` will be called to look up the password.
|
|
604
|
+
// See `pem_password_cb` for details. If `cb` is NULL, `PEM_def_callback` is
|
|
605
|
+
// used and `userdata` should be a NUL-terminated C string containing the
|
|
606
|
+
// password. Set both `cb` and `userdata` to NULL to only handle plaintext
|
|
607
|
+
// blocks.
|
|
608
|
+
//
|
|
609
|
+
// `expected_name` and `*out_name` may not necessarily be the same value, so
|
|
610
|
+
// callers must check `*out_name` before decoding `*out_data`. In addition to an
|
|
611
|
+
// exact match, the following values are also accepted:
|
|
612
|
+
//
|
|
613
|
+
// - If `expected_name` is "CERTIFICATE", the older "X509 CERTIFICATE" type is
|
|
614
|
+
// also accepted.
|
|
615
|
+
//
|
|
616
|
+
// - If `expected_name` is "CERTIFICATE REQUEST", the older "NEW CERTIFICATE
|
|
617
|
+
// REQUEST" type is also accepted.
|
|
618
|
+
//
|
|
619
|
+
// - If `expected_name` is "TRUSTED CERTIFICATE", "CERTIFICATE" and the older
|
|
620
|
+
// "X509 CERTIFICATE" are also accepted.
|
|
621
|
+
//
|
|
622
|
+
// - If `expected_name` is "PKCS7", "PKCS #7 SIGNED DATA" is also accepted.
|
|
623
|
+
//
|
|
624
|
+
// - If `expected_name` is "PKCS7", "CERTIFICATE" is also accepted. This is an
|
|
625
|
+
// exposed implementation detail of `PKCS7_get_PEM_certificates`, which works
|
|
626
|
+
// around a 2000-era mistake by some CAs.
|
|
627
|
+
//
|
|
628
|
+
// - If `expected_name` is "ANY PRIVATE KEY", the type "ANY PRIVATE KEY" is not
|
|
629
|
+
// accepted and, instead, the function accepts "PRIVATE KEY", "ENCRYPTED
|
|
630
|
+
// PRIVATE KEY", "RSA PRIVATE KEY", "EC PRIVATE KEY", and "DSA PRIVATE KEY".
|
|
631
|
+
// This is an exposed implementation detail of `PEM_read_bio_PrivateKey`.
|
|
632
|
+
//
|
|
633
|
+
// TODO(davidben): Can some of the older aliases and workarounds be removed now?
|
|
634
|
+
//
|
|
635
|
+
// If no PEM block is found, this function returns zero and pushes
|
|
636
|
+
// `PEM_R_NO_START_LINE` to the error queue. If one is found, but there is an
|
|
637
|
+
// error decoding it, it returns zero and pushes some other error to the error
|
|
638
|
+
// queue.
|
|
639
|
+
OPENSSL_EXPORT int PEM_bytes_read_bio(uint8_t **out_data, long *out_len,
|
|
640
|
+
char **out_name,
|
|
641
|
+
const char *expected_name, BIO *bio,
|
|
642
|
+
pem_password_cb *cb, void *userdata);
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
// Reading and writing DER-encoded private keys.
|
|
646
|
+
|
|
647
|
+
// d2i_PKCS8PrivateKey_bio reads a DER-encoded EncryptedPrivateKey structure
|
|
648
|
+
// (RFC 5208) from `bio`, decrypts it with `PKCS8_decrypt`, and returns the
|
|
649
|
+
// result as a newly-allocated `EVP_PKEY`, or NULL on error. On success, if
|
|
650
|
+
// `out` is non-NULL, it additionally frees the previous value at `*out` and
|
|
651
|
+
// updates `*out` to the result. The password is determined by calling `cb`, or
|
|
652
|
+
// `PEM_def_callback` if NULL.
|
|
653
|
+
OPENSSL_EXPORT EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bio, EVP_PKEY **out,
|
|
654
|
+
pem_password_cb *cb,
|
|
655
|
+
void *userdata);
|
|
656
|
+
|
|
657
|
+
// i2d_PKCS8PrivateKey_bio encodes `in` as a DER-encoded structure and writes
|
|
658
|
+
// it to `bio`. It returns one on success and zero on error. The structure used
|
|
659
|
+
// depends on `enc`:
|
|
660
|
+
//
|
|
661
|
+
// - If `enc` is NULL, it writes a PrivateKeyInfo structure (RFC 5208).
|
|
662
|
+
//
|
|
663
|
+
// - If `enc` is non-NULL, it writes an EncryptedPrivateKeyInfo structure (RFC
|
|
664
|
+
// 5280). The key is encrypted with PBES2, as in `PKCS8_encrypt`. The password
|
|
665
|
+
// is specified by `pass`, `cb`, and `userdata`, as in `PEM_write_bio_SAMPLE`.
|
|
666
|
+
//
|
|
667
|
+
// WARNING: PrivateKeyInfo and EncryptedPrivateKeyInfo are different formats,
|
|
668
|
+
// and DER does not include a type header. The encrypted and unencrypted modes
|
|
669
|
+
// of this function should not be mixed in the same context.
|
|
670
|
+
OPENSSL_EXPORT int i2d_PKCS8PrivateKey_bio(BIO *bio, const EVP_PKEY *in,
|
|
671
|
+
const EVP_CIPHER *enc,
|
|
672
|
+
const char *pass, int pass_len,
|
|
673
|
+
pem_password_cb *cb, void *userdata);
|
|
674
|
+
|
|
675
|
+
// i2d_PKCS8PrivateKey_nid_bio encodes `in` as a DER-encoded structure and
|
|
676
|
+
// writes it to `bio`. It returns one on success and zero on error. The
|
|
677
|
+
// structure used depends on `nid`:
|
|
678
|
+
//
|
|
679
|
+
// - If `nid` is -1, it writes a PrivateKeyInfo structure (RFC 5208).
|
|
680
|
+
//
|
|
681
|
+
// - Otherwise, it writes an EncryptedPrivateKeyInfo structure (RFC 5280). The
|
|
682
|
+
// key is encrypted with PBES1, as in `PKCS8_encrypt`. The password is
|
|
683
|
+
// specified by `pass`, `cb`, and `userdata`, as in `PEM_write_bio_SAMPLE`.
|
|
684
|
+
//
|
|
685
|
+
// WARNING: PrivateKeyInfo and EncryptedPrivateKeyInfo are different formats,
|
|
686
|
+
// and DER does not include a type header. The encrypted and unencrypted modes
|
|
687
|
+
// of this function should not be mixed in the same context.
|
|
688
|
+
OPENSSL_EXPORT int i2d_PKCS8PrivateKey_nid_bio(BIO *bio, const EVP_PKEY *in,
|
|
689
|
+
int nid, const char *pass,
|
|
690
|
+
int pass_len,
|
|
691
|
+
pem_password_cb *cb,
|
|
692
|
+
void *userdata);
|
|
693
|
+
|
|
694
|
+
// i2d_PKCS8PrivateKey_fp behaves like `i2d_PKCS8PrivateKey_bio` but writes to
|
|
695
|
+
// `fp`.
|
|
696
|
+
OPENSSL_EXPORT int i2d_PKCS8PrivateKey_fp(FILE *fp, const EVP_PKEY *in,
|
|
697
|
+
const EVP_CIPHER *enc,
|
|
698
|
+
const char *pass, int pass_len,
|
|
699
|
+
pem_password_cb *cb, void *userdata);
|
|
700
|
+
|
|
701
|
+
// i2d_PKCS8PrivateKey_nid_fp behaves like `i2d_PKCS8PrivateKey_nid_bio` but
|
|
702
|
+
// writes to `fp`.
|
|
703
|
+
OPENSSL_EXPORT int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, const EVP_PKEY *in,
|
|
704
|
+
int nid, const char *pass,
|
|
705
|
+
int pass_len, pem_password_cb *cb,
|
|
706
|
+
void *userdata);
|
|
707
|
+
|
|
708
|
+
// d2i_PKCS8PrivateKey_fp behaves like `d2i_PKCS8PrivateKey_bio` but reads from
|
|
709
|
+
// `fp`.
|
|
710
|
+
OPENSSL_EXPORT EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **out,
|
|
711
|
+
pem_password_cb *cb,
|
|
712
|
+
void *userdata);
|
|
713
|
+
|
|
714
|
+
|
|
715
|
+
// Internal functions.
|
|
716
|
+
//
|
|
717
|
+
// The following functions are used to implement `PEM_read_bio_*` and
|
|
718
|
+
// `PEM_write_bio_*`. They should not be used outside the library.
|
|
719
|
+
|
|
720
|
+
// PEM_ASN1_read_bio calls `PEM_bytes_read_bio` and then decodes the resulting
|
|
721
|
+
// data with `d2i`, which should behave as in `d2i_SAMPLE`.
|
|
722
|
+
OPENSSL_EXPORT void *PEM_ASN1_read_bio(d2i_of_void *d2i, const char *name,
|
|
723
|
+
BIO *bio, void **out,
|
|
724
|
+
pem_password_cb *cb, void *userdata);
|
|
725
|
+
|
|
726
|
+
// PEM_ASN1_read behaves like `PEM_ASN1_read_bio` but reads from `fp`.
|
|
727
|
+
OPENSSL_EXPORT void *PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp,
|
|
728
|
+
void **out, pem_password_cb *cb,
|
|
729
|
+
void *userdata);
|
|
730
|
+
|
|
731
|
+
// PEM_ASN1_write_bio encodes `in` with `i2d`, which should behave as in
|
|
732
|
+
// `i2d_SAMPLE`. It then writes the result to `bio` as in
|
|
733
|
+
// `PEM_write_bio_SAMPLE`.
|
|
734
|
+
OPENSSL_EXPORT int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name,
|
|
735
|
+
BIO *bio, const void *in,
|
|
736
|
+
const EVP_CIPHER *enc,
|
|
737
|
+
const uint8_t *pass, int pass_len,
|
|
738
|
+
pem_password_cb *cb, void *userdata);
|
|
739
|
+
|
|
740
|
+
// PEM_ASN1_write behaves like `PEM_ASN1_write_bio` but reads from `fp`.
|
|
741
|
+
OPENSSL_EXPORT int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp,
|
|
742
|
+
const void *in, const EVP_CIPHER *enc,
|
|
743
|
+
const uint8_t *pass, int pass_len,
|
|
744
|
+
pem_password_cb *callback, void *userdata);
|
|
745
|
+
|
|
746
|
+
|
|
747
|
+
#if defined(__cplusplus)
|
|
748
|
+
} // extern C
|
|
749
|
+
#endif
|
|
750
|
+
|
|
751
|
+
#define PEM_R_BAD_BASE64_DECODE 100
|
|
752
|
+
#define PEM_R_BAD_DECRYPT 101
|
|
753
|
+
#define PEM_R_BAD_END_LINE 102
|
|
754
|
+
#define PEM_R_BAD_IV_CHARS 103
|
|
755
|
+
#define PEM_R_BAD_PASSWORD_READ 104
|
|
756
|
+
#define PEM_R_CIPHER_IS_NULL 105
|
|
757
|
+
#define PEM_R_ERROR_CONVERTING_PRIVATE_KEY 106
|
|
758
|
+
#define PEM_R_NOT_DEK_INFO 107
|
|
759
|
+
#define PEM_R_NOT_ENCRYPTED 108
|
|
760
|
+
#define PEM_R_NOT_PROC_TYPE 109
|
|
761
|
+
#define PEM_R_NO_START_LINE 110
|
|
762
|
+
#define PEM_R_READ_KEY 111
|
|
763
|
+
#define PEM_R_SHORT_HEADER 112
|
|
764
|
+
#define PEM_R_UNSUPPORTED_CIPHER 113
|
|
765
|
+
#define PEM_R_UNSUPPORTED_ENCRYPTION 114
|
|
766
|
+
#define PEM_R_UNSUPPORTED_PROC_TYPE_VERSION 115
|
|
767
|
+
#define PEM_R_NO_DATA 116
|
|
768
|
+
|
|
769
|
+
#endif // OPENSSL_HEADER_PEM_H
|