├── .azdo └── codeql.yml ├── CMakeLists.txt ├── COPYING ├── ChangeLog ├── FindLibreSSL.cmake ├── INSTALL ├── LibreSSLConfig.cmake.in ├── Makefile.am ├── Makefile.am.common ├── Makefile.in ├── README.md ├── README.mingw.md ├── VERSION ├── aclocal.m4 ├── apps ├── CMakeLists.txt ├── Makefile.am ├── Makefile.in ├── nc │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── atomicio.c │ ├── atomicio.h │ ├── compat │ │ ├── accept4.c │ │ ├── base64.c │ │ ├── readpassphrase.c │ │ ├── socket.c │ │ └── sys │ │ │ └── socket.h │ ├── nc.1 │ ├── netcat.c │ └── socks.c ├── ocspcheck │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── compat │ │ └── memmem.c │ ├── http.c │ ├── http.h │ ├── ocspcheck.8 │ └── ocspcheck.c └── openssl │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── apps.c │ ├── apps.h │ ├── apps_posix.c │ ├── apps_win.c │ ├── asn1pars.c │ ├── ca.c │ ├── certhash.c │ ├── certhash_win.c │ ├── ciphers.c │ ├── cms.c │ ├── compat │ ├── clock_gettime_osx.c │ └── poll_win.c │ ├── crl.c │ ├── crl2p7.c │ ├── dgst.c │ ├── dh.c │ ├── dhparam.c │ ├── dsa.c │ ├── dsaparam.c │ ├── ec.c │ ├── ecparam.c │ ├── enc.c │ ├── errstr.c │ ├── gendh.c │ ├── gendsa.c │ ├── genpkey.c │ ├── genrsa.c │ ├── ocsp.c │ ├── openssl.1 │ ├── openssl.c │ ├── passwd.c │ ├── pkcs12.c │ ├── pkcs7.c │ ├── pkcs8.c │ ├── pkey.c │ ├── pkeyparam.c │ ├── pkeyutl.c │ ├── prime.c │ ├── progs.h │ ├── rand.c │ ├── req.c │ ├── rsa.c │ ├── rsautl.c │ ├── s_apps.h │ ├── s_cb.c │ ├── s_client.c │ ├── s_server.c │ ├── s_socket.c │ ├── s_time.c │ ├── sess_id.c │ ├── smime.c │ ├── speed.c │ ├── testdsa.h │ ├── testrsa.h │ ├── timeouts.h │ ├── ts.c │ ├── verify.c │ ├── version.c │ └── x509.c ├── cert.pem ├── cmake_export_symbol.cmake ├── cmake_uninstall.cmake.in ├── compile ├── config ├── config.guess ├── config.sub ├── configure ├── configure.ac ├── crypto ├── CMakeLists.txt ├── Makefile.am ├── Makefile.am.arc4random ├── Makefile.am.elf-arm ├── Makefile.am.elf-mips ├── Makefile.am.elf-mips64 ├── Makefile.am.elf-x86_64 ├── Makefile.am.macosx-x86_64 ├── Makefile.am.masm-x86_64 ├── Makefile.am.mingw64-x86_64 ├── Makefile.in ├── VERSION ├── aes │ ├── aes-elf-armv4.S │ ├── aes-elf-x86_64.S │ ├── aes-macosx-x86_64.S │ ├── aes-masm-x86_64.S │ ├── aes-mingw64-x86_64.S │ ├── aes-mips.S │ ├── aes.c │ ├── aes_core.c │ ├── aes_ige.c │ ├── aes_local.h │ ├── aesni-elf-x86_64.S │ ├── aesni-macosx-x86_64.S │ ├── aesni-masm-x86_64.S │ ├── aesni-mingw64-x86_64.S │ ├── bsaes-elf-x86_64.S │ ├── bsaes-macosx-x86_64.S │ ├── bsaes-masm-x86_64.S │ ├── bsaes-mingw64-x86_64.S │ ├── vpaes-elf-x86_64.S │ ├── vpaes-macosx-x86_64.S │ ├── vpaes-masm-x86_64.S │ └── vpaes-mingw64-x86_64.S ├── arch │ ├── aarch64 │ │ └── crypto_arch.h │ ├── amd64 │ │ └── crypto_arch.h │ ├── arm │ │ └── crypto_arch.h │ ├── i386 │ │ └── crypto_arch.h │ ├── mips64 │ │ └── crypto_arch.h │ ├── powerpc │ │ └── crypto_arch.h │ ├── powerpc64 │ │ └── crypto_arch.h │ ├── riscv64 │ │ └── crypto_arch.h │ └── sparc64 │ │ └── crypto_arch.h ├── arm_arch.h ├── armcap.c ├── armv4cpuid.S ├── asn1 │ ├── a_bitstr.c │ ├── a_enum.c │ ├── a_int.c │ ├── a_mbstr.c │ ├── a_object.c │ ├── a_octet.c │ ├── a_pkey.c │ ├── a_print.c │ ├── a_pubkey.c │ ├── a_strex.c │ ├── a_string.c │ ├── a_strnid.c │ ├── a_time.c │ ├── a_time_posix.c │ ├── a_time_tm.c │ ├── a_type.c │ ├── a_utf8.c │ ├── asn1_err.c │ ├── asn1_gen.c │ ├── asn1_item.c │ ├── asn1_lib.c │ ├── asn1_local.h │ ├── asn1_old.c │ ├── asn1_old_lib.c │ ├── asn1_par.c │ ├── asn1_types.c │ ├── asn_mime.c │ ├── asn_moid.c │ ├── bio_asn1.c │ ├── bio_ndef.c │ ├── charmap.h │ ├── p5_pbe.c │ ├── p5_pbev2.c │ ├── p8_pkey.c │ ├── t_crl.c │ ├── t_req.c │ ├── t_spki.c │ ├── t_x509.c │ ├── t_x509a.c │ ├── tasn_dec.c │ ├── tasn_enc.c │ ├── tasn_fre.c │ ├── tasn_new.c │ ├── tasn_prn.c │ ├── tasn_typ.c │ ├── tasn_utl.c │ ├── x_algor.c │ ├── x_attrib.c │ ├── x_bignum.c │ ├── x_crl.c │ ├── x_exten.c │ ├── x_info.c │ ├── x_long.c │ ├── x_name.c │ ├── x_pkey.c │ ├── x_pubkey.c │ ├── x_req.c │ ├── x_sig.c │ ├── x_spki.c │ ├── x_val.c │ ├── x_x509.c │ └── x_x509a.c ├── bf │ ├── bf_local.h │ └── blowfish.c ├── bio │ ├── b_dump.c │ ├── b_posix.c │ ├── b_print.c │ ├── b_sock.c │ ├── b_win.c │ ├── bf_buff.c │ ├── bf_nbio.c │ ├── bf_null.c │ ├── bio_cb.c │ ├── bio_err.c │ ├── bio_lib.c │ ├── bio_local.h │ ├── bio_meth.c │ ├── bss_acpt.c │ ├── bss_bio.c │ ├── bss_conn.c │ ├── bss_dgram.c │ ├── bss_fd.c │ ├── bss_file.c │ ├── bss_log.c │ ├── bss_mem.c │ ├── bss_null.c │ └── bss_sock.c ├── bn │ ├── arch │ │ ├── aarch64 │ │ │ └── bn_arch.h │ │ ├── amd64 │ │ │ ├── bignum_add.S │ │ │ ├── bignum_cmadd.S │ │ │ ├── bignum_cmul.S │ │ │ ├── bignum_mul.S │ │ │ ├── bignum_mul_4_8_alt.S │ │ │ ├── bignum_mul_8_16_alt.S │ │ │ ├── bignum_sqr.S │ │ │ ├── bignum_sqr_4_8_alt.S │ │ │ ├── bignum_sqr_8_16_alt.S │ │ │ ├── bignum_sub.S │ │ │ ├── bn_arch.c │ │ │ ├── bn_arch.h │ │ │ └── word_clz.S │ │ ├── arm │ │ │ └── bn_arch.h │ │ ├── i386 │ │ │ └── bn_arch.h │ │ ├── mips │ │ │ └── bn_arch.h │ │ ├── mips64 │ │ │ └── bn_arch.h │ │ ├── powerpc │ │ │ └── bn_arch.h │ │ ├── powerpc64 │ │ │ └── bn_arch.h │ │ ├── riscv64 │ │ │ └── bn_arch.h │ │ └── sparc64 │ │ │ └── bn_arch.h │ ├── bn-mips.S │ ├── bn_add.c │ ├── bn_bpsw.c │ ├── bn_const.c │ ├── bn_convert.c │ ├── bn_ctx.c │ ├── bn_div.c │ ├── bn_err.c │ ├── bn_exp.c │ ├── bn_gcd.c │ ├── bn_internal.h │ ├── bn_isqrt.c │ ├── bn_kron.c │ ├── bn_lib.c │ ├── bn_local.h │ ├── bn_mod.c │ ├── bn_mod_sqrt.c │ ├── bn_mont.c │ ├── bn_mul.c │ ├── bn_prime.c │ ├── bn_prime.h │ ├── bn_primitives.c │ ├── bn_print.c │ ├── bn_rand.c │ ├── bn_recp.c │ ├── bn_shift.c │ ├── bn_small_primes.c │ ├── bn_sqr.c │ ├── bn_word.c │ ├── modexp512-elf-x86_64.S │ ├── modexp512-macosx-x86_64.S │ ├── modexp512-masm-x86_64.S │ ├── mont-elf-armv4.S │ ├── mont-elf-x86_64.S │ ├── mont-macosx-x86_64.S │ ├── mont-masm-x86_64.S │ ├── mont-mips.S │ ├── mont5-elf-x86_64.S │ ├── mont5-macosx-x86_64.S │ ├── mont5-masm-x86_64.S │ ├── s2n_bignum.h │ └── s2n_bignum_internal.h ├── buffer │ ├── buf_err.c │ └── buffer.c ├── bytestring │ ├── bs_ber.c │ ├── bs_cbb.c │ ├── bs_cbs.c │ └── bytestring.h ├── camellia │ ├── camellia.c │ └── camellia.h ├── cast │ ├── cast.c │ └── cast_local.h ├── chacha │ ├── chacha-merged.c │ └── chacha.c ├── cmac │ ├── cm_ameth.c │ ├── cm_pmeth.c │ └── cmac.c ├── cms │ ├── cms_asn1.c │ ├── cms_att.c │ ├── cms_dd.c │ ├── cms_enc.c │ ├── cms_env.c │ ├── cms_err.c │ ├── cms_ess.c │ ├── cms_io.c │ ├── cms_kari.c │ ├── cms_lib.c │ ├── cms_local.h │ ├── cms_pwri.c │ ├── cms_sd.c │ └── cms_smime.c ├── compat │ ├── arc4random.c │ ├── arc4random.h │ ├── arc4random_aix.h │ ├── arc4random_freebsd.h │ ├── arc4random_hpux.h │ ├── arc4random_linux.h │ ├── arc4random_netbsd.h │ ├── arc4random_osx.h │ ├── arc4random_solaris.h │ ├── arc4random_uniform.c │ ├── arc4random_win.h │ ├── bsd-asprintf.c │ ├── chacha_private.h │ ├── crypto_lock_win.c │ ├── explicit_bzero.c │ ├── explicit_bzero_win.c │ ├── freezero.c │ ├── getentropy_aix.c │ ├── getentropy_freebsd.c │ ├── getentropy_hpux.c │ ├── getentropy_linux.c │ ├── getentropy_netbsd.c │ ├── getentropy_osx.c │ ├── getentropy_solaris.c │ ├── getentropy_win.c │ ├── getopt_long.c │ ├── getpagesize.c │ ├── getprogname_linux.c │ ├── getprogname_unimpl.c │ ├── getprogname_windows.c │ ├── posix_win.c │ ├── reallocarray.c │ ├── recallocarray.c │ ├── strcasecmp.c │ ├── strlcat.c │ ├── strlcpy.c │ ├── strndup.c │ ├── strnlen.c │ ├── strsep.c │ ├── strtonum.c │ ├── syslog_r.c │ ├── timingsafe_bcmp.c │ └── timingsafe_memcmp.c ├── conf │ ├── conf_api.c │ ├── conf_def.c │ ├── conf_def.h │ ├── conf_err.c │ ├── conf_lib.c │ ├── conf_local.h │ ├── conf_mall.c │ ├── conf_mod.c │ └── conf_sap.c ├── constant_time.h ├── cpt_err.c ├── cpuid-elf-x86_64.S ├── cpuid-macosx-x86_64.S ├── cpuid-masm-x86_64.S ├── cpuid-mingw64-x86_64.S ├── cryptlib.c ├── cryptlib.h ├── crypto.sym ├── crypto_ex_data.c ├── crypto_init.c ├── crypto_internal.h ├── crypto_local.h ├── crypto_lock.c ├── ct │ ├── ct_b64.c │ ├── ct_err.c │ ├── ct_local.h │ ├── ct_log.c │ ├── ct_oct.c │ ├── ct_policy.c │ ├── ct_prn.c │ ├── ct_sct.c │ ├── ct_sct_ctx.c │ ├── ct_vfy.c │ └── ct_x509v3.c ├── curve25519 │ ├── curve25519-generic.c │ ├── curve25519.c │ └── curve25519_internal.h ├── cversion.c ├── des │ ├── des.c │ ├── des_cksum.c │ ├── des_enc.c │ ├── des_fcrypt.c │ ├── des_key.c │ └── des_local.h ├── dh │ ├── dh_ameth.c │ ├── dh_asn1.c │ ├── dh_check.c │ ├── dh_err.c │ ├── dh_gen.c │ ├── dh_key.c │ ├── dh_lib.c │ ├── dh_local.h │ └── dh_pmeth.c ├── dsa │ ├── dsa_ameth.c │ ├── dsa_asn1.c │ ├── dsa_err.c │ ├── dsa_gen.c │ ├── dsa_key.c │ ├── dsa_lib.c │ ├── dsa_local.h │ ├── dsa_meth.c │ ├── dsa_ossl.c │ ├── dsa_pmeth.c │ └── dsa_prn.c ├── ec │ ├── ec_ameth.c │ ├── ec_asn1.c │ ├── ec_check.c │ ├── ec_curve.c │ ├── ec_cvt.c │ ├── ec_err.c │ ├── ec_key.c │ ├── ec_kmeth.c │ ├── ec_lib.c │ ├── ec_local.h │ ├── ec_mult.c │ ├── ec_oct.c │ ├── ec_pmeth.c │ ├── ec_print.c │ ├── eck_prn.c │ ├── ecp_mont.c │ ├── ecp_oct.c │ ├── ecp_smpl.c │ └── ecx_methods.c ├── ecdh │ └── ecdh.c ├── ecdsa │ ├── ecdsa.c │ └── ecdsa_local.h ├── empty.c ├── engine │ └── engine_stubs.c ├── err │ ├── err.c │ ├── err_all.c │ ├── err_local.h │ └── err_prn.c ├── evp │ ├── bio_b64.c │ ├── bio_enc.c │ ├── bio_md.c │ ├── e_aes.c │ ├── e_bf.c │ ├── e_camellia.c │ ├── e_cast.c │ ├── e_chacha.c │ ├── e_chacha20poly1305.c │ ├── e_des.c │ ├── e_des3.c │ ├── e_idea.c │ ├── e_null.c │ ├── e_rc2.c │ ├── e_rc4.c │ ├── e_sm4.c │ ├── e_xcbc_d.c │ ├── evp_aead.c │ ├── evp_cipher.c │ ├── evp_digest.c │ ├── evp_encode.c │ ├── evp_err.c │ ├── evp_key.c │ ├── evp_local.h │ ├── evp_names.c │ ├── evp_pbe.c │ ├── evp_pkey.c │ ├── m_md4.c │ ├── m_md5.c │ ├── m_md5_sha1.c │ ├── m_null.c │ ├── m_ripemd.c │ ├── m_sha1.c │ ├── m_sha3.c │ ├── m_sigver.c │ ├── m_sm3.c │ ├── p_legacy.c │ ├── p_lib.c │ ├── p_sign.c │ ├── p_verify.c │ ├── pmeth_fn.c │ ├── pmeth_gn.c │ └── pmeth_lib.c ├── hidden │ ├── crypto_namespace.h │ └── openssl │ │ ├── aes.h │ │ ├── asn1.h │ │ ├── asn1t.h │ │ ├── bio.h │ │ ├── blowfish.h │ │ ├── bn.h │ │ ├── buffer.h │ │ ├── camellia.h │ │ ├── cast.h │ │ ├── chacha.h │ │ ├── cmac.h │ │ ├── cms.h │ │ ├── conf.h │ │ ├── crypto.h │ │ ├── ct.h │ │ ├── curve25519.h │ │ ├── des.h │ │ ├── dh.h │ │ ├── dsa.h │ │ ├── ec.h │ │ ├── engine.h │ │ ├── err.h │ │ ├── evp.h │ │ ├── hkdf.h │ │ ├── hmac.h │ │ ├── idea.h │ │ ├── lhash.h │ │ ├── md4.h │ │ ├── md5.h │ │ ├── modes.h │ │ ├── objects.h │ │ ├── ocsp.h │ │ ├── pem.h │ │ ├── pkcs12.h │ │ ├── pkcs7.h │ │ ├── poly1305.h │ │ ├── posix_time.h │ │ ├── rand.h │ │ ├── rc2.h │ │ ├── rc4.h │ │ ├── ripemd.h │ │ ├── rsa.h │ │ ├── sha.h │ │ ├── sm3.h │ │ ├── sm4.h │ │ ├── stack.h │ │ ├── ts.h │ │ ├── txt_db.h │ │ ├── ui.h │ │ ├── x509.h │ │ ├── x509_vfy.h │ │ └── x509v3.h ├── hkdf │ └── hkdf.c ├── hmac │ ├── hm_ameth.c │ ├── hm_pmeth.c │ ├── hmac.c │ └── hmac_local.h ├── idea │ ├── idea.c │ └── idea_local.h ├── kdf │ ├── hkdf_evp.c │ ├── kdf_err.c │ └── tls1_prf.c ├── lhash │ └── lhash.c ├── malloc-wrapper.c ├── md4 │ └── md4.c ├── md5 │ ├── md5-elf-x86_64.S │ ├── md5-macosx-x86_64.S │ ├── md5-masm-x86_64.S │ ├── md5-mingw64-x86_64.S │ └── md5.c ├── mem_clr.c ├── mem_dbg.c ├── modes │ ├── cbc128.c │ ├── ccm128.c │ ├── cfb128.c │ ├── ctr128.c │ ├── gcm128.c │ ├── ghash-elf-armv4.S │ ├── ghash-elf-x86_64.S │ ├── ghash-macosx-x86_64.S │ ├── ghash-masm-x86_64.S │ ├── ghash-mingw64-x86_64.S │ ├── modes_local.h │ ├── ofb128.c │ └── xts128.c ├── o_fips.c ├── objects │ ├── obj_dat.c │ ├── obj_dat.h │ ├── obj_err.c │ ├── obj_lib.c │ └── obj_xref.c ├── ocsp │ ├── ocsp_asn.c │ ├── ocsp_cl.c │ ├── ocsp_err.c │ ├── ocsp_ext.c │ ├── ocsp_ht.c │ ├── ocsp_lib.c │ ├── ocsp_local.h │ ├── ocsp_prn.c │ ├── ocsp_srv.c │ └── ocsp_vfy.c ├── pem │ ├── pem_all.c │ ├── pem_err.c │ ├── pem_info.c │ ├── pem_lib.c │ ├── pem_oth.c │ ├── pem_pk8.c │ ├── pem_pkey.c │ ├── pem_sign.c │ ├── pem_x509.c │ ├── pem_xaux.c │ └── pvkfmt.c ├── pkcs12 │ ├── p12_add.c │ ├── p12_asn.c │ ├── p12_attr.c │ ├── p12_crt.c │ ├── p12_decr.c │ ├── p12_init.c │ ├── p12_key.c │ ├── p12_kiss.c │ ├── p12_mutl.c │ ├── p12_npas.c │ ├── p12_p8d.c │ ├── p12_p8e.c │ ├── p12_sbag.c │ ├── p12_utl.c │ ├── pk12err.c │ └── pkcs12_local.h ├── pkcs7 │ ├── pk7_asn1.c │ ├── pk7_attr.c │ ├── pk7_doit.c │ ├── pk7_lib.c │ ├── pk7_mime.c │ ├── pk7_smime.c │ └── pkcs7err.c ├── poly1305 │ ├── poly1305-donna.c │ └── poly1305.c ├── rand │ ├── rand_err.c │ ├── rand_lib.c │ └── randfile.c ├── rc2 │ ├── rc2_cbc.c │ ├── rc2_ecb.c │ ├── rc2_local.h │ ├── rc2_skey.c │ ├── rc2cfb64.c │ └── rc2ofb64.c ├── rc4 │ ├── rc4-elf-x86_64.S │ ├── rc4-macosx-x86_64.S │ ├── rc4-masm-x86_64.S │ ├── rc4-mingw64-x86_64.S │ └── rc4.c ├── ripemd │ └── ripemd.c ├── rsa │ ├── rsa_ameth.c │ ├── rsa_asn1.c │ ├── rsa_blinding.c │ ├── rsa_chk.c │ ├── rsa_eay.c │ ├── rsa_err.c │ ├── rsa_gen.c │ ├── rsa_lib.c │ ├── rsa_local.h │ ├── rsa_meth.c │ ├── rsa_none.c │ ├── rsa_oaep.c │ ├── rsa_pk1.c │ ├── rsa_pmeth.c │ ├── rsa_prn.c │ ├── rsa_pss.c │ ├── rsa_saos.c │ ├── rsa_sign.c │ └── rsa_x931.c ├── sha │ ├── sha1-elf-armv4.S │ ├── sha1-elf-x86_64.S │ ├── sha1-macosx-x86_64.S │ ├── sha1-masm-x86_64.S │ ├── sha1-mingw64-x86_64.S │ ├── sha1-mips.S │ ├── sha1.c │ ├── sha256-elf-armv4.S │ ├── sha256-elf-x86_64.S │ ├── sha256-macosx-x86_64.S │ ├── sha256-masm-x86_64.S │ ├── sha256-mingw64-x86_64.S │ ├── sha256-mips.S │ ├── sha256.c │ ├── sha3.c │ ├── sha3_internal.h │ ├── sha512-elf-armv4.S │ ├── sha512-elf-x86_64.S │ ├── sha512-macosx-x86_64.S │ ├── sha512-masm-x86_64.S │ ├── sha512-mingw64-x86_64.S │ ├── sha512-mips.S │ ├── sha512.c │ └── sha_internal.h ├── sm3 │ └── sm3.c ├── sm4 │ └── sm4.c ├── stack │ ├── stack.c │ └── stack_local.h ├── ts │ ├── ts_asn1.c │ ├── ts_conf.c │ ├── ts_err.c │ ├── ts_lib.c │ ├── ts_local.h │ ├── ts_req_print.c │ ├── ts_req_utils.c │ ├── ts_rsp_print.c │ ├── ts_rsp_sign.c │ ├── ts_rsp_utils.c │ ├── ts_rsp_verify.c │ └── ts_verify_ctx.c ├── txt_db │ └── txt_db.c ├── ui │ ├── ui_err.c │ ├── ui_lib.c │ ├── ui_local.h │ ├── ui_null.c │ ├── ui_openssl.c │ └── ui_openssl_win.c ├── x509 │ ├── by_dir.c │ ├── by_file.c │ ├── by_mem.c │ ├── x509_addr.c │ ├── x509_akey.c │ ├── x509_akeya.c │ ├── x509_alt.c │ ├── x509_asid.c │ ├── x509_att.c │ ├── x509_bcons.c │ ├── x509_bitst.c │ ├── x509_cmp.c │ ├── x509_conf.c │ ├── x509_constraints.c │ ├── x509_cpols.c │ ├── x509_crld.c │ ├── x509_d2.c │ ├── x509_def.c │ ├── x509_err.c │ ├── x509_ext.c │ ├── x509_extku.c │ ├── x509_genn.c │ ├── x509_ia5.c │ ├── x509_info.c │ ├── x509_int.c │ ├── x509_internal.h │ ├── x509_issuer_cache.c │ ├── x509_issuer_cache.h │ ├── x509_lib.c │ ├── x509_local.h │ ├── x509_lu.c │ ├── x509_ncons.c │ ├── x509_obj.c │ ├── x509_ocsp.c │ ├── x509_pcons.c │ ├── x509_pku.c │ ├── x509_pmaps.c │ ├── x509_policy.c │ ├── x509_prn.c │ ├── x509_purp.c │ ├── x509_r2x.c │ ├── x509_req.c │ ├── x509_set.c │ ├── x509_siginfo.c │ ├── x509_skey.c │ ├── x509_trs.c │ ├── x509_txt.c │ ├── x509_utl.c │ ├── x509_v3.c │ ├── x509_verify.c │ ├── x509_verify.h │ ├── x509_vfy.c │ ├── x509_vpm.c │ ├── x509cset.c │ ├── x509name.c │ ├── x509rset.c │ ├── x509spki.c │ ├── x509type.c │ └── x_all.c └── x86_arch.h ├── depcomp ├── include ├── CMakeLists.txt ├── Makefile.am ├── Makefile.in ├── arch │ ├── aarch64 │ │ └── opensslconf.h │ ├── alpha │ │ └── opensslconf.h │ ├── amd64 │ │ └── opensslconf.h │ ├── arm │ │ └── opensslconf.h │ ├── hppa │ │ └── opensslconf.h │ ├── i386 │ │ └── opensslconf.h │ ├── m88k │ │ └── opensslconf.h │ ├── mips │ │ └── opensslconf.h │ ├── mips64 │ │ └── opensslconf.h │ ├── powerpc │ │ └── opensslconf.h │ ├── powerpc64 │ │ └── opensslconf.h │ ├── riscv64 │ │ └── opensslconf.h │ ├── sh │ │ └── opensslconf.h │ └── sparc64 │ │ └── opensslconf.h ├── compat │ ├── arpa │ │ ├── inet.h │ │ └── nameser.h │ ├── dirent.h │ ├── dirent_msvc.h │ ├── endian.h │ ├── err.h │ ├── fcntl.h │ ├── getopt.h │ ├── limits.h │ ├── netdb.h │ ├── netinet │ │ ├── in.h │ │ ├── ip.h │ │ └── tcp.h │ ├── poll.h │ ├── pthread.h │ ├── readpassphrase.h │ ├── resolv.h │ ├── stdint.h │ ├── stdio.h │ ├── stdlib.h │ ├── string.h │ ├── sys │ │ ├── _null.h │ │ ├── ioctl.h │ │ ├── mman.h │ │ ├── param.h │ │ ├── queue.h │ │ ├── select.h │ │ ├── socket.h │ │ ├── stat.h │ │ ├── time.h │ │ ├── tree.h │ │ ├── types.h │ │ └── uio.h │ ├── syslog.h │ ├── time.h │ ├── unistd.h │ └── win32netcompat.h ├── openssl │ ├── Makefile.am │ ├── Makefile.in │ ├── aes.h │ ├── asn1.h │ ├── asn1t.h │ ├── bio.h │ ├── blowfish.h │ ├── bn.h │ ├── buffer.h │ ├── camellia.h │ ├── cast.h │ ├── chacha.h │ ├── cmac.h │ ├── cms.h │ ├── comp.h │ ├── conf.h │ ├── crypto.h │ ├── ct.h │ ├── curve25519.h │ ├── des.h │ ├── dh.h │ ├── dsa.h │ ├── dtls1.h │ ├── ec.h │ ├── ecdh.h │ ├── ecdsa.h │ ├── engine.h │ ├── err.h │ ├── evp.h │ ├── hkdf.h │ ├── hmac.h │ ├── idea.h │ ├── kdf.h │ ├── lhash.h │ ├── md4.h │ ├── md5.h │ ├── modes.h │ ├── obj_mac.h │ ├── objects.h │ ├── ocsp.h │ ├── opensslconf.h │ ├── opensslfeatures.h │ ├── opensslv.h │ ├── ossl_typ.h │ ├── pem.h │ ├── pkcs12.h │ ├── pkcs7.h │ ├── poly1305.h │ ├── posix_time.h │ ├── rand.h │ ├── rc2.h │ ├── rc4.h │ ├── ripemd.h │ ├── rsa.h │ ├── safestack.h │ ├── sha.h │ ├── sm3.h │ ├── sm4.h │ ├── srtp.h │ ├── ssl.h │ ├── ssl3.h │ ├── stack.h │ ├── tls1.h │ ├── ts.h │ ├── txt_db.h │ ├── ui.h │ ├── x509.h │ ├── x509_vfy.h │ └── x509v3.h ├── pqueue.h └── tls.h ├── install-sh ├── libcrypto.pc.in ├── libssl.pc.in ├── libtls.pc.in ├── ltmain.sh ├── m4 ├── ax_add_fortify_source.m4 ├── ax_check_compile_flag.m4 ├── check-hardening-options.m4 ├── check-libc.m4 ├── check-os-options.m4 ├── disable-compiler-warnings.m4 ├── libtool.m4 ├── ltoptions.m4 ├── ltsugar.m4 ├── ltversion.m4 └── lt~obsolete.m4 ├── man ├── ACCESS_DESCRIPTION_new.3 ├── AES_encrypt.3 ├── ASIdentifiers_new.3 ├── ASN1_BIT_STRING_set.3 ├── ASN1_INTEGER_get.3 ├── ASN1_NULL_new.3 ├── ASN1_OBJECT_new.3 ├── ASN1_PRINTABLE_type.3 ├── ASN1_STRING_TABLE_get.3 ├── ASN1_STRING_length.3 ├── ASN1_STRING_new.3 ├── ASN1_STRING_print_ex.3 ├── ASN1_TIME_set.3 ├── ASN1_TYPE_get.3 ├── ASN1_UNIVERSALSTRING_to_string.3 ├── ASN1_generate_nconf.3 ├── ASN1_get_object.3 ├── ASN1_item_d2i.3 ├── ASN1_item_digest.3 ├── ASN1_item_new.3 ├── ASN1_item_pack.3 ├── ASN1_item_sign.3 ├── ASN1_item_verify.3 ├── ASN1_mbstring_copy.3 ├── ASN1_parse_dump.3 ├── ASN1_put_object.3 ├── ASRange_new.3 ├── AUTHORITY_KEYID_new.3 ├── BASIC_CONSTRAINTS_new.3 ├── BF_set_key.3 ├── BIO_accept.3 ├── BIO_ctrl.3 ├── BIO_dump.3 ├── BIO_dup_chain.3 ├── BIO_f_base64.3 ├── BIO_f_buffer.3 ├── BIO_f_cipher.3 ├── BIO_f_md.3 ├── BIO_f_null.3 ├── BIO_f_ssl.3 ├── BIO_find_type.3 ├── BIO_get_data.3 ├── BIO_get_ex_new_index.3 ├── BIO_meth_new.3 ├── BIO_new.3 ├── BIO_new_CMS.3 ├── BIO_printf.3 ├── BIO_push.3 ├── BIO_read.3 ├── BIO_s_accept.3 ├── BIO_s_bio.3 ├── BIO_s_connect.3 ├── BIO_s_datagram.3 ├── BIO_s_fd.3 ├── BIO_s_file.3 ├── BIO_s_mem.3 ├── BIO_s_null.3 ├── BIO_s_socket.3 ├── BIO_set_callback.3 ├── BIO_should_retry.3 ├── BN_CTX_new.3 ├── BN_CTX_start.3 ├── BN_add.3 ├── BN_add_word.3 ├── BN_bn2bin.3 ├── BN_cmp.3 ├── BN_copy.3 ├── BN_generate_prime.3 ├── BN_get_rfc3526_prime_8192.3 ├── BN_kronecker.3 ├── BN_mod_inverse.3 ├── BN_mod_mul_montgomery.3 ├── BN_mod_sqrt.3 ├── BN_new.3 ├── BN_num_bytes.3 ├── BN_rand.3 ├── BN_set_bit.3 ├── BN_set_flags.3 ├── BN_set_negative.3 ├── BN_swap.3 ├── BN_zero.3 ├── BUF_MEM_new.3 ├── CMAC_Init.3 ├── CMS_ContentInfo_new.3 ├── CMS_add0_cert.3 ├── CMS_add1_recipient_cert.3 ├── CMS_add1_signer.3 ├── CMS_compress.3 ├── CMS_decrypt.3 ├── CMS_encrypt.3 ├── CMS_final.3 ├── CMS_get0_RecipientInfos.3 ├── CMS_get0_SignerInfos.3 ├── CMS_get0_type.3 ├── CMS_get1_ReceiptRequest.3 ├── CMS_sign.3 ├── CMS_sign_receipt.3 ├── CMS_signed_add1_attr.3 ├── CMS_uncompress.3 ├── CMS_verify.3 ├── CMS_verify_receipt.3 ├── CMakeLists.txt ├── CONF_modules_free.3 ├── CONF_modules_load_file.3 ├── CRYPTO_get_mem_functions.3 ├── CRYPTO_lock.3 ├── CRYPTO_memcmp.3 ├── CRYPTO_set_ex_data.3 ├── ChaCha.3 ├── DES_set_key.3 ├── DH_generate_key.3 ├── DH_generate_parameters.3 ├── DH_get0_pqg.3 ├── DH_get_ex_new_index.3 ├── DH_new.3 ├── DH_set_method.3 ├── DH_size.3 ├── DIST_POINT_new.3 ├── DSA_SIG_new.3 ├── DSA_do_sign.3 ├── DSA_dup_DH.3 ├── DSA_generate_key.3 ├── DSA_generate_parameters_ex.3 ├── DSA_get0_pqg.3 ├── DSA_get_ex_new_index.3 ├── DSA_meth_new.3 ├── DSA_new.3 ├── DSA_set_method.3 ├── DSA_sign.3 ├── DSA_size.3 ├── DTLSv1_listen.3 ├── ECDH_compute_key.3 ├── ECDSA_SIG_new.3 ├── EC_GFp_simple_method.3 ├── EC_GROUP_copy.3 ├── EC_GROUP_new.3 ├── EC_KEY_METHOD_new.3 ├── EC_KEY_new.3 ├── EC_POINT_add.3 ├── EC_POINT_new.3 ├── ENGINE_new.3 ├── ERR.3 ├── ERR_GET_LIB.3 ├── ERR_asprintf_error_data.3 ├── ERR_clear_error.3 ├── ERR_error_string.3 ├── ERR_get_error.3 ├── ERR_load_crypto_strings.3 ├── ERR_load_strings.3 ├── ERR_print_errors.3 ├── ERR_put_error.3 ├── ERR_remove_state.3 ├── ERR_set_mark.3 ├── ESS_SIGNING_CERT_new.3 ├── EVP_AEAD_CTX_init.3 ├── EVP_BytesToKey.3 ├── EVP_CIPHER_CTX_ctrl.3 ├── EVP_CIPHER_CTX_get_cipher_data.3 ├── EVP_CIPHER_CTX_init.3 ├── EVP_CIPHER_CTX_set_flags.3 ├── EVP_CIPHER_do_all.3 ├── EVP_CIPHER_meth_new.3 ├── EVP_CIPHER_nid.3 ├── EVP_DigestInit.3 ├── EVP_DigestSignInit.3 ├── EVP_DigestVerifyInit.3 ├── EVP_EncodeInit.3 ├── EVP_EncryptInit.3 ├── EVP_MD_CTX_ctrl.3 ├── EVP_MD_nid.3 ├── EVP_OpenInit.3 ├── EVP_PKCS82PKEY.3 ├── EVP_PKEY_CTX_ctrl.3 ├── EVP_PKEY_CTX_get_operation.3 ├── EVP_PKEY_CTX_new.3 ├── EVP_PKEY_CTX_set_hkdf_md.3 ├── EVP_PKEY_CTX_set_tls1_prf_md.3 ├── EVP_PKEY_asn1_get_count.3 ├── EVP_PKEY_asn1_new.3 ├── EVP_PKEY_check.3 ├── EVP_PKEY_cmp.3 ├── EVP_PKEY_decrypt.3 ├── EVP_PKEY_derive.3 ├── EVP_PKEY_encrypt.3 ├── EVP_PKEY_get_default_digest_nid.3 ├── EVP_PKEY_keygen.3 ├── EVP_PKEY_meth_get0_info.3 ├── EVP_PKEY_meth_new.3 ├── EVP_PKEY_new.3 ├── EVP_PKEY_print_private.3 ├── EVP_PKEY_set1_RSA.3 ├── EVP_PKEY_sign.3 ├── EVP_PKEY_size.3 ├── EVP_PKEY_verify.3 ├── EVP_PKEY_verify_recover.3 ├── EVP_SealInit.3 ├── EVP_SignInit.3 ├── EVP_VerifyInit.3 ├── EVP_aes_128_cbc.3 ├── EVP_camellia_128_cbc.3 ├── EVP_chacha20.3 ├── EVP_des_cbc.3 ├── EVP_rc4.3 ├── EVP_sha1.3 ├── EVP_sha3_224.3 ├── EVP_sm3.3 ├── EVP_sm4_cbc.3 ├── EXTENDED_KEY_USAGE_new.3 ├── GENERAL_NAME_new.3 ├── HMAC.3 ├── IPAddressRange_new.3 ├── MD5.3 ├── Makefile.am ├── Makefile.in ├── NAME_CONSTRAINTS_new.3 ├── OBJ_NAME_add.3 ├── OBJ_create.3 ├── OBJ_find_sigid_algs.3 ├── OBJ_nid2obj.3 ├── OCSP_CRLID_new.3 ├── OCSP_REQUEST_new.3 ├── OCSP_SERVICELOC_new.3 ├── OCSP_cert_to_id.3 ├── OCSP_request_add1_nonce.3 ├── OCSP_resp_find_status.3 ├── OCSP_response_status.3 ├── OCSP_sendreq_new.3 ├── OPENSSL_VERSION_NUMBER.3 ├── OPENSSL_cleanse.3 ├── OPENSSL_config.3 ├── OPENSSL_init_crypto.3 ├── OPENSSL_init_ssl.3 ├── OPENSSL_load_builtin_modules.3 ├── OPENSSL_malloc.3 ├── OPENSSL_sk_new.3 ├── OpenSSL_add_all_algorithms.3 ├── PEM_ASN1_read.3 ├── PEM_X509_INFO_read.3 ├── PEM_bytes_read_bio.3 ├── PEM_read.3 ├── PEM_read_SSL_SESSION.3 ├── PEM_read_bio_PrivateKey.3 ├── PEM_write_bio_CMS_stream.3 ├── PEM_write_bio_PKCS7_stream.3 ├── PKCS12_SAFEBAG_new.3 ├── PKCS12_create.3 ├── PKCS12_new.3 ├── PKCS12_newpass.3 ├── PKCS12_parse.3 ├── PKCS5_PBKDF2_HMAC.3 ├── PKCS7_add_attribute.3 ├── PKCS7_dataFinal.3 ├── PKCS7_dataInit.3 ├── PKCS7_decrypt.3 ├── PKCS7_encrypt.3 ├── PKCS7_final.3 ├── PKCS7_get_signer_info.3 ├── PKCS7_new.3 ├── PKCS7_set_content.3 ├── PKCS7_set_type.3 ├── PKCS7_sign.3 ├── PKCS7_sign_add_signer.3 ├── PKCS7_verify.3 ├── PKCS8_PRIV_KEY_INFO_new.3 ├── PKCS8_pkey_set0.3 ├── PKEY_USAGE_PERIOD_new.3 ├── POLICYINFO_new.3 ├── RAND_add.3 ├── RAND_bytes.3 ├── RAND_load_file.3 ├── RAND_set_rand_method.3 ├── RC4.3 ├── RIPEMD160.3 ├── RSA_PSS_PARAMS_new.3 ├── RSA_blinding_on.3 ├── RSA_check_key.3 ├── RSA_generate_key.3 ├── RSA_get0_key.3 ├── RSA_get_ex_new_index.3 ├── RSA_meth_new.3 ├── RSA_new.3 ├── RSA_padding_add_PKCS1_type_1.3 ├── RSA_pkey_ctx_ctrl.3 ├── RSA_print.3 ├── RSA_private_encrypt.3 ├── RSA_public_encrypt.3 ├── RSA_security_bits.3 ├── RSA_set_method.3 ├── RSA_sign.3 ├── RSA_sign_ASN1_OCTET_STRING.3 ├── RSA_size.3 ├── SHA1.3 ├── SMIME_crlf_copy.3 ├── SMIME_read_ASN1.3 ├── SMIME_read_CMS.3 ├── SMIME_read_PKCS7.3 ├── SMIME_text.3 ├── SMIME_write_ASN1.3 ├── SMIME_write_CMS.3 ├── SMIME_write_PKCS7.3 ├── SSL_CIPHER_get_name.3 ├── SSL_COMP_add_compression_method.3 ├── SSL_CTX_add1_chain_cert.3 ├── SSL_CTX_add_extra_chain_cert.3 ├── SSL_CTX_add_session.3 ├── SSL_CTX_ctrl.3 ├── SSL_CTX_flush_sessions.3 ├── SSL_CTX_free.3 ├── SSL_CTX_get0_certificate.3 ├── SSL_CTX_get_ex_new_index.3 ├── SSL_CTX_get_verify_mode.3 ├── SSL_CTX_load_verify_locations.3 ├── SSL_CTX_new.3 ├── SSL_CTX_sess_number.3 ├── SSL_CTX_sess_set_cache_size.3 ├── SSL_CTX_sess_set_get_cb.3 ├── SSL_CTX_sessions.3 ├── SSL_CTX_set1_groups.3 ├── SSL_CTX_set_alpn_select_cb.3 ├── SSL_CTX_set_cert_store.3 ├── SSL_CTX_set_cert_verify_callback.3 ├── SSL_CTX_set_cipher_list.3 ├── SSL_CTX_set_client_CA_list.3 ├── SSL_CTX_set_client_cert_cb.3 ├── SSL_CTX_set_default_passwd_cb.3 ├── SSL_CTX_set_generate_session_id.3 ├── SSL_CTX_set_info_callback.3 ├── SSL_CTX_set_keylog_callback.3 ├── SSL_CTX_set_max_cert_list.3 ├── SSL_CTX_set_min_proto_version.3 ├── SSL_CTX_set_mode.3 ├── SSL_CTX_set_msg_callback.3 ├── SSL_CTX_set_num_tickets.3 ├── SSL_CTX_set_options.3 ├── SSL_CTX_set_quiet_shutdown.3 ├── SSL_CTX_set_read_ahead.3 ├── SSL_CTX_set_security_level.3 ├── SSL_CTX_set_session_cache_mode.3 ├── SSL_CTX_set_session_id_context.3 ├── SSL_CTX_set_ssl_version.3 ├── SSL_CTX_set_timeout.3 ├── SSL_CTX_set_tlsext_servername_callback.3 ├── SSL_CTX_set_tlsext_status_cb.3 ├── SSL_CTX_set_tlsext_ticket_key_cb.3 ├── SSL_CTX_set_tlsext_use_srtp.3 ├── SSL_CTX_set_tmp_dh_callback.3 ├── SSL_CTX_set_tmp_rsa_callback.3 ├── SSL_CTX_set_verify.3 ├── SSL_CTX_use_certificate.3 ├── SSL_SESSION_free.3 ├── SSL_SESSION_get0_cipher.3 ├── SSL_SESSION_get0_peer.3 ├── SSL_SESSION_get_compress_id.3 ├── SSL_SESSION_get_ex_new_index.3 ├── SSL_SESSION_get_id.3 ├── SSL_SESSION_get_protocol_version.3 ├── SSL_SESSION_get_time.3 ├── SSL_SESSION_has_ticket.3 ├── SSL_SESSION_is_resumable.3 ├── SSL_SESSION_new.3 ├── SSL_SESSION_print.3 ├── SSL_SESSION_set1_id_context.3 ├── SSL_accept.3 ├── SSL_alert_type_string.3 ├── SSL_clear.3 ├── SSL_connect.3 ├── SSL_copy_session_id.3 ├── SSL_do_handshake.3 ├── SSL_dup.3 ├── SSL_dup_CA_list.3 ├── SSL_export_keying_material.3 ├── SSL_free.3 ├── SSL_get_SSL_CTX.3 ├── SSL_get_certificate.3 ├── SSL_get_ciphers.3 ├── SSL_get_client_CA_list.3 ├── SSL_get_client_random.3 ├── SSL_get_current_cipher.3 ├── SSL_get_default_timeout.3 ├── SSL_get_error.3 ├── SSL_get_ex_data_X509_STORE_CTX_idx.3 ├── SSL_get_ex_new_index.3 ├── SSL_get_fd.3 ├── SSL_get_finished.3 ├── SSL_get_peer_cert_chain.3 ├── SSL_get_peer_certificate.3 ├── SSL_get_rbio.3 ├── SSL_get_server_tmp_key.3 ├── SSL_get_session.3 ├── SSL_get_shared_ciphers.3 ├── SSL_get_state.3 ├── SSL_get_verify_result.3 ├── SSL_get_version.3 ├── SSL_library_init.3 ├── SSL_load_client_CA_file.3 ├── SSL_new.3 ├── SSL_num_renegotiations.3 ├── SSL_pending.3 ├── SSL_read.3 ├── SSL_read_early_data.3 ├── SSL_renegotiate.3 ├── SSL_rstate_string.3 ├── SSL_session_reused.3 ├── SSL_set1_host.3 ├── SSL_set1_param.3 ├── SSL_set_SSL_CTX.3 ├── SSL_set_bio.3 ├── SSL_set_connect_state.3 ├── SSL_set_fd.3 ├── SSL_set_max_send_fragment.3 ├── SSL_set_psk_use_session_callback.3 ├── SSL_set_session.3 ├── SSL_set_shutdown.3 ├── SSL_set_tmp_ecdh.3 ├── SSL_set_verify_result.3 ├── SSL_shutdown.3 ├── SSL_state_string.3 ├── SSL_want.3 ├── SSL_write.3 ├── STACK_OF.3 ├── TS_REQ_new.3 ├── UI_create_method.3 ├── UI_get_string_type.3 ├── UI_new.3 ├── X25519.3 ├── X509V3_EXT_get_nid.3 ├── X509V3_EXT_print.3 ├── X509V3_extensions_print.3 ├── X509V3_get_d2i.3 ├── X509_ALGOR_dup.3 ├── X509_ATTRIBUTE_get0_object.3 ├── X509_ATTRIBUTE_new.3 ├── X509_ATTRIBUTE_set1_object.3 ├── X509_CINF_new.3 ├── X509_CRL_get0_by_serial.3 ├── X509_CRL_new.3 ├── X509_CRL_print.3 ├── X509_EXTENSION_set_object.3 ├── X509_INFO_new.3 ├── X509_LOOKUP_hash_dir.3 ├── X509_LOOKUP_new.3 ├── X509_NAME_ENTRY_get_object.3 ├── X509_NAME_add_entry_by_txt.3 ├── X509_NAME_get_index_by_NID.3 ├── X509_NAME_hash.3 ├── X509_NAME_new.3 ├── X509_NAME_print_ex.3 ├── X509_OBJECT_get0_X509.3 ├── X509_PKEY_new.3 ├── X509_PUBKEY_new.3 ├── X509_PURPOSE_set.3 ├── X509_REQ_add1_attr.3 ├── X509_REQ_add_extensions.3 ├── X509_REQ_new.3 ├── X509_REQ_print_ex.3 ├── X509_REVOKED_new.3 ├── X509_SIG_get0.3 ├── X509_SIG_new.3 ├── X509_STORE_CTX_get_error.3 ├── X509_STORE_CTX_get_ex_new_index.3 ├── X509_STORE_CTX_new.3 ├── X509_STORE_CTX_set_flags.3 ├── X509_STORE_CTX_set_verify.3 ├── X509_STORE_CTX_set_verify_cb.3 ├── X509_STORE_get_by_subject.3 ├── X509_STORE_load_locations.3 ├── X509_STORE_new.3 ├── X509_STORE_set1_param.3 ├── X509_STORE_set_verify_cb_func.3 ├── X509_VERIFY_PARAM_new.3 ├── X509_VERIFY_PARAM_set_flags.3 ├── X509_add1_trust_object.3 ├── X509_check_ca.3 ├── X509_check_host.3 ├── X509_check_issued.3 ├── X509_check_private_key.3 ├── X509_check_purpose.3 ├── X509_cmp.3 ├── X509_cmp_time.3 ├── X509_digest.3 ├── X509_find_by_subject.3 ├── X509_get0_notBefore.3 ├── X509_get0_signature.3 ├── X509_get1_email.3 ├── X509_get_extension_flags.3 ├── X509_get_pubkey.3 ├── X509_get_pubkey_parameters.3 ├── X509_get_serialNumber.3 ├── X509_get_subject_name.3 ├── X509_get_version.3 ├── X509_keyid_set1.3 ├── X509_load_cert_file.3 ├── X509_new.3 ├── X509_ocspid_print.3 ├── X509_print_ex.3 ├── X509_sign.3 ├── X509_signature_dump.3 ├── X509_verify_cert.3 ├── X509v3_addr_add_inherit.3 ├── X509v3_addr_get_range.3 ├── X509v3_addr_inherits.3 ├── X509v3_addr_subset.3 ├── X509v3_addr_validate_path.3 ├── X509v3_asid_add_id_or_range.3 ├── X509v3_get_ext_by_NID.3 ├── a2d_ASN1_OBJECT.3 ├── bn_dump.3 ├── crypto.3 ├── d2i_ASN1_NULL.3 ├── d2i_ASN1_OBJECT.3 ├── d2i_ASN1_OCTET_STRING.3 ├── d2i_ASN1_SEQUENCE_ANY.3 ├── d2i_AUTHORITY_KEYID.3 ├── d2i_BASIC_CONSTRAINTS.3 ├── d2i_CMS_ContentInfo.3 ├── d2i_DHparams.3 ├── d2i_DIST_POINT.3 ├── d2i_DSAPublicKey.3 ├── d2i_ECPKParameters.3 ├── d2i_ESS_SIGNING_CERT.3 ├── d2i_GENERAL_NAME.3 ├── d2i_OCSP_REQUEST.3 ├── d2i_OCSP_RESPONSE.3 ├── d2i_PKCS12.3 ├── d2i_PKCS7.3 ├── d2i_PKCS8PrivateKey_bio.3 ├── d2i_PKCS8_PRIV_KEY_INFO.3 ├── d2i_PKEY_USAGE_PERIOD.3 ├── d2i_POLICYINFO.3 ├── d2i_PrivateKey.3 ├── d2i_RSAPublicKey.3 ├── d2i_SSL_SESSION.3 ├── d2i_TS_REQ.3 ├── d2i_X509.3 ├── d2i_X509_ALGOR.3 ├── d2i_X509_ATTRIBUTE.3 ├── d2i_X509_CRL.3 ├── d2i_X509_EXTENSION.3 ├── d2i_X509_NAME.3 ├── d2i_X509_REQ.3 ├── d2i_X509_SIG.3 ├── des_read_pw.3 ├── evp.3 ├── i2a_ASN1_STRING.3 ├── i2d_CMS_bio_stream.3 ├── i2d_PKCS7_bio_stream.3 ├── lh_new.3 ├── openssl.cnf.5 ├── s2i_ASN1_INTEGER.3 ├── ssl.3 ├── tls_accept_socket.3 ├── tls_client.3 ├── tls_config_ocsp_require_stapling.3 ├── tls_config_set_protocols.3 ├── tls_config_set_session_id.3 ├── tls_config_verify.3 ├── tls_conn_version.3 ├── tls_connect.3 ├── tls_init.3 ├── tls_load_file.3 ├── tls_ocsp_process_response.3 ├── tls_read.3 ├── x509_verify.3 └── x509v3.cnf.5 ├── missing ├── openssl.cnf ├── openssl.pc.in ├── resource.h ├── scripts ├── config.guess ├── config.sub ├── i686-w64-mingw32.cmake ├── test ├── wrap-compiler-for-flag-check └── x86_64-w64-mingw32.cmake ├── ssl ├── CMakeLists.txt ├── Makefile.am ├── Makefile.in ├── VERSION ├── bio_ssl.c ├── bs_ber.c ├── bs_cbb.c ├── bs_cbs.c ├── bytestring.h ├── d1_both.c ├── d1_lib.c ├── d1_pkt.c ├── d1_srtp.c ├── dtls_local.h ├── empty.c ├── hidden │ ├── openssl │ │ ├── srtp.h │ │ ├── ssl.h │ │ └── tls1.h │ └── ssl_namespace.h ├── pqueue.c ├── s3_cbc.c ├── s3_lib.c ├── srtp.h ├── ssl.sym ├── ssl_asn1.c ├── ssl_both.c ├── ssl_cert.c ├── ssl_ciph.c ├── ssl_ciphers.c ├── ssl_clnt.c ├── ssl_err.c ├── ssl_init.c ├── ssl_kex.c ├── ssl_lib.c ├── ssl_local.h ├── ssl_methods.c ├── ssl_packet.c ├── ssl_pkt.c ├── ssl_rsa.c ├── ssl_seclevel.c ├── ssl_sess.c ├── ssl_sigalgs.c ├── ssl_sigalgs.h ├── ssl_srvr.c ├── ssl_stat.c ├── ssl_tlsext.c ├── ssl_tlsext.h ├── ssl_transcript.c ├── ssl_txt.c ├── ssl_versions.c ├── t1_enc.c ├── t1_lib.c ├── tls12_internal.h ├── tls12_key_schedule.c ├── tls12_lib.c ├── tls12_record_layer.c ├── tls13_client.c ├── tls13_error.c ├── tls13_handshake.c ├── tls13_handshake.h ├── tls13_handshake_msg.c ├── tls13_internal.h ├── tls13_key_schedule.c ├── tls13_legacy.c ├── tls13_lib.c ├── tls13_quic.c ├── tls13_record.c ├── tls13_record.h ├── tls13_record_layer.c ├── tls13_server.c ├── tls_buffer.c ├── tls_content.c ├── tls_content.h ├── tls_internal.h ├── tls_key_share.c └── tls_lib.c ├── tap-driver.sh ├── test-driver ├── tests ├── CMakeLists.txt ├── Makefile.am ├── Makefile.in ├── aeadtest.c ├── aeadtest.sh ├── aeadtests.txt ├── aes_128_gcm_tests.txt ├── aes_192_gcm_tests.txt ├── aes_256_gcm_tests.txt ├── aes_test.c ├── aes_wrap.c ├── apitest.c ├── arc4randomforktest.c ├── arc4randomforktest.sh ├── asn1_string_to_utf8.c ├── asn1api.c ├── asn1basic.c ├── asn1complex.c ├── asn1evp.c ├── asn1object.c ├── asn1oct.c ├── asn1string_copy.c ├── asn1test.c ├── asn1time.c ├── asn1time_small.test ├── asn1x509.c ├── base64test.c ├── bf_test.c ├── bio_asn1.c ├── bio_chain.c ├── bio_dump.c ├── bio_host.c ├── bio_mem.c ├── bn_add_sub.c ├── bn_bits.c ├── bn_cmp.c ├── bn_convert.c ├── bn_gcd.c ├── bn_isqrt.c ├── bn_mod_exp.c ├── bn_mod_inverse.c ├── bn_mod_sqrt.c ├── bn_mont.c ├── bn_primes.c ├── bn_print.c ├── bn_shift.c ├── bn_test.c ├── bn_to_string.c ├── bn_unit.c ├── bn_word.c ├── buffertest.c ├── bytestringtest.c ├── ca-int-ecdsa.crl ├── ca-int-ecdsa.pem ├── ca-int-rsa.crl ├── ca-int-rsa.pem ├── ca-root-ecdsa.pem ├── ca-root-rsa.pem ├── casttest.c ├── chacha20_poly1305_tests.txt ├── chachatest.c ├── cipher_list.c ├── cipherstest.c ├── client1-ecdsa-chain.pem ├── client1-ecdsa.pem ├── client1-rsa-chain.pem ├── client1-rsa.pem ├── client2-ecdsa-chain.pem ├── client2-ecdsa.pem ├── client2-rsa-chain.pem ├── client2-rsa.pem ├── client3-ecdsa-chain.pem ├── client3-ecdsa.pem ├── client3-rsa-chain.pem ├── client3-rsa.pem ├── clienttest.c ├── cmstest.c ├── compat │ ├── memmem.c │ └── pipe2.c ├── configtest.c ├── constraints.c ├── crypto_test.c ├── ctlog.conf ├── cttest.c ├── destest.c ├── dhtest.c ├── dsatest.c ├── ec_asn1_test.c ├── ec_point_conversion.c ├── ecc_cdh.c ├── ecdhtest.c ├── ecdsatest.c ├── ectest.c ├── ed25519test.c ├── empty.c ├── evp_ecx_test.c ├── evp_pkey_cleanup.c ├── evp_test.c ├── evptest.c ├── evptest.sh ├── evptests.txt ├── exdata_test.c ├── explicit_bzero.c ├── exportertest.c ├── freenull.c ├── gcm128test.c ├── handshake_table.c ├── hkdf_test.c ├── hmactest.c ├── ideatest.c ├── igetest.c ├── key_schedule.c ├── keypairtest.c ├── keypairtest.sh ├── letsencrypt-r3.crt ├── lhash_test.c ├── libressl.org.crt ├── md_test.c ├── objectstest.c ├── ocsp_test.c ├── ocsptest.bat ├── ocsptest.sh ├── openssl.cnf ├── optionstest.c ├── pbkdf2.c ├── pidwraptest.c ├── pidwraptest.sh ├── pkcs7test.c ├── policy.c ├── policy_intermediate.pem ├── policy_intermediate_any.pem ├── policy_intermediate_duplicate.pem ├── policy_intermediate_invalid.pem ├── policy_intermediate_mapped.pem ├── policy_intermediate_mapped_any.pem ├── policy_intermediate_mapped_oid3.pem ├── policy_intermediate_require.pem ├── policy_intermediate_require1.pem ├── policy_intermediate_require2.pem ├── policy_intermediate_require_duplicate.pem ├── policy_intermediate_require_no_policies.pem ├── policy_leaf.pem ├── policy_leaf_any.pem ├── policy_leaf_duplicate.pem ├── policy_leaf_invalid.pem ├── policy_leaf_none.pem ├── policy_leaf_oid1.pem ├── policy_leaf_oid2.pem ├── policy_leaf_oid3.pem ├── policy_leaf_oid4.pem ├── policy_leaf_oid5.pem ├── policy_leaf_require.pem ├── policy_leaf_require1.pem ├── policy_root.pem ├── policy_root2.pem ├── policy_root_cross_inhibit_mapping.pem ├── poly1305test.c ├── pq_expected.txt ├── pq_test.bat ├── pq_test.c ├── pq_test.sh ├── quictest.bat ├── quictest.c ├── quictest.sh ├── randtest.c ├── rc2_test.c ├── rc4_test.c ├── record_layer_test.c ├── recordtest.c ├── rfc3779.c ├── rfc5280time.c ├── rfc5280time_small.test ├── rmd_test.c ├── rsa_padding_test.c ├── rsa_test.c ├── server1-ecdsa-chain.pem ├── server1-ecdsa.pem ├── server1-rsa-chain.pem ├── server1-rsa.pem ├── server2-ecdsa-chain.pem ├── server2-ecdsa.pem ├── server2-rsa-chain.pem ├── server2-rsa.pem ├── server3-ecdsa-chain.pem ├── server3-ecdsa.pem ├── server3-rsa-chain.pem ├── server3-rsa.pem ├── servertest.bat ├── servertest.c ├── servertest.sh ├── sha_test.c ├── shutdowntest.bat ├── shutdowntest.c ├── shutdowntest.sh ├── signertest.c ├── sm3test.c ├── sm4test.c ├── ssl_get_shared_ciphers.c ├── ssl_methods.c ├── ssl_set_alpn_protos.c ├── ssl_verify_param.c ├── ssl_versions.c ├── ssltest.bat ├── ssltest.c ├── ssltest.sh ├── testdsa.bat ├── testdsa.sh ├── testenc.bat ├── testenc.sh ├── testrsa.bat ├── testrsa.sh ├── tests.h ├── testssl ├── testssl.bat ├── timingsafe.c ├── tls_ext_alpn.c ├── tls_prf.c ├── tlsexttest.c ├── tlslegacytest.c ├── tlstest.bat ├── tlstest.c ├── tlstest.sh ├── utf8test.c ├── valid_handshakes_terminate.c ├── verifytest.c ├── x25519test.c ├── x509_algor.c ├── x509_asn1.c ├── x509_extensions_test.c ├── x509_info.c ├── x509attribute.c ├── x509name.c ├── x509req_ext.c └── xchacha20_poly1305_tests.txt ├── tls ├── CMakeLists.txt ├── Makefile.am ├── Makefile.in ├── VERSION ├── compat │ ├── ftruncate.c │ ├── pread.c │ └── pwrite.c ├── empty.c ├── tls.c ├── tls.sym ├── tls_bio_cb.c ├── tls_client.c ├── tls_config.c ├── tls_conninfo.c ├── tls_internal.h ├── tls_keypair.c ├── tls_ocsp.c ├── tls_peer.c ├── tls_server.c ├── tls_signer.c ├── tls_util.c └── tls_verify.c ├── version.rc └── x509v3.cnf /LibreSSLConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | set(LIBRESSL_VERSION @VERSION@) 4 | set_and_check(LIBRESSL_INCLUDE_DIR @PACKAGE_INCLUDE_DIRECTORY@) 5 | 6 | if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/LibreSSL-Crypto.cmake") 7 | include("${CMAKE_CURRENT_LIST_DIR}/LibreSSL-Crypto.cmake") 8 | set(LIBRESSL_CRYPTO_LIBRARY LibreSSL::Crypto) 9 | set(LibreSSL_Crypto_FOUND TRUE) 10 | endif() 11 | 12 | if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/LibreSSL-SSL.cmake") 13 | include("${CMAKE_CURRENT_LIST_DIR}/LibreSSL-SSL.cmake") 14 | set(LIBRESSL_SSL_LIBRARY LibreSSL::SSL) 15 | set(LibreSSL_SSL_FOUND TRUE) 16 | endif() 17 | 18 | if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/LibreSSL-TLS.cmake") 19 | include("${CMAKE_CURRENT_LIST_DIR}/LibreSSL-TLS.cmake") 20 | set(LIBRESSL_TLS_LIBRARY LibreSSL::TLS) 21 | set(LibreSSL_TLS_FOUND TRUE) 22 | endif() 23 | 24 | set(LIBRESSL_LIBRARIES 25 | ${LIBRESSL_CRYPTO_LIBRARY} 26 | ${LIBRESSL_SSL_LIBRARY} 27 | ${LIBRESSL_TLS_LIBRARY} 28 | ) 29 | 30 | check_required_components(LibreSSL) 31 | 32 | if(DEFINED LibreSSL_FOUND) 33 | set(LIBRESSL_FOUND ${LibreSSL_FOUND}) 34 | else() 35 | set(LIBRESSL_FOUND TRUE) 36 | endif() 37 | -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = include crypto ssl tls apps man 2 | if ENABLE_TESTS 3 | SUBDIRS += tests 4 | endif 5 | ACLOCAL_AMFLAGS = -I m4 6 | 7 | pkgconfigdir = $(libdir)/pkgconfig 8 | pkgconfig_DATA = libtls.pc 9 | if !ENABLE_LIBTLS_ONLY 10 | pkgconfig_DATA += libcrypto.pc libssl.pc openssl.pc 11 | endif 12 | 13 | EXTRA_DIST = README.md README.mingw.md VERSION config scripts 14 | EXTRA_DIST += CMakeLists.txt cmake_export_symbol.cmake cmake_uninstall.cmake.in FindLibreSSL.cmake LibreSSLConfig.cmake.in 15 | EXTRA_DIST += cert.pem openssl.cnf x509v3.cnf 16 | 17 | .PHONY: install_sw 18 | install_sw: install 19 | 20 | install-exec-hook: 21 | @if [ "@OPENSSLDIR@x" != "x" ]; then \ 22 | OPENSSLDIR="$(DESTDIR)@OPENSSLDIR@"; \ 23 | else \ 24 | OPENSSLDIR="$(DESTDIR)$(sysconfdir)/ssl"; \ 25 | fi; \ 26 | mkdir -p "$$OPENSSLDIR/certs"; \ 27 | for i in cert.pem openssl.cnf x509v3.cnf; do \ 28 | if [ ! -f "$$OPENSSLDIR/$i" ]; then \ 29 | $(INSTALL) -m 644 "$(srcdir)/$$i" "$$OPENSSLDIR/$$i"; \ 30 | else \ 31 | echo " $$OPENSSLDIR/$$i already exists, install will not overwrite"; \ 32 | fi \ 33 | done 34 | 35 | uninstall-local: 36 | @if [ "@OPENSSLDIR@x" != "x" ]; then \ 37 | OPENSSLDIR="$(DESTDIR)@OPENSSLDIR@"; \ 38 | else \ 39 | OPENSSLDIR="$(DESTDIR)$(sysconfdir)/ssl"; \ 40 | fi; \ 41 | for i in cert.pem openssl.cnf x509v3.cnf; do \ 42 | if cmp -s "$$OPENSSLDIR/$$i" "$(srcdir)/$$i"; then \ 43 | rm -f "$$OPENSSLDIR/$$i"; \ 44 | fi \ 45 | done 46 | -------------------------------------------------------------------------------- /Makefile.am.common: -------------------------------------------------------------------------------- 1 | AM_CFLAGS = 2 | AM_CPPFLAGS = -I$(top_srcdir)/include 3 | AM_CPPFLAGS += -I$(abs_top_builddir)/include 4 | AM_CPPFLAGS += -I$(top_srcdir)/include/compat -DLIBRESSL_INTERNAL 5 | AM_CPPFLAGS += -D__BEGIN_HIDDEN_DECLS= -D__END_HIDDEN_DECLS= 6 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 4.0.0.0 2 | -------------------------------------------------------------------------------- /apps/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(ocspcheck) 2 | add_subdirectory(openssl) 3 | add_subdirectory(nc) 4 | -------------------------------------------------------------------------------- /apps/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/Makefile.am.common 2 | 3 | SUBDIRS = ocspcheck openssl nc 4 | 5 | EXTRA_DIST = CMakeLists.txt 6 | -------------------------------------------------------------------------------- /apps/nc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if(BUILD_NC) 2 | 3 | set( 4 | NC_SRC 5 | atomicio.c 6 | netcat.c 7 | socks.c 8 | compat/socket.c 9 | ) 10 | 11 | check_function_exists(b64_ntop HAVE_B64_NTOP) 12 | if(HAVE_B64_NTOP) 13 | add_definitions(-DHAVE_B64_NTOP) 14 | else() 15 | set(NC_SRC ${NC_SRC} compat/base64.c) 16 | endif() 17 | 18 | check_function_exists(accept4 HAVE_ACCEPT4) 19 | if(HAVE_ACCEPT4) 20 | add_definitions(-DHAVE_ACCEPT4) 21 | else() 22 | set(NC_SRC ${NC_SRC} compat/accept4.c) 23 | endif() 24 | 25 | check_symbol_exists(readpassphrase "readpassphrase.h" HAVE_READPASSPHRASE) 26 | if(HAVE_READPASSPHRASE) 27 | add_definitions(-DHAVE_READPASSPHRASE) 28 | else() 29 | set(NC_SRC ${NC_SRC} compat/readpassphrase.c) 30 | endif() 31 | 32 | add_definitions(-DDEFAULT_CA_FILE=\"${OPENSSLDIR}/cert.pem\") 33 | 34 | add_executable(nc ${NC_SRC}) 35 | target_include_directories(nc 36 | PRIVATE 37 | . 38 | ./compat 39 | ../../include/compat 40 | PUBLIC 41 | ../../include 42 | ${CMAKE_BINARY_DIR}/include) 43 | target_link_libraries(nc ${LIBTLS_LIBS} compat_obj) 44 | 45 | if(ENABLE_NC) 46 | if(ENABLE_LIBRESSL_INSTALL) 47 | install(TARGETS nc DESTINATION ${CMAKE_INSTALL_BINDIR}) 48 | install(FILES nc.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) 49 | endif(ENABLE_LIBRESSL_INSTALL) 50 | endif() 51 | 52 | endif() 53 | -------------------------------------------------------------------------------- /apps/nc/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/Makefile.am.common 2 | 3 | -include $(abs_top_builddir)/crypto/libcrypto_la_objects.mk 4 | -include $(abs_top_builddir)/ssl/libssl_la_objects.mk 5 | -include $(abs_top_builddir)/tls/libtls_la_objects.mk 6 | 7 | if BUILD_NC 8 | 9 | if ENABLE_NC 10 | bin_PROGRAMS = nc 11 | dist_man_MANS = nc.1 12 | else 13 | noinst_PROGRAMS = nc 14 | endif 15 | 16 | EXTRA_DIST = nc.1 17 | EXTRA_DIST += CMakeLists.txt 18 | 19 | nc_LDADD = $(libcrypto_la_objects) 20 | nc_LDADD += $(libcompat_la_objects) 21 | nc_LDADD += $(libcompatnoopt_la_objects) 22 | nc_LDADD += $(libssl_la_objects) 23 | nc_LDADD += $(libtls_la_objects) 24 | 25 | nc_LDADD += $(PLATFORM_LDADD) $(PROG_LDADD) 26 | 27 | AM_CPPFLAGS += -I$(top_srcdir)/apps/nc/compat 28 | 29 | nc_SOURCES = atomicio.c 30 | nc_SOURCES += netcat.c 31 | nc_SOURCES += socks.c 32 | noinst_HEADERS = atomicio.h 33 | noinst_HEADERS += compat/sys/socket.h 34 | 35 | nc_SOURCES += compat/socket.c 36 | 37 | if !HAVE_B64_NTOP 38 | nc_SOURCES += compat/base64.c 39 | endif 40 | 41 | if !HAVE_ACCEPT4 42 | nc_SOURCES += compat/accept4.c 43 | endif 44 | 45 | if !HAVE_READPASSPHRASE 46 | nc_SOURCES += compat/readpassphrase.c 47 | endif 48 | 49 | endif 50 | -------------------------------------------------------------------------------- /apps/nc/compat/accept4.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int 5 | accept4(int s, struct sockaddr *addr, socklen_t *addrlen, int flags) 6 | { 7 | int rets = accept(s, addr, addrlen); 8 | if (rets == -1) 9 | return s; 10 | 11 | if (flags & SOCK_CLOEXEC) { 12 | flags = fcntl(s, F_GETFD); 13 | fcntl(rets, F_SETFD, flags | FD_CLOEXEC); 14 | } 15 | 16 | return rets; 17 | } 18 | -------------------------------------------------------------------------------- /apps/nc/compat/socket.c: -------------------------------------------------------------------------------- 1 | #define SOCKET_FLAGS_PRIV 2 | 3 | #include 4 | 5 | #ifdef NEED_SOCKET_FLAGS 6 | 7 | #include 8 | 9 | int 10 | _socket(int domain, int type, int protocol) 11 | { 12 | int s = socket(domain, type & ~(SOCK_CLOEXEC | SOCK_NONBLOCK), protocol); 13 | int flags; 14 | if (s == -1) 15 | return s; 16 | 17 | if (type & SOCK_CLOEXEC) { 18 | flags = fcntl(s, F_GETFD); 19 | fcntl(s, F_SETFD, flags | FD_CLOEXEC); 20 | } 21 | 22 | if (type & SOCK_NONBLOCK) { 23 | flags = fcntl(s, F_GETFL); 24 | fcntl(s, F_SETFL, flags | O_NONBLOCK); 25 | } 26 | return s; 27 | } 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /apps/nc/compat/sys/socket.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * sys/socket.h compatibility shim 4 | */ 5 | 6 | #ifndef _WIN32 7 | #include_next 8 | 9 | #if defined(NEED_SOCKET_FLAGS) 10 | int _socket(int domain, int type, int protocol); 11 | #ifndef SOCKET_FLAGS_PRIV 12 | #define socket(d, t, p) _socket(d, t, p) 13 | #endif 14 | #endif 15 | 16 | #ifndef SOCK_NONBLOCK 17 | #define SOCK_NONBLOCK 0x4000 /* set O_NONBLOCK */ 18 | #endif 19 | 20 | #ifndef SOCK_CLOEXEC 21 | #define SOCK_CLOEXEC 0x8000 /* set FD_CLOEXEC */ 22 | #endif 23 | 24 | #ifndef HAVE_ACCEPT4 25 | int accept4(int s, struct sockaddr *addr, socklen_t *addrlen, int flags); 26 | #endif 27 | 28 | #else 29 | #include 30 | #endif 31 | -------------------------------------------------------------------------------- /apps/ocspcheck/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set( 2 | OCSPCHECK_SRC 3 | http.c 4 | ocspcheck.c 5 | ) 6 | 7 | check_function_exists(memmem HAVE_MEMMEM) 8 | if(HAVE_MEMMEM) 9 | add_definitions(-DHAVE_MEMMEM) 10 | else() 11 | set(OCSPCHECK_SRC ${OCSPCHECK_SRC} compat/memmem.c) 12 | endif() 13 | 14 | add_definitions(-DDEFAULT_CA_FILE=\"${OPENSSLDIR}/cert.pem\") 15 | 16 | add_executable(ocspcheck ${OCSPCHECK_SRC}) 17 | target_include_directories(ocspcheck 18 | PRIVATE 19 | ../../include/compat 20 | PUBLIC 21 | ../../include 22 | ${CMAKE_BINARY_DIR}/include) 23 | target_link_libraries(ocspcheck tls ${OPENSSL_LIBS} compat_obj tls_compat_obj) 24 | 25 | if(ENABLE_LIBRESSL_INSTALL) 26 | install(TARGETS ocspcheck DESTINATION ${CMAKE_INSTALL_BINDIR}) 27 | install(FILES ocspcheck.8 DESTINATION ${CMAKE_INSTALL_MANDIR}/man8) 28 | 29 | endif(ENABLE_LIBRESSL_INSTALL) 30 | -------------------------------------------------------------------------------- /apps/ocspcheck/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/Makefile.am.common 2 | 3 | -include $(abs_top_builddir)/crypto/libcrypto_la_objects.mk 4 | -include $(abs_top_builddir)/ssl/libssl_la_objects.mk 5 | -include $(abs_top_builddir)/tls/libtls_la_objects.mk 6 | 7 | if !ENABLE_LIBTLS_ONLY 8 | bin_PROGRAMS = ocspcheck 9 | dist_man_MANS = ocspcheck.8 10 | else 11 | noinst_PROGRAMS = ocspcheck 12 | endif 13 | 14 | EXTRA_DIST = ocspcheck.8 15 | EXTRA_DIST += CMakeLists.txt 16 | 17 | ocspcheck_LDADD = $(libcrypto_la_objects) 18 | ocspcheck_LDADD += $(libcompat_la_objects) 19 | ocspcheck_LDADD += $(libcompatnoopt_la_objects) 20 | ocspcheck_LDADD += $(libssl_la_objects) 21 | ocspcheck_LDADD += $(libtls_la_objects) 22 | ocspcheck_LDADD += $(PLATFORM_LDADD) $(PROG_LDADD) 23 | 24 | ocspcheck_SOURCES = http.c 25 | ocspcheck_SOURCES += ocspcheck.c 26 | noinst_HEADERS = http.h 27 | 28 | if !HAVE_MEMMEM 29 | ocspcheck_SOURCES += compat/memmem.c 30 | endif 31 | -------------------------------------------------------------------------------- /apps/openssl/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set( 2 | OPENSSL_SRC 3 | apps.c 4 | asn1pars.c 5 | ca.c 6 | ciphers.c 7 | crl.c 8 | crl2p7.c 9 | cms.c 10 | dgst.c 11 | dh.c 12 | dhparam.c 13 | dsa.c 14 | dsaparam.c 15 | ec.c 16 | ecparam.c 17 | enc.c 18 | errstr.c 19 | gendh.c 20 | gendsa.c 21 | genpkey.c 22 | genrsa.c 23 | ocsp.c 24 | openssl.c 25 | passwd.c 26 | pkcs12.c 27 | pkcs7.c 28 | pkcs8.c 29 | pkey.c 30 | pkeyparam.c 31 | pkeyutl.c 32 | prime.c 33 | rand.c 34 | req.c 35 | rsa.c 36 | rsautl.c 37 | s_cb.c 38 | s_client.c 39 | s_server.c 40 | s_socket.c 41 | s_time.c 42 | sess_id.c 43 | smime.c 44 | speed.c 45 | ts.c 46 | verify.c 47 | version.c 48 | x509.c 49 | ) 50 | 51 | if(UNIX) 52 | set(OPENSSL_SRC ${OPENSSL_SRC} apps_posix.c) 53 | set(OPENSSL_SRC ${OPENSSL_SRC} certhash.c) 54 | endif() 55 | 56 | if(WIN32) 57 | set(OPENSSL_SRC ${OPENSSL_SRC} apps_win.c) 58 | set(OPENSSL_SRC ${OPENSSL_SRC} certhash_win.c) 59 | set(OPENSSL_SRC ${OPENSSL_SRC} compat/poll_win.c) 60 | endif() 61 | 62 | if(CMAKE_SYSTEM_NAME MATCHES "Darwin") 63 | check_function_exists(clock_gettime HAVE_CLOCK_GETTIME) 64 | if(NOT HAVE_CLOCK_GETTIME) 65 | set(OPENSSL_SRC ${OPENSSL_SRC} compat/clock_gettime_osx.c) 66 | endif() 67 | endif() 68 | 69 | add_executable(openssl ${OPENSSL_SRC}) 70 | target_include_directories(openssl 71 | PRIVATE 72 | . 73 | ../../include/compat 74 | PUBLIC 75 | ../../include 76 | ${CMAKE_BINARY_DIR}/include) 77 | target_link_libraries(openssl ${OPENSSL_LIBS} compat_obj) 78 | 79 | if(ENABLE_LIBRESSL_INSTALL) 80 | install(TARGETS openssl DESTINATION ${CMAKE_INSTALL_BINDIR}) 81 | install(FILES openssl.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) 82 | endif(ENABLE_LIBRESSL_INSTALL) 83 | -------------------------------------------------------------------------------- /apps/openssl/certhash_win.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * certhash dummy implementation for platforms without symlinks 4 | */ 5 | 6 | #include "apps.h" 7 | 8 | int 9 | certhash_main(int argc, char **argv) 10 | { 11 | fprintf(stderr, "certhash is not enabled on this platform\n"); 12 | return (1); 13 | } 14 | -------------------------------------------------------------------------------- /apps/openssl/compat/clock_gettime_osx.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | #define ORWL_NANO (+1.0E-9) 5 | #define ORWL_GIGA UINT64_C(1000000000) 6 | 7 | int 8 | clock_gettime(clockid_t clock_id, struct timespec *tp) 9 | { 10 | static double orwl_timebase = 0.0; 11 | static uint64_t orwl_timestart = 0; 12 | 13 | if (!orwl_timestart) { 14 | mach_timebase_info_data_t tb = { 0 }; 15 | mach_timebase_info(&tb); 16 | orwl_timebase = tb.numer; 17 | orwl_timebase /= tb.denom; 18 | orwl_timestart = mach_absolute_time(); 19 | } 20 | 21 | double diff = (mach_absolute_time() - orwl_timestart) * orwl_timebase; 22 | tp->tv_sec = diff * ORWL_NANO; 23 | tp->tv_nsec = diff - (tp->tv_sec * ORWL_GIGA); 24 | 25 | return 0; 26 | } 27 | -------------------------------------------------------------------------------- /cmake_uninstall.cmake.in: -------------------------------------------------------------------------------- 1 | if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") 2 | message(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") 3 | endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") 4 | 5 | file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) 6 | string(REGEX REPLACE "\n" ";" files "${files}") 7 | foreach(file ${files}) 8 | message(STATUS "Uninstalling $ENV{DESTDIR}${file}") 9 | if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") 10 | exec_program( 11 | "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" 12 | OUTPUT_VARIABLE rm_out 13 | RETURN_VALUE rm_retval 14 | ) 15 | if(NOT "${rm_retval}" STREQUAL 0) 16 | message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}") 17 | endif(NOT "${rm_retval}" STREQUAL 0) 18 | else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") 19 | message(STATUS "File $ENV{DESTDIR}${file} does not exist.") 20 | endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") 21 | endforeach(file) 22 | -------------------------------------------------------------------------------- /config: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This file exists for backwards-compatibility with build systems that expect a 4 | # config script similar to OpenSSL's. 5 | 6 | # New software should prefer the native configure script over this one. 7 | 8 | ARGS="" 9 | for var in "$@"; do 10 | case $var in 11 | no-shared ) ARGS="$ARGS --disable-shared";; 12 | no-asm ) ARGS="$ARGS --disable-asm";; 13 | --prefix* ) ARGS="$ARGS $var";; 14 | esac 15 | done 16 | 17 | ./configure $ARGS 18 | -------------------------------------------------------------------------------- /crypto/Makefile.am.arc4random: -------------------------------------------------------------------------------- 1 | if !HAVE_ARC4RANDOM_BUF 2 | libcompat_la_SOURCES += compat/arc4random.c 3 | libcompat_la_SOURCES += compat/arc4random_uniform.c 4 | 5 | if !HAVE_GETENTROPY 6 | if HOST_AIX 7 | libcompat_la_SOURCES += compat/getentropy_aix.c 8 | endif 9 | if HOST_FREEBSD 10 | libcompat_la_SOURCES += compat/getentropy_freebsd.c 11 | endif 12 | if HOST_HPUX 13 | libcompat_la_SOURCES += compat/getentropy_hpux.c 14 | endif 15 | if HOST_LINUX 16 | libcompat_la_SOURCES += compat/getentropy_linux.c 17 | endif 18 | if HOST_NETBSD 19 | libcompat_la_SOURCES += compat/getentropy_netbsd.c 20 | endif 21 | if HOST_DARWIN 22 | libcompat_la_SOURCES += compat/getentropy_osx.c 23 | endif 24 | if HOST_SOLARIS 25 | libcompat_la_SOURCES += compat/getentropy_solaris.c 26 | endif 27 | if HOST_WIN 28 | libcompat_la_SOURCES += compat/getentropy_win.c 29 | endif 30 | endif 31 | 32 | endif 33 | 34 | noinst_HEADERS = 35 | noinst_HEADERS += compat/arc4random.h 36 | noinst_HEADERS += compat/arc4random_aix.h 37 | noinst_HEADERS += compat/arc4random_freebsd.h 38 | noinst_HEADERS += compat/arc4random_hpux.h 39 | noinst_HEADERS += compat/arc4random_linux.h 40 | noinst_HEADERS += compat/arc4random_netbsd.h 41 | noinst_HEADERS += compat/arc4random_osx.h 42 | noinst_HEADERS += compat/arc4random_solaris.h 43 | noinst_HEADERS += compat/arc4random_win.h 44 | noinst_HEADERS += compat/chacha_private.h 45 | 46 | 47 | -------------------------------------------------------------------------------- /crypto/Makefile.am.elf-arm: -------------------------------------------------------------------------------- 1 | ASM_ARM_ELF = aes/aes-elf-armv4.S 2 | ASM_ARM_ELF += bn/mont-elf-armv4.S 3 | ASM_ARM_ELF += sha/sha1-elf-armv4.S 4 | ASM_ARM_ELF += sha/sha512-elf-armv4.S 5 | ASM_ARM_ELF += sha/sha256-elf-armv4.S 6 | ASM_ARM_ELF += modes/ghash-elf-armv4.S 7 | ASM_ARM_ELF += armv4cpuid.S 8 | ASM_ARM_ELF += armcap.c 9 | 10 | EXTRA_DIST += $(ASM_ARM_ELF) 11 | 12 | if HOST_ASM_ELF_ARM 13 | libcrypto_la_CPPFLAGS += -DAES_ASM 14 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT 15 | libcrypto_la_CPPFLAGS += -DGHASH_ASM 16 | libcrypto_la_CPPFLAGS += -DSHA1_ASM 17 | libcrypto_la_CPPFLAGS += -DSHA256_ASM 18 | libcrypto_la_CPPFLAGS += -DSHA512_ASM 19 | libcrypto_la_CPPFLAGS += -DOPENSSL_CPUID_OBJ 20 | libcrypto_la_SOURCES += $(ASM_ARM_ELF) 21 | endif 22 | -------------------------------------------------------------------------------- /crypto/Makefile.am.elf-mips: -------------------------------------------------------------------------------- 1 | ASM_MIPS_ELF = aes/aes-mips.S 2 | ASM_MIPS_ELF += bn/bn-mips.S 3 | ASM_MIPS_ELF += bn/mont-mips.S 4 | ASM_MIPS_ELF += sha/sha1-mips.S 5 | ASM_MIPS_ELF += sha/sha512-mips.S 6 | ASM_MIPS_ELF += sha/sha256-mips.S 7 | 8 | EXTRA_DIST += $(ASM_MIPS_ELF) 9 | 10 | if HOST_ASM_ELF_MIPS 11 | libcrypto_la_CPPFLAGS += -DAES_ASM 12 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT 13 | libcrypto_la_CPPFLAGS += -DSHA1_ASM 14 | libcrypto_la_CPPFLAGS += -DSHA256_ASM 15 | libcrypto_la_CPPFLAGS += -DSHA512_ASM 16 | libcrypto_la_SOURCES += $(ASM_MIPS_ELF) 17 | endif 18 | -------------------------------------------------------------------------------- /crypto/Makefile.am.elf-mips64: -------------------------------------------------------------------------------- 1 | ASM_MIPS64_ELF = aes/aes-mips.S 2 | ASM_MIPS64_ELF += bn/bn-mips.S 3 | ASM_MIPS64_ELF += bn/mont-mips.S 4 | ASM_MIPS64_ELF += sha/sha1-mips.S 5 | ASM_MIPS64_ELF += sha/sha512-mips.S 6 | ASM_MIPS64_ELF += sha/sha256-mips.S 7 | 8 | EXTRA_DIST += $(ASM_MIPS64_ELF) 9 | 10 | if HOST_ASM_ELF_MIPS64 11 | libcrypto_la_CPPFLAGS += -DAES_ASM 12 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT 13 | libcrypto_la_CPPFLAGS += -DSHA1_ASM 14 | libcrypto_la_CPPFLAGS += -DSHA256_ASM 15 | libcrypto_la_CPPFLAGS += -DSHA512_ASM 16 | libcrypto_la_SOURCES += $(ASM_MIPS64_ELF) 17 | endif 18 | -------------------------------------------------------------------------------- /crypto/Makefile.am.masm-x86_64: -------------------------------------------------------------------------------- 1 | 2 | ASM_X86_64_MASM = aes/aes-masm-x86_64.S 3 | ASM_X86_64_MASM += aes/bsaes-masm-x86_64.S 4 | ASM_X86_64_MASM += aes/vpaes-masm-x86_64.S 5 | ASM_X86_64_MASM += aes/aesni-masm-x86_64.S 6 | ASM_X86_64_MASM += bn/modexp512-masm-x86_64.S 7 | ASM_X86_64_MASM += bn/mont-masm-x86_64.S 8 | ASM_X86_64_MASM += bn/mont5-masm-x86_64.S 9 | ASM_X86_64_MASM += md5/md5-masm-x86_64.S 10 | ASM_X86_64_MASM += modes/ghash-masm-x86_64.S 11 | ASM_X86_64_MASM += rc4/rc4-masm-x86_64.S 12 | ASM_X86_64_MASM += sha/sha1-masm-x86_64.S 13 | ASM_X86_64_MASM += sha/sha256-masm-x86_64.S 14 | ASM_X86_64_MASM += sha/sha512-masm-x86_64.S 15 | ASM_X86_64_MASM += cpuid-masm-x86_64.S 16 | 17 | EXTRA_DIST += $(ASM_X86_64_MASM) 18 | 19 | if HOST_ASM_MASM_X86_64 20 | libcrypto_la_CPPFLAGS += -DAES_ASM 21 | libcrypto_la_CPPFLAGS += -DBSAES_ASM 22 | libcrypto_la_CPPFLAGS += -DVPAES_ASM 23 | libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2 24 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT 25 | libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 26 | libcrypto_la_CPPFLAGS += -DMD5_ASM 27 | libcrypto_la_CPPFLAGS += -DGHASH_ASM 28 | libcrypto_la_CPPFLAGS += -DRSA_ASM 29 | libcrypto_la_CPPFLAGS += -DSHA1_ASM 30 | libcrypto_la_CPPFLAGS += -DSHA256_ASM 31 | libcrypto_la_CPPFLAGS += -DSHA512_ASM 32 | libcrypto_la_CPPFLAGS += -DWHIRLPOOL_ASM 33 | libcrypto_la_CPPFLAGS += -DOPENSSL_CPUID_OBJ 34 | libcrypto_la_SOURCES += $(ASM_X86_64_MASM) 35 | endif 36 | -------------------------------------------------------------------------------- /crypto/Makefile.am.mingw64-x86_64: -------------------------------------------------------------------------------- 1 | 2 | ASM_X86_64_MINGW64 = aes/aes-mingw64-x86_64.S 3 | ASM_X86_64_MINGW64 += aes/bsaes-mingw64-x86_64.S 4 | ASM_X86_64_MINGW64 += aes/vpaes-mingw64-x86_64.S 5 | ASM_X86_64_MINGW64 += aes/aesni-mingw64-x86_64.S 6 | #ASM_X86_64_MINGW64 += bn/modexp512-mingw64-x86_64.S 7 | #ASM_X86_64_MINGW64 += bn/mont-mingw64-x86_64.S 8 | #ASM_X86_64_MINGW64 += bn/mont5-mingw64-x86_64.S 9 | ASM_X86_64_MINGW64 += md5/md5-mingw64-x86_64.S 10 | ASM_X86_64_MINGW64 += modes/ghash-mingw64-x86_64.S 11 | ASM_X86_64_MINGW64 += rc4/rc4-mingw64-x86_64.S 12 | ASM_X86_64_MINGW64 += sha/sha1-mingw64-x86_64.S 13 | ASM_X86_64_MINGW64 += sha/sha256-mingw64-x86_64.S 14 | ASM_X86_64_MINGW64 += sha/sha512-mingw64-x86_64.S 15 | ASM_X86_64_MINGW64 += cpuid-mingw64-x86_64.S 16 | 17 | EXTRA_DIST += $(ASM_X86_64_MINGW64) 18 | 19 | if HOST_ASM_MINGW64_X86_64 20 | libcrypto_la_CPPFLAGS += -Dendbr32=endbr64 21 | libcrypto_la_CPPFLAGS += -DAES_ASM 22 | libcrypto_la_CPPFLAGS += -DBSAES_ASM 23 | libcrypto_la_CPPFLAGS += -DVPAES_ASM 24 | libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2 25 | #libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT 26 | #libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 27 | libcrypto_la_CPPFLAGS += -DMD5_ASM 28 | libcrypto_la_CPPFLAGS += -DGHASH_ASM 29 | libcrypto_la_CPPFLAGS += -DRSA_ASM 30 | libcrypto_la_CPPFLAGS += -DSHA1_ASM 31 | libcrypto_la_CPPFLAGS += -DSHA256_ASM 32 | libcrypto_la_CPPFLAGS += -DSHA512_ASM 33 | libcrypto_la_CPPFLAGS += -DWHIRLPOOL_ASM 34 | libcrypto_la_CPPFLAGS += -DOPENSSL_CPUID_OBJ 35 | libcrypto_la_SOURCES += $(ASM_X86_64_MINGW64) 36 | endif 37 | -------------------------------------------------------------------------------- /crypto/VERSION: -------------------------------------------------------------------------------- 1 | 55:0:0 2 | -------------------------------------------------------------------------------- /crypto/arch/aarch64/crypto_arch.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */ 2 | /* 3 | * Copyright (c) 2024 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_CRYPTO_ARCH_H 19 | #define HEADER_CRYPTO_ARCH_H 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /crypto/arch/amd64/crypto_arch.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */ 2 | /* 3 | * Copyright (c) 2024 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_CRYPTO_ARCH_H 19 | #define HEADER_CRYPTO_ARCH_H 20 | 21 | #ifndef OPENSSL_NO_ASM 22 | 23 | #define HAVE_AES_CBC_ENCRYPT_INTERNAL 24 | #define HAVE_AES_SET_ENCRYPT_KEY_INTERNAL 25 | #define HAVE_AES_SET_DECRYPT_KEY_INTERNAL 26 | #define HAVE_AES_ENCRYPT_INTERNAL 27 | #define HAVE_AES_DECRYPT_INTERNAL 28 | 29 | #define HAVE_RC4_INTERNAL 30 | #define HAVE_RC4_SET_KEY_INTERNAL 31 | 32 | #endif 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /crypto/arch/arm/crypto_arch.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */ 2 | /* 3 | * Copyright (c) 2024 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_CRYPTO_ARCH_H 19 | #define HEADER_CRYPTO_ARCH_H 20 | 21 | #ifndef OPENSSL_NO_ASM 22 | 23 | #define HAVE_AES_SET_ENCRYPT_KEY_INTERNAL 24 | #define HAVE_AES_SET_DECRYPT_KEY_INTERNAL 25 | #define HAVE_AES_ENCRYPT_INTERNAL 26 | #define HAVE_AES_DECRYPT_INTERNAL 27 | 28 | #endif 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /crypto/arch/i386/crypto_arch.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */ 2 | /* 3 | * Copyright (c) 2024 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_CRYPTO_ARCH_H 19 | #define HEADER_CRYPTO_ARCH_H 20 | 21 | #ifndef OPENSSL_NO_ASM 22 | 23 | #define HAVE_AES_CBC_ENCRYPT_INTERNAL 24 | #define HAVE_AES_SET_ENCRYPT_KEY_INTERNAL 25 | #define HAVE_AES_SET_DECRYPT_KEY_INTERNAL 26 | #define HAVE_AES_ENCRYPT_INTERNAL 27 | #define HAVE_AES_DECRYPT_INTERNAL 28 | 29 | #define HAVE_RC4_INTERNAL 30 | #define HAVE_RC4_SET_KEY_INTERNAL 31 | 32 | #endif 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /crypto/arch/mips64/crypto_arch.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */ 2 | /* 3 | * Copyright (c) 2024 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_CRYPTO_ARCH_H 19 | #define HEADER_CRYPTO_ARCH_H 20 | 21 | #ifndef OPENSSL_NO_ASM 22 | 23 | #define HAVE_AES_SET_ENCRYPT_KEY_INTERNAL 24 | #define HAVE_AES_SET_DECRYPT_KEY_INTERNAL 25 | #define HAVE_AES_ENCRYPT_INTERNAL 26 | #define HAVE_AES_DECRYPT_INTERNAL 27 | 28 | #endif 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /crypto/arch/powerpc/crypto_arch.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */ 2 | /* 3 | * Copyright (c) 2024 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_CRYPTO_ARCH_H 19 | #define HEADER_CRYPTO_ARCH_H 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /crypto/arch/powerpc64/crypto_arch.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */ 2 | /* 3 | * Copyright (c) 2024 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_CRYPTO_ARCH_H 19 | #define HEADER_CRYPTO_ARCH_H 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /crypto/arch/riscv64/crypto_arch.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */ 2 | /* 3 | * Copyright (c) 2024 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_CRYPTO_ARCH_H 19 | #define HEADER_CRYPTO_ARCH_H 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /crypto/arch/sparc64/crypto_arch.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */ 2 | /* 3 | * Copyright (c) 2024 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_CRYPTO_ARCH_H 19 | #define HEADER_CRYPTO_ARCH_H 20 | 21 | #ifndef OPENSSL_NO_ASM 22 | 23 | #define HAVE_AES_ENCRYPT_INTERNAL 24 | #define HAVE_AES_DECRYPT_INTERNAL 25 | 26 | #endif 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /crypto/asn1/charmap.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: charmap.h,v 1.5 2016/12/21 15:49:29 jsing Exp $ */ 2 | /* Auto generated with chartype.pl script. 3 | * Mask of various character properties 4 | */ 5 | 6 | __BEGIN_HIDDEN_DECLS 7 | 8 | static const unsigned char char_type[] = { 9 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 10 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 11 | 120, 0, 1, 40, 0, 0, 0, 16, 16, 16, 0, 25, 25, 16, 16, 16, 12 | 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 9, 9, 16, 9, 16, 13 | 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 14 | 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 1, 0, 0, 0, 15 | 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 | 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 2 17 | }; 18 | 19 | __END_HIDDEN_DECLS 20 | -------------------------------------------------------------------------------- /crypto/bio/b_print.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: b_print.c,v 1.28 2024/03/02 09:18:28 tb Exp $ */ 2 | 3 | /* Theo de Raadt places this file in the public domain. */ 4 | 5 | #include 6 | 7 | #include "bio_local.h" 8 | 9 | #ifdef HAVE_FUNOPEN 10 | static int 11 | _BIO_write(void *cookie, const char *buf, int nbytes) 12 | { 13 | return BIO_write(cookie, buf, nbytes); 14 | } 15 | 16 | int 17 | BIO_vprintf(BIO *bio, const char *format, va_list args) 18 | { 19 | int ret; 20 | FILE *fp; 21 | 22 | fp = funopen(bio, NULL, &_BIO_write, NULL, NULL); 23 | if (fp == NULL) { 24 | ret = -1; 25 | goto fail; 26 | } 27 | ret = vfprintf(fp, format, args); 28 | fclose(fp); 29 | fail: 30 | return (ret); 31 | } 32 | 33 | #else /* !HAVE_FUNOPEN */ 34 | 35 | int 36 | BIO_vprintf(BIO *bio, const char *format, va_list args) 37 | { 38 | int ret; 39 | char *buf = NULL; 40 | 41 | ret = vasprintf(&buf, format, args); 42 | if (ret == -1) 43 | return (ret); 44 | BIO_write(bio, buf, ret); 45 | free(buf); 46 | return (ret); 47 | } 48 | 49 | #endif /* HAVE_FUNOPEN */ 50 | 51 | int 52 | BIO_printf(BIO *bio, const char *format, ...) 53 | { 54 | va_list args; 55 | int ret; 56 | 57 | va_start(args, format); 58 | ret = BIO_vprintf(bio, format, args); 59 | va_end(args); 60 | return (ret); 61 | } 62 | LCRYPTO_ALIAS(BIO_printf); 63 | -------------------------------------------------------------------------------- /crypto/bio/b_win.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * 4 | * Dongsheng Song 5 | * Brent Cook 6 | */ 7 | 8 | #include 9 | 10 | #include 11 | #include 12 | 13 | int 14 | BIO_sock_init(void) 15 | { 16 | /* 17 | * WSAStartup loads the winsock .dll and initializes the networking 18 | * stack on Windows, or simply increases the reference count. 19 | */ 20 | static struct WSAData wsa_state = {0}; 21 | WORD version_requested = MAKEWORD(2, 2); 22 | static int wsa_init_done = 0; 23 | if (!wsa_init_done) { 24 | if (WSAStartup(version_requested, &wsa_state) != 0) { 25 | int err = WSAGetLastError(); 26 | SYSerror(err); 27 | BIOerror(BIO_R_WSASTARTUP); 28 | return (-1); 29 | } 30 | wsa_init_done = 1; 31 | } 32 | return (1); 33 | } 34 | 35 | void 36 | BIO_sock_cleanup(void) 37 | { 38 | /* 39 | * We could call WSACleanup here, but it is easy to get it wrong. Since 40 | * this API provides no way to even tell if it failed, there is no safe 41 | * way to expose that functionality here. 42 | * 43 | * The cost of leaving the networking DLLs loaded may have been large 44 | * during the Windows 3.1/win32s era, but it is small in modern 45 | * contexts, so don't bother. 46 | */ 47 | } 48 | 49 | int 50 | BIO_socket_nbio(int s, int mode) 51 | { 52 | u_long value = mode; 53 | return ioctlsocket(s, FIONBIO, &value) != SOCKET_ERROR; 54 | } 55 | -------------------------------------------------------------------------------- /crypto/bn/arch/mips/bn_arch.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: bn_arch.h,v 1.1 2023/01/20 10:04:34 jsing Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_BN_ARCH_H 19 | #define HEADER_BN_ARCH_H 20 | 21 | #ifndef OPENSSL_NO_ASM 22 | 23 | #endif 24 | #endif 25 | -------------------------------------------------------------------------------- /crypto/bn/arch/mips64/bn_arch.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: bn_arch.h,v 1.7 2023/01/23 12:17:58 jsing Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_BN_ARCH_H 19 | #define HEADER_BN_ARCH_H 20 | 21 | #ifndef OPENSSL_NO_ASM 22 | 23 | #define HAVE_BN_ADD_WORDS 24 | 25 | #define HAVE_BN_DIV_WORDS 26 | #define HAVE_BN_DIV_3_WORDS 27 | 28 | #define HAVE_BN_MUL_ADD_WORDS 29 | #define HAVE_BN_MUL_COMBA4 30 | #define HAVE_BN_MUL_COMBA8 31 | #define HAVE_BN_MUL_WORDS 32 | 33 | #define HAVE_BN_SQR_COMBA4 34 | #define HAVE_BN_SQR_COMBA8 35 | #define HAVE_BN_SQR_WORDS 36 | 37 | #define HAVE_BN_SUB_WORDS 38 | 39 | #endif 40 | #endif 41 | -------------------------------------------------------------------------------- /crypto/bn/arch/powerpc/bn_arch.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: bn_arch.h,v 1.6 2023/01/23 12:17:58 jsing Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_BN_ARCH_H 19 | #define HEADER_BN_ARCH_H 20 | 21 | #ifndef OPENSSL_NO_ASM 22 | 23 | #define HAVE_BN_ADD_WORDS 24 | 25 | #define HAVE_BN_DIV_WORDS 26 | 27 | #define HAVE_BN_MUL_ADD_WORDS 28 | #define HAVE_BN_MUL_COMBA4 29 | #define HAVE_BN_MUL_COMBA8 30 | #define HAVE_BN_MUL_WORDS 31 | 32 | #define HAVE_BN_SQR_COMBA4 33 | #define HAVE_BN_SQR_COMBA8 34 | #define HAVE_BN_SQR_WORDS 35 | 36 | #define HAVE_BN_SUB_WORDS 37 | 38 | #endif 39 | #endif 40 | -------------------------------------------------------------------------------- /crypto/bn/arch/powerpc64/bn_arch.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: bn_arch.h,v 1.4 2023/02/16 10:41:03 jsing Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_BN_ARCH_H 19 | #define HEADER_BN_ARCH_H 20 | 21 | #ifndef OPENSSL_NO_ASM 22 | 23 | #if 0 /* Needs testing and enabling. */ 24 | #if defined(__GNUC__) 25 | #define HAVE_BN_MULW 26 | 27 | static inline void 28 | bn_mulw(BN_ULONG a, BN_ULONG b, BN_ULONG *out_r1, BN_ULONG *out_r0) 29 | { 30 | BN_ULONG r1, r0; 31 | 32 | /* Unsigned multiplication using a mulhdu/mul pair. */ 33 | __asm__ ("mulhdu %0, %2, %3; mul %1, %2, %3" 34 | : "=&r"(r1), "=r"(r0) 35 | : "r"(a), "r"(b)); 36 | 37 | *out_r1 = r1; 38 | *out_r0 = r0; 39 | } 40 | #endif /* __GNUC__ */ 41 | #endif 42 | 43 | #endif 44 | #endif 45 | -------------------------------------------------------------------------------- /crypto/bn/arch/sparc64/bn_arch.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: bn_arch.h,v 1.1 2023/01/20 10:04:34 jsing Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_BN_ARCH_H 19 | #define HEADER_BN_ARCH_H 20 | 21 | #ifndef OPENSSL_NO_ASM 22 | 23 | #endif 24 | #endif 25 | -------------------------------------------------------------------------------- /crypto/bn/bn_prime.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: bn_prime.h,v 1.9 2022/11/10 10:24:50 tb Exp $ */ 2 | /* 3 | * Public domain. 4 | */ 5 | 6 | #include 7 | 8 | __BEGIN_HIDDEN_DECLS 9 | 10 | #define NUMPRIMES 2048 11 | 12 | extern const uint16_t primes[NUMPRIMES]; 13 | 14 | __END_HIDDEN_DECLS 15 | -------------------------------------------------------------------------------- /crypto/bn/s2n_bignum_internal.h: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // 3 | // Permission to use, copy, modify, and/or distribute this software for any 4 | // purpose with or without fee is hereby granted, provided that the above 5 | // copyright notice and this permission notice appear in all copies. 6 | // 7 | // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10 | // ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 12 | // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 13 | // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | 15 | #ifdef __APPLE__ 16 | # define S2N_BN_SYMBOL(NAME) _##NAME 17 | #else 18 | # define S2N_BN_SYMBOL(name) name 19 | #endif 20 | 21 | #ifdef __CET__ 22 | # include 23 | #else 24 | # define _CET_ENDBR 25 | #endif 26 | 27 | #define S2N_BN_SYM_VISIBILITY_DIRECTIVE(name) .globl S2N_BN_SYMBOL(name) 28 | #ifdef S2N_BN_HIDE_SYMBOLS 29 | # ifdef __APPLE__ 30 | # define S2N_BN_SYM_PRIVACY_DIRECTIVE(name) .private_extern S2N_BN_SYMBOL(name) 31 | # else 32 | # define S2N_BN_SYM_PRIVACY_DIRECTIVE(name) .hidden S2N_BN_SYMBOL(name) 33 | # endif 34 | #else 35 | # define S2N_BN_SYM_PRIVACY_DIRECTIVE(name) /* NO-OP: S2N_BN_SYM_PRIVACY_DIRECTIVE */ 36 | #endif 37 | -------------------------------------------------------------------------------- /crypto/compat/arc4random.h: -------------------------------------------------------------------------------- 1 | #ifndef LIBCRYPTOCOMPAT_ARC4RANDOM_H 2 | #define LIBCRYPTOCOMPAT_ARC4RANDOM_H 3 | 4 | #include 5 | 6 | #if defined(_AIX) 7 | #include "arc4random_aix.h" 8 | 9 | #elif defined(__FreeBSD__) 10 | #include "arc4random_freebsd.h" 11 | 12 | #elif defined(__hpux) 13 | #include "arc4random_hpux.h" 14 | 15 | #elif defined(__linux__) 16 | #include "arc4random_linux.h" 17 | 18 | #elif defined(__midipix__) 19 | #include "arc4random_linux.h" 20 | 21 | #elif defined(__NetBSD__) 22 | #include "arc4random_netbsd.h" 23 | 24 | #elif defined(__APPLE__) 25 | #include "arc4random_osx.h" 26 | 27 | #elif defined(__sun) 28 | #include "arc4random_solaris.h" 29 | 30 | #elif defined(_WIN32) 31 | #include "arc4random_win.h" 32 | 33 | #elif defined(__EMSCRIPTEN__) 34 | #include "arc4random_linux.h" 35 | 36 | #else 37 | #error "No arc4random hooks defined for this platform." 38 | 39 | #endif 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /crypto/compat/explicit_bzero.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: explicit_bzero.c,v 1.4 2015/08/31 02:53:57 guenther Exp $ */ 2 | /* 3 | * Public domain. 4 | * Written by Matthew Dempsky. 5 | */ 6 | 7 | #include 8 | 9 | __attribute__((weak)) void 10 | __explicit_bzero_hook(void *buf, size_t len) 11 | { 12 | } 13 | 14 | void 15 | explicit_bzero(void *buf, size_t len) 16 | { 17 | memset(buf, 0, len); 18 | __explicit_bzero_hook(buf, len); 19 | } 20 | -------------------------------------------------------------------------------- /crypto/compat/explicit_bzero_win.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain. 3 | * Win32 explicit_bzero compatibility shim. 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | void 10 | explicit_bzero(void *buf, size_t len) 11 | { 12 | SecureZeroMemory(buf, len); 13 | } 14 | -------------------------------------------------------------------------------- /crypto/compat/freezero.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008, 2010, 2011, 2016 Otto Moerbeek 3 | * Copyright (c) 2012 Matthew Dempsky 4 | * Copyright (c) 2008 Damien Miller 5 | * Copyright (c) 2000 Poul-Henning Kamp 6 | * 7 | * Permission to use, copy, modify, and distribute this software for any 8 | * purpose with or without fee is hereby granted, provided that the above 9 | * copyright notice and this permission notice appear in all copies. 10 | * 11 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 12 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 13 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 14 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 15 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 16 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 17 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18 | */ 19 | 20 | #include 21 | #include 22 | 23 | void 24 | freezero(void *ptr, size_t sz) 25 | { 26 | /* This is legal. */ 27 | if (ptr == NULL) 28 | return; 29 | 30 | explicit_bzero(ptr, sz); 31 | free(ptr); 32 | } 33 | -------------------------------------------------------------------------------- /crypto/compat/getpagesize.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD$ */ 2 | 3 | #include 4 | 5 | #ifdef _WIN32 6 | #include 7 | #endif 8 | 9 | int 10 | getpagesize(void) { 11 | #ifdef _WIN32 12 | SYSTEM_INFO system_info; 13 | GetSystemInfo(&system_info); 14 | return system_info.dwPageSize; 15 | #else 16 | return sysconf(_SC_PAGESIZE); 17 | #endif 18 | } 19 | -------------------------------------------------------------------------------- /crypto/compat/getprogname_linux.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | const char * 6 | getprogname(void) 7 | { 8 | #if defined(__ANDROID_API__) && __ANDROID_API__ < 21 9 | /* 10 | * Android added getprogname with API 21, so we should not end up here 11 | * with APIs newer than 21. 12 | * https://github.com/aosp-mirror/platform_bionic/blob/1eb6d3/libc/include/stdlib.h#L160 13 | * 14 | * Since Android is using portions of OpenBSD libc, it should have 15 | * a symbol called __progname. 16 | * https://github.com/aosp-mirror/platform_bionic/commit/692207 17 | */ 18 | extern const char *__progname; 19 | return __progname; 20 | #else 21 | return program_invocation_short_name; 22 | #endif 23 | } 24 | -------------------------------------------------------------------------------- /crypto/compat/getprogname_unimpl.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | const char * 4 | getprogname(void) 5 | { 6 | return "?"; 7 | } 8 | -------------------------------------------------------------------------------- /crypto/compat/getprogname_windows.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | const char * 6 | getprogname(void) 7 | { 8 | static char progname[MAX_PATH + 1]; 9 | DWORD length = GetModuleFileName(NULL, progname, sizeof (progname) - 1); 10 | if (length < 0) 11 | return "?"; 12 | return progname; 13 | } 14 | -------------------------------------------------------------------------------- /crypto/compat/reallocarray.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: reallocarray.c,v 1.3 2015/09/13 08:31:47 guenther Exp $ */ 2 | /* 3 | * Copyright (c) 2008 Otto Moerbeek 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | /* 24 | * This is sqrt(SIZE_MAX+1), as s1*s2 <= SIZE_MAX 25 | * if both s1 < MUL_NO_OVERFLOW and s2 < MUL_NO_OVERFLOW 26 | */ 27 | #define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4)) 28 | 29 | void * 30 | reallocarray(void *optr, size_t nmemb, size_t size) 31 | { 32 | if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && 33 | nmemb > 0 && SIZE_MAX / nmemb < size) { 34 | errno = ENOMEM; 35 | return NULL; 36 | } 37 | return realloc(optr, size * nmemb); 38 | } 39 | -------------------------------------------------------------------------------- /crypto/compat/strlcpy.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: strlcpy.c,v 1.16 2019/01/25 00:19:25 millert Exp $ */ 2 | 3 | /* 4 | * Copyright (c) 1998, 2015 Todd C. Miller 5 | * 6 | * Permission to use, copy, modify, and distribute this software for any 7 | * purpose with or without fee is hereby granted, provided that the above 8 | * copyright notice and this permission notice appear in all copies. 9 | * 10 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 | */ 18 | 19 | #include 20 | #include 21 | 22 | /* 23 | * Copy string src to buffer dst of size dsize. At most dsize-1 24 | * chars will be copied. Always NUL terminates (unless dsize == 0). 25 | * Returns strlen(src); if retval >= dsize, truncation occurred. 26 | */ 27 | size_t 28 | strlcpy(char *dst, const char *src, size_t dsize) 29 | { 30 | const char *osrc = src; 31 | size_t nleft = dsize; 32 | 33 | /* Copy as many bytes as will fit. */ 34 | if (nleft != 0) { 35 | while (--nleft != 0) { 36 | if ((*dst++ = *src++) == '\0') 37 | break; 38 | } 39 | } 40 | 41 | /* Not enough room in dst, add NUL and traverse rest of src. */ 42 | if (nleft == 0) { 43 | if (dsize != 0) 44 | *dst = '\0'; /* NUL-terminate dst */ 45 | while (*src++) 46 | ; 47 | } 48 | 49 | return(src - osrc - 1); /* count does not include NUL */ 50 | } 51 | -------------------------------------------------------------------------------- /crypto/compat/strndup.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: strndup.c,v 1.3 2019/01/25 00:19:25 millert Exp $ */ 2 | 3 | /* 4 | * Copyright (c) 2010 Todd C. Miller 5 | * 6 | * Permission to use, copy, modify, and distribute this software for any 7 | * purpose with or without fee is hereby granted, provided that the above 8 | * copyright notice and this permission notice appear in all copies. 9 | * 10 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 | */ 18 | 19 | #include 20 | 21 | #include 22 | #include 23 | #include 24 | 25 | char * 26 | strndup(const char *str, size_t maxlen) 27 | { 28 | char *copy; 29 | size_t len; 30 | 31 | len = strnlen(str, maxlen); 32 | copy = malloc(len + 1); 33 | if (copy != NULL) { 34 | (void)memcpy(copy, str, len); 35 | copy[len] = '\0'; 36 | } 37 | 38 | return copy; 39 | } 40 | -------------------------------------------------------------------------------- /crypto/compat/strnlen.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: strnlen.c,v 1.9 2019/01/25 00:19:25 millert Exp $ */ 2 | 3 | /* 4 | * Copyright (c) 2010 Todd C. Miller 5 | * 6 | * Permission to use, copy, modify, and distribute this software for any 7 | * purpose with or without fee is hereby granted, provided that the above 8 | * copyright notice and this permission notice appear in all copies. 9 | * 10 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 | */ 18 | 19 | #include 20 | 21 | #include 22 | 23 | size_t 24 | strnlen(const char *str, size_t maxlen) 25 | { 26 | const char *cp; 27 | 28 | for (cp = str; maxlen != 0 && *cp != '\0'; cp++, maxlen--) 29 | ; 30 | 31 | return (size_t)(cp - str); 32 | } 33 | -------------------------------------------------------------------------------- /crypto/compat/syslog_r.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void 4 | syslog_r(int pri, struct syslog_data *data, const char *fmt, ...) 5 | { 6 | va_list ap; 7 | 8 | va_start(ap, fmt); 9 | vsyslog_r(pri, data, fmt, ap); 10 | va_end(ap); 11 | } 12 | 13 | void 14 | vsyslog_r(int pri, struct syslog_data *data, const char *fmt, va_list ap) 15 | { 16 | #ifdef HAVE_SYSLOG 17 | vsyslog(pri, fmt, ap); 18 | #endif 19 | } 20 | -------------------------------------------------------------------------------- /crypto/compat/timingsafe_bcmp.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: timingsafe_bcmp.c,v 1.3 2015/08/31 02:53:57 guenther Exp $ */ 2 | /* 3 | * Copyright (c) 2010 Damien Miller. All rights reserved. 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #include 19 | 20 | int 21 | timingsafe_bcmp(const void *b1, const void *b2, size_t n) 22 | { 23 | const unsigned char *p1 = b1, *p2 = b2; 24 | int ret = 0; 25 | 26 | for (; n > 0; n--) 27 | ret |= *p1++ ^ *p2++; 28 | return (ret != 0); 29 | } 30 | -------------------------------------------------------------------------------- /crypto/curve25519/curve25519-generic.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: curve25519-generic.c,v 1.2 2019/05/11 15:55:52 tb Exp $ */ 2 | /* 3 | * Copyright (c) 2015, Google Inc. 4 | * 5 | * Permission to use, copy, modify, and/or distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 12 | * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 14 | * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 15 | * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | /* 19 | * This code is mostly taken from the ref10 version of Ed25519 in SUPERCOP 20 | * 20141124 (http://bench.cr.yp.to/supercop.html). That code is released as 21 | * public domain but this file has the ISC license just to keep licencing 22 | * simple. 23 | * 24 | * The field functions are shared by Ed25519 and X25519 where possible. 25 | */ 26 | 27 | #include "curve25519_internal.h" 28 | 29 | void 30 | x25519_scalar_mult(uint8_t out[32], const uint8_t scalar[32], 31 | const uint8_t point[32]) 32 | { 33 | x25519_scalar_mult_generic(out, scalar, point); 34 | } 35 | -------------------------------------------------------------------------------- /crypto/empty.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/LibreSSL/7e7431c1c4fcb5919ce6b0684912dd8f554ce10e/crypto/empty.c -------------------------------------------------------------------------------- /crypto/hidden/openssl/aes.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: aes.h,v 1.1 2024/03/30 05:14:12 joshua Exp $ */ 2 | /* 3 | * Copyright (c) 2024 Joshua Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_AES_H 19 | #define _LIBCRYPTO_AES_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/aes.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(AES_set_encrypt_key); 29 | LCRYPTO_USED(AES_set_decrypt_key); 30 | LCRYPTO_USED(AES_encrypt); 31 | LCRYPTO_USED(AES_decrypt); 32 | LCRYPTO_USED(AES_ecb_encrypt); 33 | LCRYPTO_USED(AES_cbc_encrypt); 34 | LCRYPTO_USED(AES_cfb128_encrypt); 35 | LCRYPTO_USED(AES_cfb1_encrypt); 36 | LCRYPTO_USED(AES_cfb8_encrypt); 37 | LCRYPTO_USED(AES_ofb128_encrypt); 38 | LCRYPTO_USED(AES_ctr128_encrypt); 39 | LCRYPTO_USED(AES_ige_encrypt); 40 | LCRYPTO_USED(AES_wrap_key); 41 | LCRYPTO_USED(AES_unwrap_key); 42 | 43 | #endif /* _LIBCRYPTO_AES_H */ 44 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/asn1t.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: asn1t.h,v 1.5 2024/07/08 17:01:54 beck Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_ASN1T_H 19 | #define _LIBCRYPTO_ASN1T_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/asn1t.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(ASN1_item_ex_new); 29 | LCRYPTO_USED(ASN1_item_ex_free); 30 | LCRYPTO_USED(ASN1_item_ex_d2i); 31 | LCRYPTO_USED(ASN1_item_ex_i2d); 32 | #if defined(LIBRESSL_NAMESPACE) 33 | extern LCRYPTO_USED(ASN1_SEQUENCE_it); 34 | extern LCRYPTO_USED(BIGNUM_it); 35 | extern LCRYPTO_USED(LONG_it); 36 | extern LCRYPTO_USED(ZLONG_it); 37 | extern LCRYPTO_UNUSED(CBIGNUM_it); 38 | #endif 39 | 40 | #endif /* _LIBCRYPTO_ASN1T_H */ 41 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/blowfish.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: blowfish.h,v 1.1 2024/03/29 02:37:20 joshua Exp $ */ 2 | /* 3 | * Copyright (c) 2024 Joshua Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_BLOWFISH_H 19 | #define _LIBCRYPTO_BLOWFISH_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/blowfish.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(BF_set_key); 29 | LCRYPTO_USED(BF_encrypt); 30 | LCRYPTO_USED(BF_decrypt); 31 | LCRYPTO_USED(BF_ecb_encrypt); 32 | LCRYPTO_USED(BF_cbc_encrypt); 33 | LCRYPTO_USED(BF_cfb64_encrypt); 34 | LCRYPTO_USED(BF_ofb64_encrypt); 35 | 36 | #endif /* _LIBCRYPTO_BLOWFISH_H */ 37 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/buffer.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: buffer.h,v 1.1 2023/07/08 08:26:26 beck Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_BUFFER_H 19 | #define _LIBCRYPTO_BUFFER_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/buffer.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(BUF_MEM_new); 29 | LCRYPTO_USED(BUF_MEM_free); 30 | LCRYPTO_USED(BUF_MEM_grow); 31 | LCRYPTO_USED(BUF_MEM_grow_clean); 32 | LCRYPTO_USED(ERR_load_BUF_strings); 33 | 34 | #endif /* _LIBCRYPTO_BUFFER_H */ 35 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/camellia.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: camellia.h,v 1.1 2024/03/30 04:58:12 joshua Exp $ */ 2 | /* 3 | * Copyright (c) 2024 Joshua Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_CAMELLIA_H 19 | #define _LIBCRYPTO_CAMELLIA_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/camellia.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(Camellia_set_key); 29 | LCRYPTO_USED(Camellia_encrypt); 30 | LCRYPTO_USED(Camellia_decrypt); 31 | LCRYPTO_USED(Camellia_ecb_encrypt); 32 | LCRYPTO_USED(Camellia_cbc_encrypt); 33 | LCRYPTO_USED(Camellia_cfb128_encrypt); 34 | LCRYPTO_USED(Camellia_cfb1_encrypt); 35 | LCRYPTO_USED(Camellia_cfb8_encrypt); 36 | LCRYPTO_USED(Camellia_ofb128_encrypt); 37 | LCRYPTO_USED(Camellia_ctr128_encrypt); 38 | 39 | #endif /* _LIBCRYPTO_CAMELLIA_H */ 40 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/cast.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: cast.h,v 1.1 2023/07/08 10:44:00 beck Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_CAST_H 19 | #define _LIBCRYPTO_CAST_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/cast.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(CAST_set_key); 29 | LCRYPTO_USED(CAST_ecb_encrypt); 30 | LCRYPTO_USED(CAST_encrypt); 31 | LCRYPTO_USED(CAST_decrypt); 32 | LCRYPTO_USED(CAST_cbc_encrypt); 33 | LCRYPTO_USED(CAST_cfb64_encrypt); 34 | LCRYPTO_USED(CAST_ofb64_encrypt); 35 | 36 | #endif /* _LIBCRYPTO_CAST_H */ 37 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/chacha.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: chacha.h,v 1.3 2023/07/07 19:37:54 beck Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_CHACHA_H 19 | #define _LIBCRYPTO_CHACHA_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/chacha.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(ChaCha_set_key); 29 | LCRYPTO_USED(ChaCha_set_iv); 30 | LCRYPTO_USED(ChaCha); 31 | LCRYPTO_USED(CRYPTO_chacha_20); 32 | LCRYPTO_USED(CRYPTO_xchacha_20); 33 | LCRYPTO_USED(CRYPTO_hchacha_20); 34 | 35 | #endif /* _LIBCRYPTO_CHACHA_H */ 36 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/cmac.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: cmac.h,v 1.2 2024/03/02 09:30:21 tb Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_CMAC_H 19 | #define _LIBCRYPTO_CMAC_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/cmac.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(CMAC_CTX_new); 29 | LCRYPTO_USED(CMAC_CTX_cleanup); 30 | LCRYPTO_USED(CMAC_CTX_free); 31 | LCRYPTO_USED(CMAC_CTX_get0_cipher_ctx); 32 | LCRYPTO_USED(CMAC_CTX_copy); 33 | LCRYPTO_USED(CMAC_Init); 34 | LCRYPTO_USED(CMAC_Update); 35 | LCRYPTO_USED(CMAC_Final); 36 | 37 | #endif /* _LIBCRYPTO_CMAC_H */ 38 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/conf.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: conf.h,v 1.9 2024/08/31 09:54:31 tb Exp $ */ 2 | /* 3 | * Copyright (c) 2024 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_CONF_H 19 | #define _LIBCRYPTO_CONF_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/conf.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(OPENSSL_config); 29 | LCRYPTO_USED(OPENSSL_no_config); 30 | LCRYPTO_USED(NCONF_new); 31 | LCRYPTO_USED(NCONF_free); 32 | LCRYPTO_USED(NCONF_load); 33 | LCRYPTO_USED(NCONF_load_bio); 34 | LCRYPTO_USED(NCONF_get_section); 35 | LCRYPTO_USED(NCONF_get_string); 36 | LCRYPTO_USED(NCONF_get_number_e); 37 | LCRYPTO_USED(CONF_modules_load); 38 | LCRYPTO_USED(CONF_modules_load_file); 39 | LCRYPTO_USED(CONF_modules_unload); 40 | LCRYPTO_USED(CONF_modules_finish); 41 | LCRYPTO_USED(CONF_modules_free); 42 | LCRYPTO_USED(CONF_get1_default_config_file); 43 | LCRYPTO_USED(ERR_load_CONF_strings); 44 | 45 | #endif /* _LIBCRYPTO_CONF_H */ 46 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/curve25519.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: curve25519.h,v 1.1 2023/07/08 15:12:49 beck Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_CURVE25519_H 19 | #define _LIBCRYPTO_CURVE25519_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/curve25519.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(X25519_keypair); 29 | LCRYPTO_USED(X25519); 30 | LCRYPTO_USED(ED25519_keypair); 31 | LCRYPTO_USED(ED25519_sign); 32 | LCRYPTO_USED(ED25519_verify); 33 | 34 | #endif /* _LIBCRYPTO_CURVE25519_H */ 35 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/hkdf.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: hkdf.h,v 1.2 2023/07/07 19:37:54 beck Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_HKDF_H 19 | #define _LIBCRYPTO_HKDF_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/hkdf.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(HKDF); 29 | LCRYPTO_USED(HKDF_extract); 30 | LCRYPTO_USED(HKDF_expand); 31 | 32 | #endif /* _LIBCRYPTO_HKDF_H */ 33 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/hmac.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: hmac.h,v 1.3 2024/08/31 10:42:21 tb Exp $ */ 2 | /* 3 | * Copyright (c) 2016 Philip Guenther 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_HMAC_H_ 19 | #define _LIBCRYPTO_HMAC_H_ 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/hmac.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(HMAC_CTX_new); 29 | LCRYPTO_USED(HMAC_CTX_free); 30 | LCRYPTO_UNUSED(HMAC_CTX_reset); 31 | LCRYPTO_USED(HMAC_Init_ex); 32 | LCRYPTO_USED(HMAC_Update); 33 | LCRYPTO_USED(HMAC_Final); 34 | LCRYPTO_USED(HMAC); 35 | LCRYPTO_USED(HMAC_CTX_copy); 36 | LCRYPTO_USED(HMAC_CTX_set_flags); 37 | LCRYPTO_USED(HMAC_CTX_get_md); 38 | 39 | #endif /* _LIBCRYPTO_HMAC_H_ */ 40 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/idea.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: idea.h,v 1.2 2023/07/29 03:13:38 tb Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_IDEA_H 19 | #define _LIBCRYPTO_IDEA_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/idea.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(idea_ecb_encrypt); 29 | LCRYPTO_USED(idea_set_encrypt_key); 30 | LCRYPTO_USED(idea_set_decrypt_key); 31 | LCRYPTO_USED(idea_cbc_encrypt); 32 | LCRYPTO_USED(idea_cfb64_encrypt); 33 | LCRYPTO_USED(idea_ofb64_encrypt); 34 | LCRYPTO_USED(idea_encrypt); 35 | 36 | #endif /* _LIBCRYPTO_IDEA_H */ 37 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/lhash.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: lhash.h,v 1.4 2024/03/02 11:11:11 tb Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_LHASH_H 19 | #define _LIBCRYPTO_LHASH_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/lhash.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(lh_new); 29 | LCRYPTO_USED(lh_free); 30 | LCRYPTO_USED(lh_error); 31 | LCRYPTO_USED(lh_insert); 32 | LCRYPTO_USED(lh_delete); 33 | LCRYPTO_USED(lh_retrieve); 34 | LCRYPTO_USED(lh_doall); 35 | LCRYPTO_USED(lh_doall_arg); 36 | LCRYPTO_USED(lh_strhash); 37 | LCRYPTO_USED(lh_num_items); 38 | 39 | #endif /* _LIBCRYPTO_LHASH_H */ 40 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/md4.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: md4.h,v 1.1 2023/07/08 10:45:57 beck Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_MD4_H 19 | #define _LIBCRYPTO_MD4_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/md4.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(MD4_Init); 29 | LCRYPTO_USED(MD4_Update); 30 | LCRYPTO_USED(MD4_Final); 31 | LCRYPTO_USED(MD4); 32 | LCRYPTO_USED(MD4_Transform); 33 | 34 | #endif /* _LIBCRYPTO_MD4_H */ 35 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/md5.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: md5.h,v 1.1 2023/07/08 10:45:57 beck Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_MD5_H 19 | #define _LIBCRYPTO_MD5_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/md5.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(MD5_Init); 29 | LCRYPTO_USED(MD5_Update); 30 | LCRYPTO_USED(MD5_Final); 31 | LCRYPTO_USED(MD5); 32 | LCRYPTO_USED(MD5_Transform); 33 | 34 | #endif /* _LIBCRYPTO_MD5_H */ 35 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/poly1305.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: poly1305.h,v 1.2 2023/07/07 19:37:54 beck Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_POLY1305_H 19 | #define _LIBCRYPTO_POLY1305_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/poly1305.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(CRYPTO_poly1305_init); 29 | LCRYPTO_USED(CRYPTO_poly1305_update); 30 | LCRYPTO_USED(CRYPTO_poly1305_finish); 31 | 32 | #endif /* _LIBCRYPTO_POLY1305_H */ 33 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/posix_time.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: posix_time.h,v 1.1 2024/02/18 16:28:38 tb Exp $ */ 2 | /* 3 | * Copyright (c) 2024 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_POSIX_TIME_H 19 | #define _LIBCRYPTO_POSIX_TIME_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/posix_time.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(OPENSSL_posix_to_tm); 29 | LCRYPTO_USED(OPENSSL_tm_to_posix); 30 | LCRYPTO_USED(OPENSSL_timegm); 31 | 32 | #endif /* _LIBCRYPTO_POSIX_TIME_H */ 33 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/rand.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: rand.h,v 1.4 2024/04/10 14:53:01 beck Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_RAND_H 19 | #define _LIBCRYPTO_RAND_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/rand.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(RAND_set_rand_method); 29 | LCRYPTO_USED(RAND_get_rand_method); 30 | LCRYPTO_USED(RAND_SSLeay); 31 | LCRYPTO_USED(ERR_load_RAND_strings); 32 | LCRYPTO_UNUSED(RAND_cleanup); 33 | LCRYPTO_UNUSED(RAND_bytes); 34 | LCRYPTO_UNUSED(RAND_pseudo_bytes); 35 | LCRYPTO_UNUSED(RAND_seed); 36 | LCRYPTO_UNUSED(RAND_add); 37 | LCRYPTO_UNUSED(RAND_load_file); 38 | LCRYPTO_UNUSED(RAND_write_file); 39 | LCRYPTO_UNUSED(RAND_file_name); 40 | LCRYPTO_UNUSED(RAND_status); 41 | LCRYPTO_UNUSED(RAND_poll); 42 | 43 | #endif /* _LIBCRYPTO_RAND_H */ 44 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/rc2.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: rc2.h,v 1.1 2023/07/07 13:40:44 beck Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_RC2_H 19 | #define _LIBCRYPTO_RC2_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/rc2.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(RC2_set_key); 29 | LCRYPTO_USED(RC2_ecb_encrypt); 30 | LCRYPTO_USED(RC2_encrypt); 31 | LCRYPTO_USED(RC2_decrypt); 32 | LCRYPTO_USED(RC2_cbc_encrypt); 33 | LCRYPTO_USED(RC2_cfb64_encrypt); 34 | LCRYPTO_USED(RC2_ofb64_encrypt); 35 | 36 | #endif /* _LIBCRYPTO_RC2_H */ 37 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/rc4.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: rc4.h,v 1.1 2024/03/28 08:18:13 joshua Exp $ */ 2 | /* 3 | * Copyright (c) 2024 Joshua Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_RC4_H 19 | #define _LIBCRYPTO_RC4_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/rc4.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(RC4_set_key); 29 | LCRYPTO_USED(RC4); 30 | 31 | #endif /* _LIBCRYPTO_RC4_H */ 32 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/ripemd.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: ripemd.h,v 1.1 2024/03/28 23:54:15 joshua Exp $ */ 2 | /* 3 | * Copyright (c) 2024 Joshua Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_RIPEMD_H 19 | #define _LIBCRYPTO_RIPEMD_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/ripemd.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(RIPEMD160_Init); 29 | LCRYPTO_USED(RIPEMD160_Update); 30 | LCRYPTO_USED(RIPEMD160_Final); 31 | LCRYPTO_USED(RIPEMD160); 32 | LCRYPTO_USED(RIPEMD160_Transform); 33 | 34 | #endif /* _LIBCRYPTO_RIPEMD_H */ 35 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/sm3.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: sm3.h,v 1.3 2023/07/08 06:13:08 beck Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_SM3_H 19 | #define _LIBCRYPTO_SM3_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/sm3.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(SM3_Init); 29 | LCRYPTO_USED(SM3_Update); 30 | LCRYPTO_USED(SM3_Final); 31 | 32 | #endif /* _LIBCRYPTO_SM3_H */ 33 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/sm4.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: sm4.h,v 1.2 2023/07/07 19:37:54 beck Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_SM4_H 19 | #define _LIBCRYPTO_SM4_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/sm4.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(SM4_set_key); 29 | LCRYPTO_USED(SM4_decrypt); 30 | LCRYPTO_USED(SM4_encrypt); 31 | 32 | #endif /* _LIBCRYPTO_SM4_H */ 33 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/stack.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: stack.h,v 1.3 2024/03/02 11:20:36 tb Exp $ */ 2 | /* 3 | * Copyright (c) 2022 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_STACK_H 19 | #define _LIBCRYPTO_STACK_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/stack.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(sk_num); 29 | LCRYPTO_USED(sk_value); 30 | LCRYPTO_USED(sk_set); 31 | LCRYPTO_USED(sk_new); 32 | LCRYPTO_USED(sk_new_null); 33 | LCRYPTO_USED(sk_free); 34 | LCRYPTO_USED(sk_pop_free); 35 | LCRYPTO_USED(sk_insert); 36 | LCRYPTO_USED(sk_delete); 37 | LCRYPTO_USED(sk_delete_ptr); 38 | LCRYPTO_USED(sk_find); 39 | LCRYPTO_USED(sk_push); 40 | LCRYPTO_USED(sk_unshift); 41 | LCRYPTO_USED(sk_shift); 42 | LCRYPTO_USED(sk_pop); 43 | LCRYPTO_USED(sk_zero); 44 | LCRYPTO_USED(sk_set_cmp_func); 45 | LCRYPTO_USED(sk_dup); 46 | LCRYPTO_USED(sk_sort); 47 | LCRYPTO_USED(sk_is_sorted); 48 | 49 | #endif /* _LIBCRYPTO_STACK_H */ 50 | -------------------------------------------------------------------------------- /crypto/hidden/openssl/txt_db.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: txt_db.h,v 1.1 2023/07/08 11:28:03 beck Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBCRYPTO_TXT_DB_H 19 | #define _LIBCRYPTO_TXT_DB_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/txt_db.h" 25 | #endif 26 | #include "crypto_namespace.h" 27 | 28 | LCRYPTO_USED(TXT_DB_read); 29 | LCRYPTO_USED(TXT_DB_write); 30 | LCRYPTO_USED(TXT_DB_create_index); 31 | LCRYPTO_USED(TXT_DB_free); 32 | LCRYPTO_USED(TXT_DB_get_by_index); 33 | LCRYPTO_USED(TXT_DB_insert); 34 | 35 | #endif /* _LIBCRYPTO_TXT_DB_H */ 36 | -------------------------------------------------------------------------------- /crypto/mem_clr.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: mem_clr.c,v 1.5 2024/04/10 14:51:02 beck Exp $ */ 2 | 3 | /* Ted Unangst places this file in the public domain. */ 4 | #include 5 | #include 6 | 7 | void 8 | OPENSSL_cleanse(void *ptr, size_t len) 9 | { 10 | explicit_bzero(ptr, len); 11 | } 12 | LCRYPTO_ALIAS(OPENSSL_cleanse); 13 | -------------------------------------------------------------------------------- /crypto/modes/ghash-elf-armv4.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/LibreSSL/7e7431c1c4fcb5919ce6b0684912dd8f554ce10e/crypto/modes/ghash-elf-armv4.S -------------------------------------------------------------------------------- /crypto/poly1305/poly1305.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: poly1305.c,v 1.4 2023/07/07 12:01:32 beck Exp $ */ 2 | /* 3 | * Copyright (c) 2014 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #include 19 | #include "poly1305-donna.c" 20 | 21 | void 22 | CRYPTO_poly1305_init(poly1305_context *ctx, const unsigned char key[32]) 23 | { 24 | poly1305_init(ctx, key); 25 | } 26 | LCRYPTO_ALIAS(CRYPTO_poly1305_init); 27 | 28 | void 29 | CRYPTO_poly1305_update(poly1305_context *ctx, const unsigned char *in, 30 | size_t len) 31 | { 32 | poly1305_update(ctx, in, len); 33 | } 34 | LCRYPTO_ALIAS(CRYPTO_poly1305_update); 35 | 36 | void 37 | CRYPTO_poly1305_finish(poly1305_context *ctx, unsigned char mac[16]) 38 | { 39 | poly1305_finish(ctx, mac); 40 | } 41 | LCRYPTO_ALIAS(CRYPTO_poly1305_finish); 42 | -------------------------------------------------------------------------------- /crypto/sha/sha_internal.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: sha_internal.h,v 1.3 2023/04/25 15:47:29 tb Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #include 19 | 20 | #ifndef HEADER_SHA_INTERNAL_H 21 | #define HEADER_SHA_INTERNAL_H 22 | 23 | #define SHA512_224_DIGEST_LENGTH 28 24 | #define SHA512_256_DIGEST_LENGTH 32 25 | 26 | int SHA512_224_Init(SHA512_CTX *c); 27 | int SHA512_224_Update(SHA512_CTX *c, const void *data, size_t len) 28 | __attribute__ ((__bounded__(__buffer__,2,3))); 29 | int SHA512_224_Final(unsigned char *md, SHA512_CTX *c); 30 | 31 | int SHA512_256_Init(SHA512_CTX *c); 32 | int SHA512_256_Update(SHA512_CTX *c, const void *data, size_t len) 33 | __attribute__ ((__bounded__(__buffer__,2,3))); 34 | int SHA512_256_Final(unsigned char *md, SHA512_CTX *c); 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /crypto/ui/ui_null.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: ui_null.c,v 1.2 2023/02/16 08:38:17 tb Exp $ */ 2 | 3 | /* 4 | * Written by Theo Buehler. Public domain. 5 | */ 6 | 7 | #include "ui_local.h" 8 | 9 | static const UI_METHOD ui_null = { 10 | .name = "OpenSSL NULL UI", 11 | }; 12 | 13 | const UI_METHOD * 14 | UI_null(void) 15 | { 16 | return &ui_null; 17 | } 18 | LCRYPTO_ALIAS(UI_null); 19 | -------------------------------------------------------------------------------- /include/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if(ENABLE_LIBRESSL_INSTALL) 2 | install(DIRECTORY . 3 | DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 4 | PATTERN "CMakeLists.txt" EXCLUDE 5 | PATTERN "compat" EXCLUDE 6 | PATTERN "pqueue.h" EXCLUDE 7 | PATTERN "Makefile*" EXCLUDE 8 | PATTERN "arch" EXCLUDE) 9 | install(FILES ${CMAKE_BINARY_DIR}/include/openssl/opensslconf.h 10 | DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/openssl") 11 | endif(ENABLE_LIBRESSL_INSTALL) 12 | 13 | file(COPY . 14 | DESTINATION "${CMAKE_BINARY_DIR}/include" 15 | PATTERN "CMakeLists.txt" EXCLUDE 16 | PATTERN "compat" EXCLUDE 17 | PATTERN "pqueue.h" EXCLUDE 18 | PATTERN "Makefile*" EXCLUDE 19 | PATTERN "arch" EXCLUDE) 20 | 21 | if(HOST_AARCH64) 22 | file(READ arch/aarch64/opensslconf.h OPENSSLCONF) 23 | elseif(HOST_ARM) 24 | file(READ arch/arm/opensslconf.h OPENSSLCONF) 25 | elseif(HOST_I386) 26 | file(READ arch/i386/opensslconf.h OPENSSLCONF) 27 | elseif(HOST_MIPS) 28 | file(READ arch/mips/opensslconf.h OPENSSLCONF) 29 | elseif(HOST_MIPS64) 30 | file(READ arch/mips64/opensslconf.h OPENSSLCONF) 31 | elseif(HOST_POWERPC) 32 | file(READ arch/powerpc/opensslconf.h OPENSSLCONF) 33 | elseif(HOST_POWERPC64) 34 | file(READ arch/powerpc64/opensslconf.h OPENSSLCONF) 35 | elseif(HOST_RISCV64) 36 | file(READ arch/riscv64/opensslconf.h OPENSSLCONF) 37 | elseif(HOST_SPARC64) 38 | file(READ arch/sparc64/opensslconf.h OPENSSLCONF) 39 | elseif(HOST_X86_64) 40 | file(READ arch/amd64/opensslconf.h OPENSSLCONF) 41 | else() 42 | message(FATAL_ERROR "Architecture not supported") 43 | endif() 44 | file(WRITE ${CMAKE_BINARY_DIR}/include/openssl/opensslconf.h "${OPENSSLCONF}") 45 | -------------------------------------------------------------------------------- /include/compat/arpa/inet.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * arpa/inet.h compatibility shim 4 | */ 5 | 6 | #ifndef _WIN32 7 | #include_next 8 | #else 9 | #include 10 | 11 | #ifndef AI_ADDRCONFIG 12 | #define AI_ADDRCONFIG 0x00000400 13 | #endif 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /include/compat/arpa/nameser.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * arpa/inet.h compatibility shim 4 | */ 5 | 6 | #ifndef _WIN32 7 | #ifdef HAVE_ARPA_NAMESER_H 8 | #include_next 9 | #endif 10 | #else 11 | #include 12 | 13 | #ifndef INADDRSZ 14 | #define INADDRSZ 4 15 | #endif 16 | 17 | #ifndef IN6ADDRSZ 18 | #define IN6ADDRSZ 16 19 | #endif 20 | 21 | #ifndef INT16SZ 22 | #define INT16SZ 2 23 | #endif 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /include/compat/dirent.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * dirent.h compatibility shim 4 | */ 5 | 6 | #ifndef LIBCRYPTOCOMPAT_DIRENT_H 7 | #define LIBCRYPTOCOMPAT_DIRENT_H 8 | 9 | #ifdef _MSC_VER 10 | #include 11 | #include 12 | #else 13 | #include_next 14 | #endif 15 | 16 | #endif 17 | 18 | -------------------------------------------------------------------------------- /include/compat/fcntl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * fcntl.h compatibility shim 4 | */ 5 | 6 | #ifndef _WIN32 7 | #include_next 8 | #else 9 | 10 | #ifdef _MSC_VER 11 | #if _MSC_VER >= 1900 12 | #include <../ucrt/fcntl.h> 13 | #else 14 | #include <../include/fcntl.h> 15 | #endif 16 | #else 17 | #include_next 18 | #endif 19 | 20 | #endif 21 | 22 | #ifndef O_NONBLOCK 23 | #define O_NONBLOCK 0x100000 24 | #endif 25 | 26 | #ifndef O_CLOEXEC 27 | #define O_CLOEXEC 0x200000 28 | #endif 29 | 30 | #ifndef FD_CLOEXEC 31 | #define FD_CLOEXEC 1 32 | #endif 33 | -------------------------------------------------------------------------------- /include/compat/limits.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * limits.h compatibility shim 4 | */ 5 | 6 | #ifdef _MSC_VER 7 | #include <../include/limits.h> 8 | #if _MSC_VER >= 1900 9 | #include <../ucrt/stdlib.h> 10 | #else 11 | #include <../include/stdlib.h> 12 | #endif 13 | #ifndef PATH_MAX 14 | #define PATH_MAX _MAX_PATH 15 | #endif 16 | #else 17 | #include_next 18 | #endif 19 | 20 | #ifdef __hpux 21 | #include 22 | #ifndef PATH_MAX 23 | #define PATH_MAX MAXPATHLEN 24 | #endif 25 | #endif 26 | -------------------------------------------------------------------------------- /include/compat/netdb.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * netdb.h compatibility shim 4 | */ 5 | 6 | #ifndef _WIN32 7 | #include_next 8 | #else 9 | #include 10 | #endif 11 | -------------------------------------------------------------------------------- /include/compat/netinet/in.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * netinet/in.h compatibility shim 4 | */ 5 | 6 | #ifndef _WIN32 7 | #include_next 8 | #else 9 | #include 10 | #endif 11 | 12 | #ifndef LIBCRYPTOCOMPAT_NETINET_IN_H 13 | #define LIBCRYPTOCOMPAT_NETINET_IN_H 14 | 15 | #ifdef __ANDROID__ 16 | typedef uint16_t in_port_t; 17 | #endif 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /include/compat/netinet/ip.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * netinet/ip.h compatibility shim 4 | */ 5 | 6 | #if defined(__hpux) 7 | #include 8 | #endif 9 | 10 | #ifndef _WIN32 11 | #ifdef HAVE_NETINET_IP_H 12 | #include_next 13 | #endif 14 | #else 15 | #include 16 | #endif 17 | 18 | /* 19 | * Definitions for DiffServ Codepoints as per RFC2474 20 | */ 21 | #ifndef IPTOS_DSCP_CS0 22 | #define IPTOS_DSCP_CS0 0x00 23 | #define IPTOS_DSCP_CS1 0x20 24 | #define IPTOS_DSCP_CS2 0x40 25 | #define IPTOS_DSCP_CS3 0x60 26 | #define IPTOS_DSCP_CS4 0x80 27 | #define IPTOS_DSCP_CS5 0xa0 28 | #define IPTOS_DSCP_CS6 0xc0 29 | #define IPTOS_DSCP_CS7 0xe0 30 | #endif 31 | 32 | #ifndef IPTOS_DSCP_AF11 33 | #define IPTOS_DSCP_AF11 0x28 34 | #define IPTOS_DSCP_AF12 0x30 35 | #define IPTOS_DSCP_AF13 0x38 36 | #define IPTOS_DSCP_AF21 0x48 37 | #define IPTOS_DSCP_AF22 0x50 38 | #define IPTOS_DSCP_AF23 0x58 39 | #define IPTOS_DSCP_AF31 0x68 40 | #define IPTOS_DSCP_AF32 0x70 41 | #define IPTOS_DSCP_AF33 0x78 42 | #define IPTOS_DSCP_AF41 0x88 43 | #define IPTOS_DSCP_AF42 0x90 44 | #define IPTOS_DSCP_AF43 0x98 45 | #endif 46 | 47 | #ifndef IPTOS_DSCP_EF 48 | #define IPTOS_DSCP_EF 0xb8 49 | #endif 50 | -------------------------------------------------------------------------------- /include/compat/netinet/tcp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * netinet/tcp.h compatibility shim 4 | */ 5 | 6 | #ifndef _WIN32 7 | #include_next 8 | #else 9 | #include 10 | #endif 11 | -------------------------------------------------------------------------------- /include/compat/resolv.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * resolv.h compatibility shim 4 | */ 5 | 6 | #ifndef LIBCRYPTOCOMPAT_RESOLV_H 7 | #define LIBCRYPTOCOMPAT_RESOLV_H 8 | 9 | #ifdef _MSC_VER 10 | #if _MSC_VER >= 1900 11 | #include <../ucrt/resolv.h> 12 | #else 13 | #include <../include/resolv.h> 14 | #endif 15 | #elif defined(HAVE_RESOLV_H) 16 | #include_next 17 | #endif 18 | 19 | #ifndef HAVE_B64_NTOP 20 | int b64_ntop(unsigned char const *, size_t, char *, size_t); 21 | int b64_pton(char const *, unsigned char *, size_t); 22 | #endif 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /include/compat/stdint.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * stdint.h compatibility shim 4 | */ 5 | 6 | #ifdef _MSC_VER 7 | #include <../include/stdint.h> 8 | #else 9 | #include_next 10 | #endif 11 | 12 | #ifndef LIBCRYPTOCOMPAT_STDINT_H 13 | #define LIBCRYPTOCOMPAT_STDINT_H 14 | 15 | #ifndef SIZE_MAX 16 | #include 17 | #endif 18 | 19 | #if !defined(HAVE_ATTRIBUTE__BOUNDED__) && !defined(__bounded__) 20 | # define __bounded__(x, y, z) 21 | #endif 22 | 23 | #if !defined(HAVE_ATTRIBUTE__DEAD) && !defined(__dead) 24 | #ifdef _MSC_VER 25 | #define __dead __declspec(noreturn) 26 | #else 27 | #define __dead __attribute__((__noreturn__)) 28 | #endif 29 | #endif 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /include/compat/stdio.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * stdio.h compatibility shim 4 | */ 5 | 6 | #ifndef LIBCRYPTOCOMPAT_STDIO_H 7 | #define LIBCRYPTOCOMPAT_STDIO_H 8 | 9 | #ifdef _MSC_VER 10 | #if _MSC_VER >= 1900 11 | #include <../ucrt/stdlib.h> 12 | #include <../ucrt/corecrt_io.h> 13 | #include <../ucrt/stdio.h> 14 | #else 15 | #include <../include/stdio.h> 16 | #endif 17 | #else 18 | #include_next 19 | #endif 20 | 21 | #ifndef HAVE_ASPRINTF 22 | #include 23 | #define vasprintf libressl_vasprintf 24 | int vasprintf(char **str, const char *fmt, va_list ap); 25 | #define asprintf libressl_asprintf 26 | int asprintf(char **str, const char *fmt, ...); 27 | #endif 28 | 29 | #ifdef _WIN32 30 | 31 | #if defined(_MSC_VER) 32 | #define __func__ __FUNCTION__ 33 | #endif 34 | 35 | void posix_perror(const char *s); 36 | FILE * posix_fopen(const char *path, const char *mode); 37 | char * posix_fgets(char *s, int size, FILE *stream); 38 | int posix_rename(const char *oldpath, const char *newpath); 39 | 40 | #ifndef NO_REDEF_POSIX_FUNCTIONS 41 | #define perror(errnum) posix_perror(errnum) 42 | #define fopen(path, mode) posix_fopen(path, mode) 43 | #define fgets(s, size, stream) posix_fgets(s, size, stream) 44 | #define rename(oldpath, newpath) posix_rename(oldpath, newpath) 45 | #endif 46 | 47 | #if defined(_MSC_VER) && _MSC_VER < 1900 48 | #define snprintf _snprintf 49 | #endif 50 | 51 | #endif 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /include/compat/stdlib.h: -------------------------------------------------------------------------------- 1 | /* 2 | * stdlib.h compatibility shim 3 | * Public domain 4 | */ 5 | 6 | #ifdef _MSC_VER 7 | #if _MSC_VER >= 1900 8 | #include <../ucrt/stdlib.h> 9 | #else 10 | #include <../include/stdlib.h> 11 | #endif 12 | #else 13 | #include_next 14 | #endif 15 | 16 | #ifndef LIBCRYPTOCOMPAT_STDLIB_H 17 | #define LIBCRYPTOCOMPAT_STDLIB_H 18 | 19 | #include 20 | #include 21 | 22 | #ifndef HAVE_ARC4RANDOM_BUF 23 | #define arc4random libressl_arc4random 24 | uint32_t arc4random(void); 25 | #define arc4random_buf libressl_arc4random_buf 26 | void arc4random_buf(void *_buf, size_t n); 27 | #define arc4random_uniform libressl_arc4random_uniform 28 | uint32_t arc4random_uniform(uint32_t upper_bound); 29 | #endif 30 | 31 | #ifndef HAVE_FREEZERO 32 | #define freezero libressl_freezero 33 | void freezero(void *ptr, size_t sz); 34 | #endif 35 | 36 | #ifndef HAVE_GETPROGNAME 37 | #define getprogname libressl_getprogname 38 | const char * getprogname(void); 39 | #endif 40 | 41 | #ifndef HAVE_REALLOCARRAY 42 | #define reallocarray libressl_reallocarray 43 | void *reallocarray(void *, size_t, size_t); 44 | #endif 45 | 46 | #ifndef HAVE_RECALLOCARRAY 47 | #define recallocarray libressl_recallocarray 48 | void *recallocarray(void *, size_t, size_t, size_t); 49 | #endif 50 | 51 | #ifndef HAVE_STRTONUM 52 | #define strtonum libressl_strtonum 53 | long long strtonum(const char *nptr, long long minval, 54 | long long maxval, const char **errstr); 55 | #endif 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /include/compat/sys/_null.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: _null.h,v 1.2 2016/09/09 22:07:58 millert Exp $ */ 2 | 3 | /* 4 | * Written by Todd C. Miller, September 9, 2016 5 | * Public domain. 6 | */ 7 | 8 | #ifndef NULL 9 | #if !defined(__cplusplus) 10 | #define NULL ((void *)0) 11 | #elif __cplusplus >= 201103L 12 | #define NULL nullptr 13 | #elif defined(__GNUG__) 14 | #define NULL __null 15 | #else 16 | #define NULL 0L 17 | #endif 18 | #endif 19 | -------------------------------------------------------------------------------- /include/compat/sys/ioctl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * sys/ioctl.h compatibility shim 4 | */ 5 | 6 | #ifndef _WIN32 7 | #include_next 8 | #else 9 | #include 10 | #define ioctl(fd, type, arg) ioctlsocket(fd, type, arg) 11 | #endif 12 | -------------------------------------------------------------------------------- /include/compat/sys/mman.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * sys/mman.h compatibility shim 4 | */ 5 | 6 | #include_next 7 | 8 | #ifndef LIBCRYPTOCOMPAT_MMAN_H 9 | #define LIBCRYPTOCOMPAT_MMAN_H 10 | 11 | #ifndef MAP_ANON 12 | #ifdef MAP_ANONYMOUS 13 | #define MAP_ANON MAP_ANONYMOUS 14 | #else 15 | #error "System does not support mapping anonymous pages?" 16 | #endif 17 | #endif 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /include/compat/sys/param.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * sys/param.h compatibility shim 4 | */ 5 | 6 | #ifndef LIBCRYPTOCOMPAT_SYS_PARAM_H 7 | #define LIBCRYPTOCOMPAT_SYS_PARAM_H 8 | 9 | #ifdef _MSC_VER 10 | #include 11 | #else 12 | #include_next 13 | #endif 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /include/compat/sys/select.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * sys/select.h compatibility shim 4 | */ 5 | 6 | #ifndef _WIN32 7 | #include_next 8 | #else 9 | #include 10 | #endif 11 | -------------------------------------------------------------------------------- /include/compat/sys/socket.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * sys/socket.h compatibility shim 4 | */ 5 | 6 | #ifndef _WIN32 7 | #include_next 8 | #else 9 | #include 10 | #endif 11 | 12 | #if !defined(SOCK_NONBLOCK) || !defined(SOCK_CLOEXEC) 13 | #define NEED_SOCKET_FLAGS 14 | #define SOCK_CLOEXEC 0x8000 /* set FD_CLOEXEC */ 15 | #define SOCK_NONBLOCK 0x4000 /* set O_NONBLOCK */ 16 | int bsd_socketpair(int domain, int type, int protocol, int socket_vector[2]); 17 | #define socketpair(d,t,p,sv) bsd_socketpair(d,t,p,sv) 18 | #endif 19 | -------------------------------------------------------------------------------- /include/compat/sys/time.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * sys/time.h compatibility shim 4 | */ 5 | 6 | #ifndef LIBCRYPTOCOMPAT_SYS_TIME_H 7 | #define LIBCRYPTOCOMPAT_SYS_TIME_H 8 | 9 | #ifdef _MSC_VER 10 | #include 11 | 12 | #define timeval libressl_timeval 13 | #define gettimeofday libressl_gettimeofday 14 | 15 | struct timeval { 16 | long long tv_sec; 17 | long tv_usec; 18 | }; 19 | 20 | int gettimeofday(struct timeval *tp, void *tzp); 21 | #else 22 | #include_next 23 | #endif 24 | 25 | #ifndef timersub 26 | #define timersub(tvp, uvp, vvp) \ 27 | do { \ 28 | (vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; \ 29 | (vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; \ 30 | if ((vvp)->tv_usec < 0) { \ 31 | (vvp)->tv_sec--; \ 32 | (vvp)->tv_usec += 1000000; \ 33 | } \ 34 | } while (0) 35 | #endif 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /include/compat/sys/types.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * sys/types.h compatibility shim 4 | */ 5 | 6 | #ifdef _MSC_VER 7 | #if _MSC_VER >= 1900 8 | #include <../ucrt/sys/types.h> 9 | #else 10 | #include <../include/sys/types.h> 11 | #endif 12 | #else 13 | #include_next 14 | #endif 15 | 16 | #ifndef LIBCRYPTOCOMPAT_SYS_TYPES_H 17 | #define LIBCRYPTOCOMPAT_SYS_TYPES_H 18 | 19 | #include 20 | 21 | #ifdef __MINGW32__ 22 | #include <_bsd_types.h> 23 | typedef uint32_t in_addr_t; 24 | typedef uint32_t uid_t; 25 | #endif 26 | 27 | #ifdef _MSC_VER 28 | typedef unsigned char u_char; 29 | typedef unsigned short u_short; 30 | typedef unsigned int u_int; 31 | typedef uint32_t in_addr_t; 32 | typedef uint32_t mode_t; 33 | typedef uint32_t uid_t; 34 | 35 | #include 36 | typedef SSIZE_T ssize_t; 37 | 38 | #ifndef SSIZE_MAX 39 | #ifdef _WIN64 40 | #define SSIZE_MAX _I64_MAX 41 | #else 42 | #define SSIZE_MAX INT_MAX 43 | #endif 44 | #endif 45 | 46 | #endif 47 | 48 | #ifdef _WIN32 49 | #define __warn_references(sym,msg) 50 | #else 51 | 52 | #ifndef __warn_references 53 | 54 | #ifndef __STRING 55 | #define __STRING(x) #x 56 | #endif 57 | 58 | #if defined(__GNUC__) && defined (HAS_GNU_WARNING_LONG) 59 | #define __warn_references(sym,msg) \ 60 | __asm__(".section .gnu.warning." __STRING(sym) \ 61 | "\n\t.ascii \"" msg "\"\n\t.text"); 62 | #else 63 | #define __warn_references(sym,msg) 64 | #endif 65 | 66 | #endif /* __warn_references */ 67 | #endif /* _WIN32 */ 68 | 69 | #endif 70 | -------------------------------------------------------------------------------- /include/compat/sys/uio.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * sys/select.h compatibility shim 4 | */ 5 | 6 | #ifndef _WIN32 7 | #include_next 8 | #else 9 | 10 | #include 11 | 12 | struct iovec { 13 | void *iov_base; 14 | size_t iov_len; 15 | }; 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /include/compat/syslog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * syslog.h compatibility shim 4 | */ 5 | 6 | #ifndef _WIN32 7 | #include_next 8 | #endif 9 | 10 | #ifndef LIBCRYPTOCOMPAT_SYSLOG_H 11 | #define LIBCRYPTOCOMPAT_SYSLOG_H 12 | 13 | #ifndef HAVE_SYSLOG_R 14 | 15 | #include 16 | 17 | #ifdef _WIN32 18 | #define LOG_CONS LOG_INFO 19 | #define LOG_INFO 6 /* informational */ 20 | #define LOG_USER (1<<3) /* random user-level messages */ 21 | #define LOG_LOCAL2 (18<<3) /* reserved for local use */ 22 | #endif 23 | 24 | struct syslog_data { 25 | int log_stat; 26 | const char *log_tag; 27 | int log_fac; 28 | int log_mask; 29 | }; 30 | 31 | #define SYSLOG_DATA_INIT {0, (const char *)0, LOG_USER, 0xff} 32 | 33 | void syslog_r(int, struct syslog_data *, const char *, ...); 34 | void vsyslog_r(int, struct syslog_data *, const char *, va_list); 35 | 36 | #endif 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /include/compat/time.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * sys/time.h compatibility shim 4 | */ 5 | 6 | #ifndef SIZEOF_TIME_T 7 | #ifdef SMALL_TIME_T 8 | #define SIZEOF_TIME_T 4 9 | #else 10 | #define SIZEOF_TIME_T 8 11 | #endif 12 | #endif 13 | 14 | #ifdef _MSC_VER 15 | #if _MSC_VER >= 1900 16 | #include <../ucrt/time.h> 17 | #else 18 | #include <../include/time.h> 19 | #endif 20 | #else 21 | #include_next 22 | #endif 23 | 24 | #ifndef LIBCRYPTOCOMPAT_TIME_H 25 | #define LIBCRYPTOCOMPAT_TIME_H 26 | 27 | #ifndef CLOCK_MONOTONIC 28 | #define CLOCK_MONOTONIC CLOCK_REALTIME 29 | #endif 30 | 31 | #ifndef CLOCK_REALTIME 32 | #define CLOCK_REALTIME 0 33 | #endif 34 | 35 | #ifndef _WIN32 36 | #ifndef HAVE_CLOCK_GETTIME 37 | typedef int clockid_t; 38 | int clock_gettime(clockid_t clock_id, struct timespec *tp); 39 | #endif 40 | 41 | #ifdef timespecsub 42 | #define HAVE_TIMESPECSUB 43 | #endif 44 | 45 | #ifndef HAVE_TIMESPECSUB 46 | #define timespecsub(tsp, usp, vsp) \ 47 | do { \ 48 | (vsp)->tv_sec = (tsp)->tv_sec - (usp)->tv_sec; \ 49 | (vsp)->tv_nsec = (tsp)->tv_nsec - (usp)->tv_nsec; \ 50 | if ((vsp)->tv_nsec < 0) { \ 51 | (vsp)->tv_sec--; \ 52 | (vsp)->tv_nsec += 1000000000L; \ 53 | } \ 54 | } while (0) 55 | #endif 56 | 57 | #endif 58 | 59 | #endif 60 | -------------------------------------------------------------------------------- /include/compat/win32netcompat.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * 4 | * BSD socket emulation code for Winsock2 5 | * Brent Cook 6 | */ 7 | 8 | #ifndef LIBCRYPTOCOMPAT_WIN32NETCOMPAT_H 9 | #define LIBCRYPTOCOMPAT_WIN32NETCOMPAT_H 10 | 11 | #ifdef _WIN32 12 | 13 | #include 14 | #include 15 | #include 16 | 17 | #ifndef SHUT_RDWR 18 | #define SHUT_RDWR SD_BOTH 19 | #endif 20 | #ifndef SHUT_RD 21 | #define SHUT_RD SD_RECEIVE 22 | #endif 23 | #ifndef SHUT_WR 24 | #define SHUT_WR SD_SEND 25 | #endif 26 | 27 | int posix_connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); 28 | 29 | int posix_open(const char *path, ...); 30 | 31 | int posix_close(int fd); 32 | 33 | ssize_t posix_read(int fd, void *buf, size_t count); 34 | 35 | ssize_t posix_write(int fd, const void *buf, size_t count); 36 | 37 | int posix_getsockopt(int sockfd, int level, int optname, 38 | void *optval, socklen_t *optlen); 39 | 40 | int posix_setsockopt(int sockfd, int level, int optname, 41 | const void *optval, socklen_t optlen); 42 | 43 | #ifndef NO_REDEF_POSIX_FUNCTIONS 44 | #define connect(sockfd, addr, addrlen) posix_connect(sockfd, addr, addrlen) 45 | #define open(path, ...) posix_open(path, __VA_ARGS__) 46 | #define close(fd) posix_close(fd) 47 | #define read(fd, buf, count) posix_read(fd, buf, count) 48 | #define write(fd, buf, count) posix_write(fd, buf, count) 49 | #define getsockopt(sockfd, level, optname, optval, optlen) \ 50 | posix_getsockopt(sockfd, level, optname, optval, optlen) 51 | #define setsockopt(sockfd, level, optname, optval, optlen) \ 52 | posix_setsockopt(sockfd, level, optname, optval, optlen) 53 | #endif 54 | 55 | #endif 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /include/openssl/comp.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: comp.h,v 1.13 2023/07/28 09:42:44 tb Exp $ */ 2 | 3 | /* 4 | * Public domain. 5 | * 6 | * This header is intentionally left empty. Some software uses it unnecessarily. 7 | */ 8 | -------------------------------------------------------------------------------- /include/openssl/ecdh.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: ecdh.h,v 1.10 2023/07/28 09:25:12 tb Exp $ */ 2 | /* 3 | * Public domain. 4 | */ 5 | 6 | #include 7 | -------------------------------------------------------------------------------- /include/openssl/ecdsa.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: ecdsa.h,v 1.20 2023/07/28 09:16:17 tb Exp $ */ 2 | /* 3 | * Public domain. 4 | */ 5 | 6 | #include 7 | -------------------------------------------------------------------------------- /include/openssl/opensslv.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: opensslv.h,v 1.79 2024/08/31 10:52:43 tb Exp $ */ 2 | #ifndef HEADER_OPENSSLV_H 3 | #define HEADER_OPENSSLV_H 4 | 5 | /* These will change with each release of LibreSSL-portable */ 6 | #define LIBRESSL_VERSION_NUMBER 0x4000000fL 7 | /* ^ Patch starts here */ 8 | #define LIBRESSL_VERSION_TEXT "LibreSSL 4.0.0" 9 | 10 | /* These will never change */ 11 | #define OPENSSL_VERSION_NUMBER 0x20000000L 12 | #define OPENSSL_VERSION_TEXT LIBRESSL_VERSION_TEXT 13 | #define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT 14 | 15 | #define SHLIB_VERSION_HISTORY "" 16 | #define SHLIB_VERSION_NUMBER "1.0.0" 17 | 18 | #endif /* HEADER_OPENSSLV_H */ 19 | -------------------------------------------------------------------------------- /include/openssl/poly1305.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: poly1305.h,v 1.3 2014/07/25 14:04:51 jsing Exp $ */ 2 | /* 3 | * Copyright (c) 2014 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_POLY1305_H 19 | #define HEADER_POLY1305_H 20 | 21 | #include 22 | 23 | #if defined(OPENSSL_NO_POLY1305) 24 | #error Poly1305 is disabled. 25 | #endif 26 | 27 | #include 28 | 29 | #ifdef __cplusplus 30 | extern "C" { 31 | #endif 32 | 33 | typedef struct poly1305_context { 34 | size_t aligner; 35 | unsigned char opaque[136]; 36 | } poly1305_context; 37 | 38 | typedef struct poly1305_context poly1305_state; 39 | 40 | void CRYPTO_poly1305_init(poly1305_context *ctx, const unsigned char key[32]); 41 | void CRYPTO_poly1305_update(poly1305_context *ctx, const unsigned char *in, 42 | size_t len); 43 | void CRYPTO_poly1305_finish(poly1305_context *ctx, unsigned char mac[16]); 44 | 45 | #ifdef __cplusplus 46 | } 47 | #endif 48 | 49 | #endif /* HEADER_POLY1305_H */ 50 | -------------------------------------------------------------------------------- /include/openssl/sm3.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: sm3.h,v 1.1 2018/11/11 06:53:31 tb Exp $ */ 2 | /* 3 | * Copyright (c) 2018, Ribose Inc 4 | * 5 | * Permission to use, copy, modify, and/or distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_SM3_H 19 | #define HEADER_SM3_H 20 | 21 | #include 22 | #include 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | #ifdef OPENSSL_NO_SM3 29 | #error SM3 is disabled. 30 | #endif 31 | 32 | #define SM3_DIGEST_LENGTH 32 33 | #define SM3_WORD unsigned int 34 | 35 | #define SM3_CBLOCK 64 36 | #define SM3_LBLOCK (SM3_CBLOCK / 4) 37 | 38 | typedef struct SM3state_st { 39 | SM3_WORD A, B, C, D, E, F, G, H; 40 | SM3_WORD Nl, Nh; 41 | SM3_WORD data[SM3_LBLOCK]; 42 | unsigned int num; 43 | } SM3_CTX; 44 | 45 | int SM3_Init(SM3_CTX *c); 46 | int SM3_Update(SM3_CTX *c, const void *data, size_t len); 47 | int SM3_Final(unsigned char *md, SM3_CTX *c); 48 | 49 | #ifdef __cplusplus 50 | } 51 | #endif 52 | 53 | #endif /* HEADER_SM3_H */ 54 | -------------------------------------------------------------------------------- /include/openssl/sm4.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: sm4.h,v 1.1 2019/03/17 17:42:37 tb Exp $ */ 2 | /* 3 | * Copyright (c) 2017, 2019 Ribose Inc 4 | * 5 | * Permission to use, copy, modify, and/or distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_SM4_H 19 | #define HEADER_SM4_H 20 | 21 | #include 22 | 23 | #include 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif 28 | 29 | #ifdef OPENSSL_NO_SM4 30 | #error SM4 is disabled. 31 | #endif 32 | 33 | #define SM4_DECRYPT 0 34 | #define SM4_ENCRYPT 1 35 | 36 | #define SM4_BLOCK_SIZE 16 37 | #define SM4_KEY_SCHEDULE 32 38 | 39 | typedef struct sm4_key_st { 40 | unsigned char opaque[128]; 41 | } SM4_KEY; 42 | 43 | int SM4_set_key(const uint8_t *key, SM4_KEY *ks); 44 | void SM4_decrypt(const uint8_t *in, uint8_t *out, const SM4_KEY *ks); 45 | void SM4_encrypt(const uint8_t *in, uint8_t *out, const SM4_KEY *ks); 46 | 47 | #ifdef __cplusplus 48 | } 49 | #endif 50 | 51 | #endif /* HEADER_SM4_H */ 52 | -------------------------------------------------------------------------------- /libcrypto.pc.in: -------------------------------------------------------------------------------- 1 | #libcrypto pkg-config source file 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | libdir=@libdir@ 6 | includedir=@includedir@ 7 | 8 | Name: LibreSSL-libcrypto 9 | Description: LibreSSL cryptography library 10 | Version: @VERSION@ 11 | Libs: -L${libdir} -lcrypto 12 | Libs.private: @LIBS@ @PLATFORM_LDADD@ 13 | Cflags: -I${includedir} 14 | -------------------------------------------------------------------------------- /libssl.pc.in: -------------------------------------------------------------------------------- 1 | #libssl pkg-config source file 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | libdir=@libdir@ 6 | includedir=@includedir@ 7 | 8 | Name: LibreSSL-libssl 9 | Description: Secure Sockets Layer and cryptography libraries 10 | Version: @VERSION@ 11 | Requires.private: libcrypto 12 | Libs: -L${libdir} -lssl 13 | Cflags: -I${includedir} 14 | -------------------------------------------------------------------------------- /libtls.pc.in: -------------------------------------------------------------------------------- 1 | #libtls pkg-config source file 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | libdir=@libdir@ 6 | includedir=@includedir@ 7 | 8 | Name: LibreSSL-libtls 9 | Description: Secure communications using the TLS socket protocol. 10 | Version: @VERSION@ 11 | Libs: -L${libdir} -ltls 12 | Libs.private: @LIBS@ @PLATFORM_LDADD@ -lssl -lcrypto 13 | Cflags: -I${includedir} 14 | -------------------------------------------------------------------------------- /m4/disable-compiler-warnings.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([DISABLE_COMPILER_WARNINGS], [ 2 | # Clang throws a lot of warnings when it does not understand a flag. Disable 3 | # this warning for now so other warnings are visible. 4 | AC_MSG_CHECKING([if compiling with clang]) 5 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[ 6 | #ifndef __clang__ 7 | not clang 8 | #endif 9 | ]])], 10 | [CLANG=yes], 11 | [CLANG=no] 12 | ) 13 | AC_MSG_RESULT([$CLANG]) 14 | AS_IF([test "x$CLANG" = "xyes"], [CLANG_FLAGS=-Qunused-arguments]) 15 | CFLAGS="$CFLAGS $CLANG_FLAGS" 16 | LDFLAGS="$LDFLAGS $CLANG_FLAGS" 17 | 18 | # Removing the dependency on -Wno-pointer-sign should be a goal. These are 19 | # largely unsigned char */char* mismatches in asn1 functions. 20 | save_cflags="$CFLAGS" 21 | CFLAGS=-Wno-pointer-sign 22 | AC_MSG_CHECKING([whether CC supports -Wno-pointer-sign]) 23 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], 24 | [AC_MSG_RESULT([yes])] 25 | [AM_CFLAGS=-Wno-pointer-sign], 26 | [AC_MSG_RESULT([no])] 27 | ) 28 | CFLAGS="$save_cflags $AM_CFLAGS" 29 | ]) 30 | -------------------------------------------------------------------------------- /m4/ltversion.m4: -------------------------------------------------------------------------------- 1 | # ltversion.m4 -- version numbers -*- Autoconf -*- 2 | # 3 | # Copyright (C) 2004 Free Software Foundation, Inc. 4 | # Written by Scott James Remnant, 2004 5 | # 6 | # This file is free software; the Free Software Foundation gives 7 | # unlimited permission to copy and/or distribute it, with or without 8 | # modifications, as long as this notice is preserved. 9 | 10 | # @configure_input@ 11 | 12 | # serial 3337 ltversion.m4 13 | # This file is part of GNU Libtool 14 | 15 | m4_define([LT_PACKAGE_VERSION], [2.4.2]) 16 | m4_define([LT_PACKAGE_REVISION], [1.3337]) 17 | 18 | AC_DEFUN([LTVERSION_VERSION], 19 | [macro_version='2.4.2' 20 | macro_revision='1.3337' 21 | _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 22 | _LT_DECL(, macro_revision, 0) 23 | ]) 24 | -------------------------------------------------------------------------------- /man/BIO_printf.3: -------------------------------------------------------------------------------- 1 | .\" $OpenBSD: BIO_printf.3,v 1.4 2024/03/02 09:18:28 tb Exp $ 2 | .\" OpenSSL 2ca2e917 Mon Mar 20 16:25:22 2017 -0400 3 | .\" 4 | .\" Copyright (c) 2017 Ingo Schwarze 5 | .\" 6 | .\" Permission to use, copy, modify, and distribute this software for any 7 | .\" purpose with or without fee is hereby granted, provided that the above 8 | .\" copyright notice and this permission notice appear in all copies. 9 | .\" 10 | .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 | .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 | .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 | .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 | .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 | .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 | .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 | .\" 18 | .Dd $Mdocdate: March 2 2024 $ 19 | .Dt BIO_PRINTF 3 20 | .Os 21 | .Sh NAME 22 | .Nm BIO_printf 23 | .Nd formatted output to a BIO 24 | .Sh SYNOPSIS 25 | .In openssl/bio.h 26 | .Ft int 27 | .Fo BIO_printf 28 | .Fa "BIO *bio" 29 | .Fa "const char *format" 30 | .Fa ... 31 | .Fc 32 | .Sh DESCRIPTION 33 | .Fn BIO_printf 34 | is a wrapper around 35 | .Xr vfprintf 3 , 36 | sending the output to the specified 37 | .Fa bio . 38 | .Sh RETURN VALUES 39 | These functions return the number of bytes written, 40 | or -1 if an error occurs. 41 | .Sh SEE ALSO 42 | .Xr BIO_new 3 43 | .Sh HISTORY 44 | .Fn BIO_printf 45 | first appeared in SSLeay 0.6.5 and has been available since 46 | .Ox 2.4 . 47 | -------------------------------------------------------------------------------- /man/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if(ENABLE_LIBRESSL_INSTALL) 2 | install(DIRECTORY . 3 | DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 4 | FILES_MATCHING PATTERN "*.3" 5 | ) 6 | 7 | install(DIRECTORY . 8 | DESTINATION ${CMAKE_INSTALL_MANDIR}/man5 9 | FILES_MATCHING PATTERN "*.5" 10 | ) 11 | endif(ENABLE_LIBRESSL_INSTALL) 12 | -------------------------------------------------------------------------------- /man/OPENSSL_cleanse.3: -------------------------------------------------------------------------------- 1 | .\" $OpenBSD: OPENSSL_cleanse.3,v 1.4 2019/06/10 09:49:48 schwarze Exp $ 2 | .\" 3 | .\" Copyright (c) 2016 Ingo Schwarze 4 | .\" 5 | .\" Permission to use, copy, modify, and distribute this software for any 6 | .\" purpose with or without fee is hereby granted, provided that the above 7 | .\" copyright notice and this permission notice appear in all copies. 8 | .\" 9 | .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | .\" 17 | .Dd $Mdocdate: June 10 2019 $ 18 | .Dt OPENSSL_CLEANSE 3 19 | .Os 20 | .Sh NAME 21 | .Nm OPENSSL_cleanse 22 | .Nd OpenSSL memory cleaning operation 23 | .Sh SYNOPSIS 24 | .In openssl/crypto.h 25 | .Ft void 26 | .Fo OPENSSL_cleanse 27 | .Fa "void *ptr" 28 | .Fa "size_t len" 29 | .Fc 30 | .Sh DESCRIPTION 31 | Do not use the interface documented here. 32 | It is provided purely for compatibility with legacy application code. 33 | .Pp 34 | .Fn OPENSSL_cleanse 35 | has the same semantics as, and is a wrapper around, 36 | .Xr explicit_bzero 3 . 37 | .Sh SEE ALSO 38 | .Xr crypto 3 39 | .Sh HISTORY 40 | .Fn OPENSSL_cleanse 41 | first appeared in OpenSSL 0.9.6h and has been available since 42 | .Ox 3.4 . 43 | -------------------------------------------------------------------------------- /man/SSL_COMP_add_compression_method.3: -------------------------------------------------------------------------------- 1 | .\" $OpenBSD: SSL_COMP_add_compression_method.3,v 1.7 2024/08/31 10:51:48 tb Exp $ 2 | .\" 3 | .\" Copyright (c) 2016 Ingo Schwarze 4 | .\" 5 | .\" Permission to use, copy, modify, and distribute this software for any 6 | .\" purpose with or without fee is hereby granted, provided that the above 7 | .\" copyright notice and this permission notice appear in all copies. 8 | .\" 9 | .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | .\" 17 | .Dd $Mdocdate: August 31 2024 $ 18 | .Dt SSL_COMP_ADD_COMPRESSION_METHOD 3 19 | .Os 20 | .Sh NAME 21 | .Nm SSL_COMP_get_compression_methods 22 | .Nd handle SSL/TLS integrated compression methods 23 | .Sh SYNOPSIS 24 | .In openssl/ssl.h 25 | .Ft STACK_OF(SSL_COMP) * 26 | .Fn SSL_COMP_get_compression_methods void 27 | .Sh DESCRIPTION 28 | This function is deprecated and has no effect. 29 | It is provided purely for compatibility with legacy application code. 30 | .Pp 31 | .Fn SSL_COMP_get_compression_methods 32 | used to return a stack of available compression methods. 33 | .Sh RETURN VALUES 34 | .Fn SSL_COMP_get_compression_methods 35 | always returns 36 | .Dv NULL . 37 | .Sh SEE ALSO 38 | .Xr ssl 3 39 | .Sh HISTORY 40 | .Fn SSL_COMP_get_compression_methods 41 | first appeared in OpenSSL 0.9.8 and has been available since 42 | .Ox 4.5 . 43 | -------------------------------------------------------------------------------- /man/tls_config_ocsp_require_stapling.3: -------------------------------------------------------------------------------- 1 | .\" $OpenBSD: tls_config_ocsp_require_stapling.3,v 1.5 2017/01/31 20:53:50 jmc Exp $ 2 | .\" 3 | .\" Copyright (c) 2016 Bob Beck 4 | .\" 5 | .\" Permission to use, copy, modify, and distribute this software for any 6 | .\" purpose with or without fee is hereby granted, provided that the above 7 | .\" copyright notice and this permission notice appear in all copies. 8 | .\" 9 | .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | .\" 17 | .Dd $Mdocdate: January 31 2017 $ 18 | .Dt TLS_CONFIG_OCSP_REQUIRE_STAPLING 3 19 | .Os 20 | .Sh NAME 21 | .Nm tls_config_ocsp_require_stapling 22 | .Nd OCSP configuration for libtls 23 | .Sh SYNOPSIS 24 | .In tls.h 25 | .Ft void 26 | .Fn tls_config_ocsp_require_stapling "struct tls_config *config" 27 | .Sh DESCRIPTION 28 | .Fn tls_config_ocsp_require_stapling 29 | requires that a valid stapled OCSP response be provided 30 | during the TLS handshake. 31 | .Sh SEE ALSO 32 | .Xr tls_config_add_keypair_file 3 , 33 | .Xr tls_handshake 3 , 34 | .Xr tls_init 3 , 35 | .Xr tls_ocsp_process_response 3 36 | .Sh HISTORY 37 | These functions appeared in 38 | .Ox 6.1 . 39 | .Sh AUTHORS 40 | .An Bob Beck Aq Mt beck@openbsd.org 41 | -------------------------------------------------------------------------------- /openssl.cnf: -------------------------------------------------------------------------------- 1 | [ req ] 2 | #default_bits = 2048 3 | #default_md = sha256 4 | #default_keyfile = privkey.pem 5 | distinguished_name = req_distinguished_name 6 | attributes = req_attributes 7 | 8 | [ req_distinguished_name ] 9 | countryName = Country Name (2 letter code) 10 | countryName_min = 2 11 | countryName_max = 2 12 | stateOrProvinceName = State or Province Name (full name) 13 | localityName = Locality Name (eg, city) 14 | 0.organizationName = Organization Name (eg, company) 15 | organizationalUnitName = Organizational Unit Name (eg, section) 16 | commonName = Common Name (eg, fully qualified host name) 17 | commonName_max = 64 18 | emailAddress = Email Address 19 | emailAddress_max = 64 20 | 21 | [ req_attributes ] 22 | challengePassword = A challenge password 23 | challengePassword_min = 4 24 | challengePassword_max = 20 25 | -------------------------------------------------------------------------------- /openssl.pc.in: -------------------------------------------------------------------------------- 1 | #openssl pkg-config source file 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | libdir=@libdir@ 6 | includedir=@includedir@ 7 | 8 | Name: LibreSSL 9 | Description: Secure Sockets Layer and cryptography libraries and tools 10 | Version: @VERSION@ 11 | Requires: libssl libcrypto 12 | -------------------------------------------------------------------------------- /resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by version.rc 4 | // 5 | 6 | // Next default values for new objects 7 | // 8 | #ifdef APSTUDIO_INVOKED 9 | #ifndef APSTUDIO_READONLY_SYMBOLS 10 | #define _APS_NEXT_RESOURCE_VALUE 101 11 | #define _APS_NEXT_COMMAND_VALUE 40001 12 | #define _APS_NEXT_CONTROL_VALUE 1000 13 | #define _APS_NEXT_SYMED_VALUE 101 14 | #endif 15 | #endif 16 | -------------------------------------------------------------------------------- /scripts/i686-w64-mingw32.cmake: -------------------------------------------------------------------------------- 1 | SET(CMAKE_SYSTEM_NAME Windows) 2 | SET(CMAKE_SYSTEM_PROCESSOR i386) 3 | SET(CMAKE_C_COMPILER i686-w64-mingw32-gcc) 4 | SET(CMAKE_CXX_COMPILER i686-w64-mingw32-g++) 5 | SET(CMAKE_RC_COMPILER i686-w64-mingw32-windres) 6 | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 7 | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 8 | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 9 | 10 | -------------------------------------------------------------------------------- /scripts/wrap-compiler-for-flag-check: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This file is in the public domain. 4 | # https://github.com/kmcallister/autoharden/blob/c5c7842f39c2f8d19836bb5427d6479db4436d62/LICENSE 5 | # 6 | # From kmcallister: 7 | # https://github.com/kmcallister/autoharden/blob/efaf5a16612589808c276a11536ea9a47071f74b/scripts/wrap-compiler-for-flag-check 8 | 9 | # Prior to clang v5.1, there was no way to make 10 | # clang's "argument unused" warning fatal. This 11 | # wrapper script that greps for this warning message. Newer clang's have no issues. 12 | # 13 | # Ideally the search string would also include 'clang: ' but this output might 14 | # depend on clang's argv[0]. 15 | # 16 | set -o errexit 17 | set -o nounset 18 | 19 | if out=`"$@" 2>&1`; then 20 | echo "$out" 21 | if echo "$out" | grep 'warning: argument unused' >/dev/null; then 22 | echo "$0: found clang warning" 23 | exit 1 24 | else 25 | exit 0 26 | fi 27 | else 28 | code=$? 29 | echo "$out" 30 | exit $code 31 | fi 32 | -------------------------------------------------------------------------------- /scripts/x86_64-w64-mingw32.cmake: -------------------------------------------------------------------------------- 1 | SET(CMAKE_SYSTEM_NAME Windows) 2 | SET(CMAKE_SYSTEM_PROCESSOR amd64) 3 | SET(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc) 4 | SET(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++) 5 | SET(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres) 6 | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 7 | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 8 | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 9 | 10 | -------------------------------------------------------------------------------- /ssl/VERSION: -------------------------------------------------------------------------------- 1 | 58:0:0 2 | -------------------------------------------------------------------------------- /ssl/empty.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/LibreSSL/7e7431c1c4fcb5919ce6b0684912dd8f554ce10e/ssl/empty.c -------------------------------------------------------------------------------- /ssl/hidden/openssl/srtp.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: srtp.h,v 1.1 2023/07/08 16:40:14 beck Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBSSL_SRTP_H 19 | #define _LIBSSL_SRTP_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/srtp.h" 25 | #endif 26 | #include "ssl_namespace.h" 27 | 28 | LSSL_USED(SSL_CTX_set_tlsext_use_srtp); 29 | LSSL_USED(SSL_set_tlsext_use_srtp); 30 | LSSL_USED(SSL_get_srtp_profiles); 31 | LSSL_USED(SSL_get_selected_srtp_profile); 32 | 33 | #endif /* _LIBSSL_SRTP_H */ 34 | -------------------------------------------------------------------------------- /ssl/hidden/openssl/tls1.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: tls1.h,v 1.2 2024/03/02 11:44:47 tb Exp $ */ 2 | /* 3 | * Copyright (c) 2023 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef _LIBSSL_TLS1_H 19 | #define _LIBSSL_TLS1_H 20 | 21 | #ifndef _MSC_VER 22 | #include_next 23 | #else 24 | #include "../include/openssl/tls1.h" 25 | #endif 26 | #include "ssl_namespace.h" 27 | 28 | LSSL_USED(SSL_get_servername); 29 | LSSL_USED(SSL_get_servername_type); 30 | LSSL_USED(SSL_export_keying_material); 31 | LSSL_USED(SSL_get_peer_signature_type_nid); 32 | LSSL_USED(SSL_get_signature_type_nid); 33 | 34 | #endif /* _LIBSSL_TLS1_H */ 35 | -------------------------------------------------------------------------------- /ssl/ssl_init.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: ssl_init.c,v 1.6 2023/11/22 15:53:53 tb Exp $ */ 2 | /* 3 | * Copyright (c) 2018 Bob Beck 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | /* OpenSSL style init */ 19 | 20 | #include 21 | #include 22 | 23 | #include 24 | 25 | #include "ssl_local.h" 26 | 27 | static pthread_t ssl_init_thread; 28 | 29 | int 30 | SSL_library_init(void) 31 | { 32 | return OPENSSL_init_ssl(0, NULL); 33 | } 34 | LSSL_ALIAS(SSL_library_init); 35 | 36 | static void 37 | OPENSSL_init_ssl_internal(void) 38 | { 39 | ssl_init_thread = pthread_self(); 40 | SSL_load_error_strings(); 41 | } 42 | 43 | int 44 | OPENSSL_init_ssl(uint64_t opts, const void *settings) 45 | { 46 | static pthread_once_t once = PTHREAD_ONCE_INIT; 47 | 48 | if (pthread_equal(pthread_self(), ssl_init_thread)) 49 | return 1; /* don't recurse */ 50 | 51 | OPENSSL_init_crypto(opts, settings); 52 | 53 | if (pthread_once(&once, OPENSSL_init_ssl_internal) != 0) 54 | return 0; 55 | 56 | return 1; 57 | } 58 | LSSL_ALIAS(OPENSSL_init_ssl); 59 | -------------------------------------------------------------------------------- /ssl/tls12_internal.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: tls12_internal.h,v 1.1 2022/11/07 11:58:45 jsing Exp $ */ 2 | /* 3 | * Copyright (c) 2022 Joel Sing 4 | * 5 | * Permission to use, copy, modify, and/or distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 12 | * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 14 | * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 15 | * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef HEADER_TLS12_INTERNAL_H 19 | #define HEADER_TLS12_INTERNAL_H 20 | 21 | __BEGIN_HIDDEN_DECLS 22 | 23 | int tls12_exporter(SSL *s, const uint8_t *label, size_t label_len, 24 | const uint8_t *context_value, size_t context_value_len, int use_context, 25 | uint8_t *out, size_t out_len); 26 | 27 | __END_HIDDEN_DECLS 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /tests/aeadtest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | TEST=./aeadtest 4 | if [ -e ./aeadtest.exe ]; then 5 | TEST=./aeadtest.exe 6 | elif [ -e ./aeadtest.js ]; then 7 | TEST="node ./aeadtest.js" 8 | fi 9 | $TEST aead $srcdir/aeadtests.txt 10 | $TEST aes-128-gcm $srcdir/aes_128_gcm_tests.txt 11 | $TEST aes-192-gcm $srcdir/aes_192_gcm_tests.txt 12 | $TEST aes-256-gcm $srcdir/aes_256_gcm_tests.txt 13 | $TEST chacha20-poly1305 $srcdir/chacha20_poly1305_tests.txt 14 | $TEST xchacha20-poly1305 $srcdir/xchacha20_poly1305_tests.txt 15 | 16 | -------------------------------------------------------------------------------- /tests/arc4randomforktest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | ./arc4randomforktest 4 | ./arc4randomforktest -b 5 | ./arc4randomforktest -p 6 | ./arc4randomforktest -bp 7 | -------------------------------------------------------------------------------- /tests/asn1time_small.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo 1..1 3 | TEST=./asn1time 4 | if [ -e ./asn1time.exe ]; then 5 | TEST=./asn1time.exe 6 | fi 7 | 8 | # map test failure to XFAIL and success to XPASS 9 | $TEST || echo -n "not " 10 | echo "ok # this system is unable to represent times past 2038" 11 | -------------------------------------------------------------------------------- /tests/ca-int-ecdsa.crl: -------------------------------------------------------------------------------- 1 | -----BEGIN X509 CRL----- 2 | MIHuMIGUMAoGCCqGSM49BAMCMC4xLDAqBgNVBAMMI0xpYnJlU1NMIFRlc3QgSW50 3 | ZXJtZWRpYXRlIENBIEVDRFNBFw0yMTEyMjcxNDQwNDBaFw0yMjAxMjYxNDQwNDBa 4 | MDgwGgIJAOVssaaTYoH5Fw0yMTEyMjcxNDQwNDBaMBoCCQDlbLGmk2KB+xcNMjEx 5 | MjI3MTQ0MDQwWjAKBggqhkjOPQQDAgNJADBGAiEA9FWkenCgh+6Rz0/nuS7DaiUR 6 | J5imCs0Wx6TiG3YUL3oCIQDfTT+54eKAEFXeYN2oToZtHbTHh5YUici5GA/PDmOG 7 | Ig== 8 | -----END X509 CRL----- 9 | -------------------------------------------------------------------------------- /tests/ca-int-ecdsa.pem: -------------------------------------------------------------------------------- 1 | subject= CN = LibreSSL Test Intermediate CA ECDSA 2 | issuer= CN = LibreSSL Test Root CA ECDSA 3 | -----BEGIN CERTIFICATE----- 4 | MIIBrDCCAVOgAwIBAgIJAOVssaaTYoH3MAkGByqGSM49BAEwJjEkMCIGA1UEAwwb 5 | TGlicmVTU0wgVGVzdCBSb290IENBIEVDRFNBMB4XDTIxMTIyNzE0NDA0MFoXDTMx 6 | MTIyNTE0NDA0MFowLjEsMCoGA1UEAwwjTGlicmVTU0wgVGVzdCBJbnRlcm1lZGlh 7 | dGUgQ0EgRUNEU0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATWRQbJh4aHPzHq 8 | LOAmosW/o83bTpm3Sj1VxM44StmG7c1nnFM/+gS8rp2bVSgjWZQzRtZqGVGJgzbk 9 | 7/M1m3x3o2MwYTAdBgNVHQ4EFgQUF1Y9b/xKVxI5QsoCcoGrUA3kwggwHwYDVR0j 10 | BBgwFoAUtvkat4UdcUEipt6L/PBgEFYH6AwwDwYDVR0TAQH/BAUwAwEB/zAOBgNV 11 | HQ8BAf8EBAMCAQYwCQYHKoZIzj0EAQNIADBFAiBE4NiOdv/XRN3WWMnkE5QccvC6 12 | VThoIQRyBf4I97cRPQIhAK18dvwrLuOOfbhWMdkpNCddMkWZHxS7traw/8+s7OUU 13 | -----END CERTIFICATE----- 14 | -------------------------------------------------------------------------------- /tests/ca-int-rsa.crl: -------------------------------------------------------------------------------- 1 | -----BEGIN X509 CRL----- 2 | MIIBrDCBlTANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFMaWJyZVNTTCBUZXN0 3 | IEludGVybWVkaWF0ZSBDQSBSU0EXDTIxMTIyNzE0NDAzOFoXDTIyMDEyNjE0NDAz 4 | OFowODAaAgkA5WyxppNigfQXDTIxMTIyNzE0NDAzN1owGgIJAOVssaaTYoH2Fw0y 5 | MTEyMjcxNDQwMzhaMA0GCSqGSIb3DQEBCwUAA4IBAQCGMtlhTlaOK7fK2OHXgoAf 6 | lDr1FQfqfNo5ZNE2+VqOvjYfgwdOgfxIsIuUoNp9/NhzO3e4KNe6P/33axwIsy7o 7 | RofbGYFSlHIYPEf1LyvH8z5mT2L2LAQAi+p+QMFizH6KNc74Oftygyi1bcJlN3CJ 8 | dP9LyvACdJSna7dEh7Snu2hy8tEDAO/RxUrryOZca0+5I4aaD8QCdFwdicDQ8U1s 9 | gTJ5w1gxkEWKv/J/AjCjRAVoAjE2/sUC1PPOJnZy7b0sS2Fv7zV7UAWSzO0KEYv+ 10 | vav3UekGIgw0A5PDdWmUqCxE7aK71iy4EmlzMyVNULVcF1qX6qBQT5OpXr0Eo6WR 11 | -----END X509 CRL----- 12 | -------------------------------------------------------------------------------- /tests/ca-int-rsa.pem: -------------------------------------------------------------------------------- 1 | subject= CN = LibreSSL Test Intermediate CA RSA 2 | issuer= CN = LibreSSL Test Root CA RSA 3 | -----BEGIN CERTIFICATE----- 4 | MIIDNjCCAh6gAwIBAgIJAOVssaaTYoHyMA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV 5 | BAMMGUxpYnJlU1NMIFRlc3QgUm9vdCBDQSBSU0EwHhcNMjExMjI3MTQ0MDM3WhcN 6 | MzExMjI1MTQ0MDM3WjAsMSowKAYDVQQDDCFMaWJyZVNTTCBUZXN0IEludGVybWVk 7 | aWF0ZSBDQSBSU0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD151AI 8 | I+W9MrEP3dO0PEjg6L9E1R6+CG6u0LT3Jobc/rG2RXqKLasEaXoBWYiJoTImVxFT 9 | wtrY+IDDTaEV4/4RGII1fY8Js7v5NpwoEh15jCoJ6/qDjKd4y1s1M48PlWYNNRmv 10 | OBKRIu3Fz7scUa1RSBCp1bZeHbq/V5SzG419nDq2xpyuUrwmfBhDZTH+kUwBNGn8 11 | XVRFCRJQVP3qEAH02Zai2emSVj13KrhEWMtNyA8fa34GIuV23Q40RKW3jUgGBF+D 12 | 5jPNN8EZCj34nvvbjCCBs7cxZvD4F/MzGbatKpNmNOKXKibeg/xCq8B/F1uzHcl3 13 | IzJuViNtQ3RjQ/1pAgMBAAGjYzBhMB0GA1UdDgQWBBQ2oaFa//6a3ZNBNV0NlN3n 14 | A9jiZjAfBgNVHSMEGDAWgBQ+S/x79Kw0KqURKAHyiOhdj/8V0TAPBgNVHRMBAf8E 15 | BTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAcok2oSct 16 | BOkm75qA8+4eUilGxTaqFPCqY8fk8MKNRKNNzaqirPaLJW62mZaxRHOn1Bw9uzL3 17 | jgz2PaTwA7n5GpKs3r5JLk8BdtRyeqMLmqJVJKKuu4GtJLCA8jhQm+XNA1Z324hg 18 | kVeBHLPpLKvQxb+0lmbRBORq/OtMirq2yK8OlF2USrfQx0jmhSvvLpWyA0hhAXRS 19 | gg1ds9aL57dELvk6gR7Unob+J0O2Xq3FRwz2O1k9fF86a0qrWUkxcnAjobC2BczC 20 | 7Fe5B194LgrX2U4IIrzwgJ19kmtrb1Qol2okECxomTYsbQY36sBs+LOKxSuiagu6 21 | ZgJtfcNeVMglYQ== 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /tests/ca-root-ecdsa.pem: -------------------------------------------------------------------------------- 1 | subject= CN = LibreSSL Test Root CA ECDSA 2 | issuer= CN = LibreSSL Test Root CA ECDSA 3 | -----BEGIN CERTIFICATE----- 4 | MIIBpjCCAUygAwIBAgIJALqTupYRbYuwMAoGCCqGSM49BAMCMCYxJDAiBgNVBAMM 5 | G0xpYnJlU1NMIFRlc3QgUm9vdCBDQSBFQ0RTQTAeFw0yMTEyMjcxNDQwNDBaFw0z 6 | MTEyMjUxNDQwNDBaMCYxJDAiBgNVBAMMG0xpYnJlU1NMIFRlc3QgUm9vdCBDQSBF 7 | Q0RTQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIxQjA3Gp+4irgwEumPY1/EG 8 | lVy6/olnAc+4elWkj0SqqdjfWanQqO8wHFY0qICKq8lHKhcyw2v9oyOsNVXZj8Kj 9 | YzBhMB0GA1UdDgQWBBS2+Rq3hR1xQSKm3ov88GAQVgfoDDAfBgNVHSMEGDAWgBS2 10 | +Rq3hR1xQSKm3ov88GAQVgfoDDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE 11 | AwIBBjAKBggqhkjOPQQDAgNIADBFAiAqAN8RFQOAIXeJcxCHUCN1n3sUBuYF/XkS 12 | VnTsAEU/kwIhANNk/xjGq9O2YeLEFT1InoltVlwM5P8oa7krPnPbFnwY 13 | -----END CERTIFICATE----- 14 | -------------------------------------------------------------------------------- /tests/ca-root-rsa.pem: -------------------------------------------------------------------------------- 1 | subject= CN = LibreSSL Test Root CA RSA 2 | issuer= CN = LibreSSL Test Root CA RSA 3 | -----BEGIN CERTIFICATE----- 4 | MIIDLjCCAhagAwIBAgIJAIuM+uV8F+LtMA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV 5 | BAMMGUxpYnJlU1NMIFRlc3QgUm9vdCBDQSBSU0EwHhcNMjExMjI3MTQ0MDM3WhcN 6 | MzExMjI1MTQ0MDM3WjAkMSIwIAYDVQQDDBlMaWJyZVNTTCBUZXN0IFJvb3QgQ0Eg 7 | UlNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnvrj8h5JmJ+7V33R 8 | wloqhM0nLvmidkmk1sqJaOi0GNXoMLnaut90+2TnRiFDbsblzAjTijQC6PEfaJTB 9 | AEFBgNSQKdhVruYTL5HHhw/XHTjxqftizvJj1FsZh2n6gkTG/QOgbaDMCx+yFF88 10 | wro7Br32TZF+BuDuyzVcSPJUajYT+C9bWSq9jX8Fhvl5M3IOG7olg3gAMmU+E8SY 11 | TaKhoJ7KGLHDEQP9NJknJusV8T72lY/TzacVDDOxEUxpuYtJ1Kayytflhs1065Ua 12 | PkiIReoFnhK/tRAgyxz3bc6HDDmTz4FpyGPcAsSRtEbn1n1417hzH4Neq5eioVmx 13 | hX1HTwIDAQABo2MwYTAdBgNVHQ4EFgQUPkv8e/SsNCqlESgB8ojoXY//FdEwHwYD 14 | VR0jBBgwFoAUPkv8e/SsNCqlESgB8ojoXY//FdEwDwYDVR0TAQH/BAUwAwEB/zAO 15 | BgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggEBAEYi6O+l7SS14myiZydm 16 | eP0hS8+ABWz/xqzu81W5Uxo7XD3sNfz5hkhA3S2FrBg5xpDScAzsM9Og6VRuQA7/ 17 | StWLc2gLvLI6cZNdOCOH/O4K6IYRGR0kXG7WA4MpBiDrPXZKXI3WcUNyTHM36Un4 18 | ZATRkO+xMLKFpnxHCkY5U9kp8xX5boNxtQsGkWfuG+fm7GVBaQapnvN+WRY4QXKQ 19 | jF10CFUcIUNGG81XTEhQwpcP0b0ruZK6JBah4VG7lUHbJ6/WoYiGYXCToK09ohIX 20 | PuWiVTiT9LH90U58No3NfinQPbE55mJju+YNNqLU4Wk3ub5rYpp0WFmo6T9kXL/z 21 | fO8= 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /tests/client1-ecdsa-chain.pem: -------------------------------------------------------------------------------- 1 | subject= CN = LibreSSL Test Client 1 ECDSA 2 | issuer= CN = LibreSSL Test Intermediate CA ECDSA 3 | -----BEGIN CERTIFICATE----- 4 | MIIBrTCCAVKgAwIBAgIJAOVssaaTYoH6MAoGCCqGSM49BAMCMC4xLDAqBgNVBAMM 5 | I0xpYnJlU1NMIFRlc3QgSW50ZXJtZWRpYXRlIENBIEVDRFNBMB4XDTIxMTIyNzE0 6 | NDA0MFoXDTMxMTIyNTE0NDA0MFowJzElMCMGA1UEAwwcTGlicmVTU0wgVGVzdCBD 7 | bGllbnQgMSBFQ0RTQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABMnRxZ9SVIjF 8 | eygaoub4qyo/tQlHXpQ2U66mhwKhchXD02w3viqOW0qklPSRhwV4nFKsdkVTogCg 9 | Y8AJokxKDU6jYDBeMB0GA1UdDgQWBBTikUU9S7ASdWw7fhaYVdDqUAyH+DAfBgNV 10 | HSMEGDAWgBQXVj1v/EpXEjlCygJygatQDeTCCDAMBgNVHRMBAf8EAjAAMA4GA1Ud 11 | DwEB/wQEAwIHgDAKBggqhkjOPQQDAgNJADBGAiEA+Aal+cjgT+pknsmAPbivSHY+ 12 | 9clFV0Ree1c+nPbBz8cCIQCZDS2G/X8QthK7hZwV2mYhwvd6M/8kwet4u39qJYx8 13 | eA== 14 | -----END CERTIFICATE----- 15 | subject= CN = LibreSSL Test Intermediate CA ECDSA 16 | issuer= CN = LibreSSL Test Root CA ECDSA 17 | -----BEGIN CERTIFICATE----- 18 | MIIBrDCCAVOgAwIBAgIJAOVssaaTYoH3MAkGByqGSM49BAEwJjEkMCIGA1UEAwwb 19 | TGlicmVTU0wgVGVzdCBSb290IENBIEVDRFNBMB4XDTIxMTIyNzE0NDA0MFoXDTMx 20 | MTIyNTE0NDA0MFowLjEsMCoGA1UEAwwjTGlicmVTU0wgVGVzdCBJbnRlcm1lZGlh 21 | dGUgQ0EgRUNEU0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATWRQbJh4aHPzHq 22 | LOAmosW/o83bTpm3Sj1VxM44StmG7c1nnFM/+gS8rp2bVSgjWZQzRtZqGVGJgzbk 23 | 7/M1m3x3o2MwYTAdBgNVHQ4EFgQUF1Y9b/xKVxI5QsoCcoGrUA3kwggwHwYDVR0j 24 | BBgwFoAUtvkat4UdcUEipt6L/PBgEFYH6AwwDwYDVR0TAQH/BAUwAwEB/zAOBgNV 25 | HQ8BAf8EBAMCAQYwCQYHKoZIzj0EAQNIADBFAiBE4NiOdv/XRN3WWMnkE5QccvC6 26 | VThoIQRyBf4I97cRPQIhAK18dvwrLuOOfbhWMdkpNCddMkWZHxS7traw/8+s7OUU 27 | -----END CERTIFICATE----- 28 | -------------------------------------------------------------------------------- /tests/client1-ecdsa.pem: -------------------------------------------------------------------------------- 1 | subject= CN = LibreSSL Test Client 1 ECDSA 2 | issuer= CN = LibreSSL Test Intermediate CA ECDSA 3 | -----BEGIN CERTIFICATE----- 4 | MIIBrTCCAVKgAwIBAgIJAOVssaaTYoH6MAoGCCqGSM49BAMCMC4xLDAqBgNVBAMM 5 | I0xpYnJlU1NMIFRlc3QgSW50ZXJtZWRpYXRlIENBIEVDRFNBMB4XDTIxMTIyNzE0 6 | NDA0MFoXDTMxMTIyNTE0NDA0MFowJzElMCMGA1UEAwwcTGlicmVTU0wgVGVzdCBD 7 | bGllbnQgMSBFQ0RTQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABMnRxZ9SVIjF 8 | eygaoub4qyo/tQlHXpQ2U66mhwKhchXD02w3viqOW0qklPSRhwV4nFKsdkVTogCg 9 | Y8AJokxKDU6jYDBeMB0GA1UdDgQWBBTikUU9S7ASdWw7fhaYVdDqUAyH+DAfBgNV 10 | HSMEGDAWgBQXVj1v/EpXEjlCygJygatQDeTCCDAMBgNVHRMBAf8EAjAAMA4GA1Ud 11 | DwEB/wQEAwIHgDAKBggqhkjOPQQDAgNJADBGAiEA+Aal+cjgT+pknsmAPbivSHY+ 12 | 9clFV0Ree1c+nPbBz8cCIQCZDS2G/X8QthK7hZwV2mYhwvd6M/8kwet4u39qJYx8 13 | eA== 14 | -----END CERTIFICATE----- 15 | -----BEGIN PRIVATE KEY----- 16 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQghOgzNmZV/rLf5+I5 17 | pnOXJ3N6W8QE5biANh/RVNNmNImhRANCAATJ0cWfUlSIxXsoGqLm+KsqP7UJR16U 18 | NlOupocCoXIVw9NsN74qjltKpJT0kYcFeJxSrHZFU6IAoGPACaJMSg1O 19 | -----END PRIVATE KEY----- 20 | -------------------------------------------------------------------------------- /tests/client2-ecdsa-chain.pem: -------------------------------------------------------------------------------- 1 | subject= CN = LibreSSL Test Client 2 ECDSA 2 | issuer= CN = LibreSSL Test Intermediate CA ECDSA 3 | -----BEGIN CERTIFICATE----- 4 | MIIBpjCCAUygAwIBAgIDEAACMAoGCCqGSM49BAMCMC4xLDAqBgNVBAMMI0xpYnJl 5 | U1NMIFRlc3QgSW50ZXJtZWRpYXRlIENBIEVDRFNBMB4XDTEwMDEwMTAwMDAwMFoX 6 | DTIwMDEwMTAwMDAwMFowJzElMCMGA1UEAwwcTGlicmVTU0wgVGVzdCBDbGllbnQg 7 | MiBFQ0RTQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABL7oVxdDfyspO7ozwbv+ 8 | 2QKCXR8Z1+JWKj6lLmAkN6GY/gXPYcCAtXOWRoVt5yg4YrH0eOJalah7yGjAeHLq 9 | EHijYDBeMB0GA1UdDgQWBBRO8eCtJ/+3xfn+3qY31gP3Ch5JvDAfBgNVHSMEGDAW 10 | gBQXVj1v/EpXEjlCygJygatQDeTCCDAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQE 11 | AwIHgDAKBggqhkjOPQQDAgNIADBFAiEA10kcAL7I/Y0KVNryJGrfVa1er0uiUXxS 12 | 2GmnKWFCQKECID9PY+LK4+DNvxyn4ld47AGJZjdolx6mwLFHK8RvtLo9 13 | -----END CERTIFICATE----- 14 | subject= CN = LibreSSL Test Intermediate CA ECDSA 15 | issuer= CN = LibreSSL Test Root CA ECDSA 16 | -----BEGIN CERTIFICATE----- 17 | MIIBrDCCAVOgAwIBAgIJAOVssaaTYoH3MAkGByqGSM49BAEwJjEkMCIGA1UEAwwb 18 | TGlicmVTU0wgVGVzdCBSb290IENBIEVDRFNBMB4XDTIxMTIyNzE0NDA0MFoXDTMx 19 | MTIyNTE0NDA0MFowLjEsMCoGA1UEAwwjTGlicmVTU0wgVGVzdCBJbnRlcm1lZGlh 20 | dGUgQ0EgRUNEU0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATWRQbJh4aHPzHq 21 | LOAmosW/o83bTpm3Sj1VxM44StmG7c1nnFM/+gS8rp2bVSgjWZQzRtZqGVGJgzbk 22 | 7/M1m3x3o2MwYTAdBgNVHQ4EFgQUF1Y9b/xKVxI5QsoCcoGrUA3kwggwHwYDVR0j 23 | BBgwFoAUtvkat4UdcUEipt6L/PBgEFYH6AwwDwYDVR0TAQH/BAUwAwEB/zAOBgNV 24 | HQ8BAf8EBAMCAQYwCQYHKoZIzj0EAQNIADBFAiBE4NiOdv/XRN3WWMnkE5QccvC6 25 | VThoIQRyBf4I97cRPQIhAK18dvwrLuOOfbhWMdkpNCddMkWZHxS7traw/8+s7OUU 26 | -----END CERTIFICATE----- 27 | -------------------------------------------------------------------------------- /tests/client2-ecdsa.pem: -------------------------------------------------------------------------------- 1 | subject= CN = LibreSSL Test Client 2 ECDSA 2 | issuer= CN = LibreSSL Test Intermediate CA ECDSA 3 | -----BEGIN CERTIFICATE----- 4 | MIIBpjCCAUygAwIBAgIDEAACMAoGCCqGSM49BAMCMC4xLDAqBgNVBAMMI0xpYnJl 5 | U1NMIFRlc3QgSW50ZXJtZWRpYXRlIENBIEVDRFNBMB4XDTEwMDEwMTAwMDAwMFoX 6 | DTIwMDEwMTAwMDAwMFowJzElMCMGA1UEAwwcTGlicmVTU0wgVGVzdCBDbGllbnQg 7 | MiBFQ0RTQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABL7oVxdDfyspO7ozwbv+ 8 | 2QKCXR8Z1+JWKj6lLmAkN6GY/gXPYcCAtXOWRoVt5yg4YrH0eOJalah7yGjAeHLq 9 | EHijYDBeMB0GA1UdDgQWBBRO8eCtJ/+3xfn+3qY31gP3Ch5JvDAfBgNVHSMEGDAW 10 | gBQXVj1v/EpXEjlCygJygatQDeTCCDAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQE 11 | AwIHgDAKBggqhkjOPQQDAgNIADBFAiEA10kcAL7I/Y0KVNryJGrfVa1er0uiUXxS 12 | 2GmnKWFCQKECID9PY+LK4+DNvxyn4ld47AGJZjdolx6mwLFHK8RvtLo9 13 | -----END CERTIFICATE----- 14 | -----BEGIN PRIVATE KEY----- 15 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgGJcFF0AYtzYr190f 16 | tXnGfakMTr5zk0UO1nAfVSLMW2OhRANCAAS+6FcXQ38rKTu6M8G7/tkCgl0fGdfi 17 | Vio+pS5gJDehmP4Fz2HAgLVzlkaFbecoOGKx9HjiWpWoe8howHhy6hB4 18 | -----END PRIVATE KEY----- 19 | -------------------------------------------------------------------------------- /tests/client3-ecdsa-chain.pem: -------------------------------------------------------------------------------- 1 | subject= CN = LibreSSL Test Client 3 ECDSA 2 | issuer= CN = LibreSSL Test Intermediate CA ECDSA 3 | -----BEGIN CERTIFICATE----- 4 | MIIBqjCCAVGgAwIBAgIJAOVssaaTYoH7MAkGByqGSM49BAEwLjEsMCoGA1UEAwwj 5 | TGlicmVTU0wgVGVzdCBJbnRlcm1lZGlhdGUgQ0EgRUNEU0EwHhcNMjExMjI3MTQ0 6 | MDQwWhcNMzExMjI1MTQ0MDQwWjAnMSUwIwYDVQQDDBxMaWJyZVNTTCBUZXN0IENs 7 | aWVudCAzIEVDRFNBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqlNqEjPuPpw3 8 | HaWxXbWql6f9g2HPei7RGZRfEAeNrnWT+Y4okVoqcxjeLNBA6dNl3uALWbSmDu6a 9 | kmBSU1aY9KNgMF4wHQYDVR0OBBYEFKxGR7LhwxXUGYyxjqBrxi5RKHamMB8GA1Ud 10 | IwQYMBaAFBdWPW/8SlcSOULKAnKBq1AN5MIIMAwGA1UdEwEB/wQCMAAwDgYDVR0P 11 | AQH/BAQDAgeAMAkGByqGSM49BAEDSAAwRQIhAMFzwaCpvWiXD+zEZ/mUBdbMQq2W 12 | JLELD9Mv11NiBhi6AiAN/QNQjluNEUTkxCH6p9bQiOYCQ3DOnPTxrSly/RQOSQ== 13 | -----END CERTIFICATE----- 14 | subject= CN = LibreSSL Test Intermediate CA ECDSA 15 | issuer= CN = LibreSSL Test Root CA ECDSA 16 | -----BEGIN CERTIFICATE----- 17 | MIIBrDCCAVOgAwIBAgIJAOVssaaTYoH3MAkGByqGSM49BAEwJjEkMCIGA1UEAwwb 18 | TGlicmVTU0wgVGVzdCBSb290IENBIEVDRFNBMB4XDTIxMTIyNzE0NDA0MFoXDTMx 19 | MTIyNTE0NDA0MFowLjEsMCoGA1UEAwwjTGlicmVTU0wgVGVzdCBJbnRlcm1lZGlh 20 | dGUgQ0EgRUNEU0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATWRQbJh4aHPzHq 21 | LOAmosW/o83bTpm3Sj1VxM44StmG7c1nnFM/+gS8rp2bVSgjWZQzRtZqGVGJgzbk 22 | 7/M1m3x3o2MwYTAdBgNVHQ4EFgQUF1Y9b/xKVxI5QsoCcoGrUA3kwggwHwYDVR0j 23 | BBgwFoAUtvkat4UdcUEipt6L/PBgEFYH6AwwDwYDVR0TAQH/BAUwAwEB/zAOBgNV 24 | HQ8BAf8EBAMCAQYwCQYHKoZIzj0EAQNIADBFAiBE4NiOdv/XRN3WWMnkE5QccvC6 25 | VThoIQRyBf4I97cRPQIhAK18dvwrLuOOfbhWMdkpNCddMkWZHxS7traw/8+s7OUU 26 | -----END CERTIFICATE----- 27 | -------------------------------------------------------------------------------- /tests/client3-ecdsa.pem: -------------------------------------------------------------------------------- 1 | subject= CN = LibreSSL Test Client 3 ECDSA 2 | issuer= CN = LibreSSL Test Intermediate CA ECDSA 3 | -----BEGIN CERTIFICATE----- 4 | MIIBqjCCAVGgAwIBAgIJAOVssaaTYoH7MAkGByqGSM49BAEwLjEsMCoGA1UEAwwj 5 | TGlicmVTU0wgVGVzdCBJbnRlcm1lZGlhdGUgQ0EgRUNEU0EwHhcNMjExMjI3MTQ0 6 | MDQwWhcNMzExMjI1MTQ0MDQwWjAnMSUwIwYDVQQDDBxMaWJyZVNTTCBUZXN0IENs 7 | aWVudCAzIEVDRFNBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqlNqEjPuPpw3 8 | HaWxXbWql6f9g2HPei7RGZRfEAeNrnWT+Y4okVoqcxjeLNBA6dNl3uALWbSmDu6a 9 | kmBSU1aY9KNgMF4wHQYDVR0OBBYEFKxGR7LhwxXUGYyxjqBrxi5RKHamMB8GA1Ud 10 | IwQYMBaAFBdWPW/8SlcSOULKAnKBq1AN5MIIMAwGA1UdEwEB/wQCMAAwDgYDVR0P 11 | AQH/BAQDAgeAMAkGByqGSM49BAEDSAAwRQIhAMFzwaCpvWiXD+zEZ/mUBdbMQq2W 12 | JLELD9Mv11NiBhi6AiAN/QNQjluNEUTkxCH6p9bQiOYCQ3DOnPTxrSly/RQOSQ== 13 | -----END CERTIFICATE----- 14 | -----BEGIN PRIVATE KEY----- 15 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgfaMOzQZ+d1yL3ToI 16 | VPcHtdkIVhqatu/rDcJLuJcNnQehRANCAASqU2oSM+4+nDcdpbFdtaqXp/2DYc96 17 | LtEZlF8QB42udZP5jiiRWipzGN4s0EDp02Xe4AtZtKYO7pqSYFJTVpj0 18 | -----END PRIVATE KEY----- 19 | -------------------------------------------------------------------------------- /tests/ctlog.conf: -------------------------------------------------------------------------------- 1 | enabled_logs = argon2022 2 | 3 | [argon2022] 4 | description = Google Argon 2022 5 | key = MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEeIPc6fGmuBg6AJkv/z7NFckmHvf/OqmjchZJ6wm2qN200keRDg352dWpi7CHnSV51BpQYAj1CQY5JuRAwrrDwg== 6 | -------------------------------------------------------------------------------- /tests/empty.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/LibreSSL/7e7431c1c4fcb5919ce6b0684912dd8f554ce10e/tests/empty.c -------------------------------------------------------------------------------- /tests/evptest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | TEST=./evptest 4 | if [ -e ./evptest.exe ]; then 5 | TEST=./evptest.exe 6 | fi 7 | $TEST $srcdir/evptests.txt 8 | -------------------------------------------------------------------------------- /tests/keypairtest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | TEST=./keypairtest 4 | if [ -e ./keypairtest.exe ]; then 5 | TEST=./keypairtest.exe 6 | fi 7 | 8 | if [ -z $srcdir ]; then 9 | srcdir=. 10 | fi 11 | 12 | $TEST $srcdir/ca-root-rsa.pem $srcdir/server1-rsa.pem $srcdir/server1-rsa.pem 13 | -------------------------------------------------------------------------------- /tests/ocsptest.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal enabledelayedexpansion 3 | REM ocspocsp_test_bin.bat 4 | 5 | set ocsp_test_bin=%1 6 | set ocsp_test_bin=%ocsp_test_bin:/=\% 7 | if not exist %ocsp_test_bin% exit /b 1 8 | 9 | %ocsp_test_bin% www.amazon.com 443 & if !errorlevel! neq 0 exit /b 1 10 | %ocsp_test_bin% cloudflare.com 443 & if !errorlevel! neq 0 exit /b 1 11 | 12 | endlocal 13 | -------------------------------------------------------------------------------- /tests/ocsptest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | TEST=./ocsp_test 4 | if [ -e ./ocsp_test.exe ]; then 5 | TEST=./ocsp_test.exe 6 | fi 7 | $TEST www.amazon.com 443 8 | $TEST cloudflare.com 443 9 | -------------------------------------------------------------------------------- /tests/openssl.cnf: -------------------------------------------------------------------------------- 1 | # $OpenBSD: openssl.cnf,v 1.1 2014/08/26 17:50:07 jsing Exp $ 2 | 3 | # 4 | # SSLeay example configuration file. 5 | # This is mostly being used for generation of certificate requests. 6 | # 7 | # hacked by iang to do DSA certs - Server 8 | 9 | RANDFILE = ./.rnd 10 | 11 | #################################################################### 12 | [ req ] 13 | distinguished_name = req_distinguished_name 14 | encrypt_rsa_key = no 15 | 16 | [ req_distinguished_name ] 17 | countryName = Country Name (2 letter code) 18 | countryName_default = CA 19 | countryName_value = CA 20 | 21 | organizationName = Organization Name (eg, company) 22 | organizationName_value = Shake it Vera 23 | 24 | 0.commonName = Common Name (eg, YOUR name) 25 | 0.commonName_value = Wastelandus 26 | 27 | 1.commonName = Common Name (eg, YOUR name) 28 | 1.commonName_value = Maximus 29 | 30 | -------------------------------------------------------------------------------- /tests/pidwraptest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ./pidwraptest > pidwraptest.txt 3 | while read a b; 4 | do 5 | if [ "$a" = "$b" ]; then 6 | echo "FAIL: $a = $b" 7 | return 2 8 | else 9 | echo "PASS: $a != $b" 10 | fi 11 | done < pidwraptest.txt 12 | -------------------------------------------------------------------------------- /tests/policy_intermediate.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBqjCCAVGgAwIBAgIBAjAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtQb2xpY3kg 3 | Um9vdDAgFw0wMDAxMDEwMDAwMDBaGA8yMTAwMDEwMTAwMDAwMFowHjEcMBoGA1UE 4 | AxMTUG9saWN5IEludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 5 | BOI6fKiM3jFLkLyAn88cvlw4SwxuygRjopP3FFBKHyUQvh3VVvfqSpSCSmp50Qia 6 | jQ6Dg7CTpVZVVH+bguT7JTCjgYUwgYIwDgYDVR0PAQH/BAQDAgIEMBMGA1UdJQQM 7 | MAoGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJDS9/4O7qhr 8 | CIRhwsXrPVBagG2uMCsGA1UdIAQkMCIwDwYNKoZIhvcSBAGEtwkCATAPBg0qhkiG 9 | 9xIEAYS3CQICMAoGCCqGSM49BAMCA0cAMEQCIFN2ZtknXQ9vz23qD1ecprC9iIo7 10 | j/SI42Ub64qZQaraAiA+CRCWJz/l+NQ1+TPWYDDWY6Wh2L9Wbddh1Nj5KJEkhQ== 11 | -----END CERTIFICATE----- 12 | -------------------------------------------------------------------------------- /tests/policy_intermediate_any.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBkDCCATWgAwIBAgIBAjAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtQb2xpY3kg 3 | Um9vdDAgFw0wMDAxMDEwMDAwMDBaGA8yMTAwMDEwMTAwMDAwMFowHjEcMBoGA1UE 4 | AxMTUG9saWN5IEludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 5 | BOI6fKiM3jFLkLyAn88cvlw4SwxuygRjopP3FFBKHyUQvh3VVvfqSpSCSmp50Qia 6 | jQ6Dg7CTpVZVVH+bguT7JTCjajBoMA4GA1UdDwEB/wQEAwICBDATBgNVHSUEDDAK 7 | BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSQ0vf+Du6oawiE 8 | YcLF6z1QWoBtrjARBgNVHSAECjAIMAYGBFUdIAAwCgYIKoZIzj0EAwIDSQAwRgIh 9 | AJbyXshUwjsFCiqrJkg91GzJdhZZ+3WXOekCJgi8uEESAiEAhv4sEE0wRRqgHDjl 10 | vIt26IELfFE2Z/FBF3ihGmi6NoI= 11 | -----END CERTIFICATE----- 12 | -------------------------------------------------------------------------------- /tests/policy_intermediate_duplicate.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBvDCCAWKgAwIBAgIBAjAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtQb2xpY3kg 3 | Um9vdDAgFw0wMDAxMDEwMDAwMDBaGA8yMTAwMDEwMTAwMDAwMFowHjEcMBoGA1UE 4 | AxMTUG9saWN5IEludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 5 | BOI6fKiM3jFLkLyAn88cvlw4SwxuygRjopP3FFBKHyUQvh3VVvfqSpSCSmp50Qia 6 | jQ6Dg7CTpVZVVH+bguT7JTCjgZYwgZMwDgYDVR0PAQH/BAQDAgIEMBMGA1UdJQQM 7 | MAoGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJDS9/4O7qhr 8 | CIRhwsXrPVBagG2uMDwGA1UdIAQ1MDMwDwYNKoZIhvcSBAGEtwkCATAPBg0qhkiG 9 | 9xIEAYS3CQICMA8GDSqGSIb3EgQBhLcJAgIwCgYIKoZIzj0EAwIDSAAwRQIgUpG6 10 | FUeWrC62BtTPHiSlWBdnLWUYH0llS6uYUkpJFJECIQCWfhoZYXvHdMhgBDSI/vzY 11 | Sw4uNdcMxrC2kP6lIioUSw== 12 | -----END CERTIFICATE----- 13 | -------------------------------------------------------------------------------- /tests/policy_intermediate_invalid.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBjDCCATKgAwIBAgIBAjAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtQb2xpY3kg 3 | Um9vdDAgFw0wMDAxMDEwMDAwMDBaGA8yMTAwMDEwMTAwMDAwMFowHjEcMBoGA1UE 4 | AxMTUG9saWN5IEludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 5 | BOI6fKiM3jFLkLyAn88cvlw4SwxuygRjopP3FFBKHyUQvh3VVvfqSpSCSmp50Qia 6 | jQ6Dg7CTpVZVVH+bguT7JTCjZzBlMA4GA1UdDwEB/wQEAwICBDATBgNVHSUEDDAK 7 | BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSQ0vf+Du6oawiE 8 | YcLF6z1QWoBtrjAOBgNVHSAEB0lOVkFMSUQwCgYIKoZIzj0EAwIDSAAwRQIgS2uK 9 | cYlZ1bxeqgMy3X0Sfi0arAnqpePsAqAeEf+HJHQCIQDwfCnXrWyHET9lM/gJSkfN 10 | j/JRJvJELDrAMVewCxZWKA== 11 | -----END CERTIFICATE----- 12 | -------------------------------------------------------------------------------- /tests/policy_intermediate_mapped.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICrjCCAlSgAwIBAgIBAjAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtQb2xpY3kg 3 | Um9vdDAgFw0wMDAxMDEwMDAwMDBaGA8yMTAwMDEwMTAwMDAwMFowHjEcMBoGA1UE 4 | AxMTUG9saWN5IEludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 5 | BOI6fKiM3jFLkLyAn88cvlw4SwxuygRjopP3FFBKHyUQvh3VVvfqSpSCSmp50Qia 6 | jQ6Dg7CTpVZVVH+bguT7JTCjggGHMIIBgzAOBgNVHQ8BAf8EBAMCAgQwEwYDVR0l 7 | BAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUkNL3/g7u 8 | qGsIhGHCxes9UFqAba4wXgYDVR0gBFcwVTAPBg0qhkiG9xIEAYS3CQIBMA8GDSqG 9 | SIb3EgQBhLcJAgIwDwYNKoZIhvcSBAGEtwkCAzAPBg0qhkiG9xIEAYS3CQIEMA8G 10 | DSqGSIb3EgQBhLcJAgUwgcsGA1UdIQSBwzCBwDAeBg0qhkiG9xIEAYS3CQIDBg0q 11 | hkiG9xIEAYS3CQIBMB4GDSqGSIb3EgQBhLcJAgMGDSqGSIb3EgQBhLcJAgIwHgYN 12 | KoZIhvcSBAGEtwkCBAYNKoZIhvcSBAGEtwkCBDAeBg0qhkiG9xIEAYS3CQIEBg0q 13 | hkiG9xIEAYS3CQIFMB4GDSqGSIb3EgQBhLcJAgUGDSqGSIb3EgQBhLcJAgQwHgYN 14 | KoZIhvcSBAGEtwkCBQYNKoZIhvcSBAGEtwkCBTAKBggqhkjOPQQDAgNIADBFAiAe 15 | Ah2vJMZsW/RV35mM7b7/NjsjScjPEIxfDJu49inNXQIhANmGBqyWUogh/gXyVB0/ 16 | IfDro27pANW3R02A+zH34q5k 17 | -----END CERTIFICATE----- 18 | -------------------------------------------------------------------------------- /tests/policy_intermediate_mapped_any.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICYjCCAgegAwIBAgIBAjAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtQb2xpY3kg 3 | Um9vdDAgFw0wMDAxMDEwMDAwMDBaGA8yMTAwMDEwMTAwMDAwMFowHjEcMBoGA1UE 4 | AxMTUG9saWN5IEludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 5 | BOI6fKiM3jFLkLyAn88cvlw4SwxuygRjopP3FFBKHyUQvh3VVvfqSpSCSmp50Qia 6 | jQ6Dg7CTpVZVVH+bguT7JTCjggE6MIIBNjAOBgNVHQ8BAf8EBAMCAgQwEwYDVR0l 7 | BAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUkNL3/g7u 8 | qGsIhGHCxes9UFqAba4wEQYDVR0gBAowCDAGBgRVHSAAMIHLBgNVHSEEgcMwgcAw 9 | HgYNKoZIhvcSBAGEtwkCAwYNKoZIhvcSBAGEtwkCATAeBg0qhkiG9xIEAYS3CQID 10 | Bg0qhkiG9xIEAYS3CQICMB4GDSqGSIb3EgQBhLcJAgQGDSqGSIb3EgQBhLcJAgQw 11 | HgYNKoZIhvcSBAGEtwkCBAYNKoZIhvcSBAGEtwkCBTAeBg0qhkiG9xIEAYS3CQIF 12 | Bg0qhkiG9xIEAYS3CQIEMB4GDSqGSIb3EgQBhLcJAgUGDSqGSIb3EgQBhLcJAgUw 13 | CgYIKoZIzj0EAwIDSQAwRgIhAIOx3GL5xlldQGdTLIvTTAvczm8wiYHzZDAif2yj 14 | wAjEAiEAg4K02kTYX9x7PC/u1PYdwvo+LVbnGbO6AN6U3K2d7gs= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /tests/policy_intermediate_mapped_oid3.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICajCCAhCgAwIBAgIBAjAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtQb2xpY3kg 3 | Um9vdDAgFw0wMDAxMDEwMDAwMDBaGA8yMTAwMDEwMTAwMDAwMFowHjEcMBoGA1UE 4 | AxMTUG9saWN5IEludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 5 | BOI6fKiM3jFLkLyAn88cvlw4SwxuygRjopP3FFBKHyUQvh3VVvfqSpSCSmp50Qia 6 | jQ6Dg7CTpVZVVH+bguT7JTCjggFDMIIBPzAOBgNVHQ8BAf8EBAMCAgQwEwYDVR0l 7 | BAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUkNL3/g7u 8 | qGsIhGHCxes9UFqAba4wGgYDVR0gBBMwETAPBg0qhkiG9xIEAYS3CQIDMIHLBgNV 9 | HSEEgcMwgcAwHgYNKoZIhvcSBAGEtwkCAwYNKoZIhvcSBAGEtwkCATAeBg0qhkiG 10 | 9xIEAYS3CQIDBg0qhkiG9xIEAYS3CQICMB4GDSqGSIb3EgQBhLcJAgQGDSqGSIb3 11 | EgQBhLcJAgQwHgYNKoZIhvcSBAGEtwkCBAYNKoZIhvcSBAGEtwkCBTAeBg0qhkiG 12 | 9xIEAYS3CQIFBg0qhkiG9xIEAYS3CQIEMB4GDSqGSIb3EgQBhLcJAgUGDSqGSIb3 13 | EgQBhLcJAgUwCgYIKoZIzj0EAwIDSAAwRQIhAK0bRaGgd5qQlX+zTw3IUynFHxfk 14 | zRbZagnTzjYtkNNmAiBJ2kOnvRdW930eHAwZPGpc1Hn5hMSOQdUhNZ3XZDASkQ== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /tests/policy_intermediate_require.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBuDCCAV+gAwIBAgIBAjAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtQb2xpY3kg 3 | Um9vdDAgFw0wMDAxMDEwMDAwMDBaGA8yMTAwMDEwMTAwMDAwMFowHjEcMBoGA1UE 4 | AxMTUG9saWN5IEludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 5 | BOI6fKiM3jFLkLyAn88cvlw4SwxuygRjopP3FFBKHyUQvh3VVvfqSpSCSmp50Qia 6 | jQ6Dg7CTpVZVVH+bguT7JTCjgZMwgZAwDgYDVR0PAQH/BAQDAgIEMBMGA1UdJQQM 7 | MAoGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJDS9/4O7qhr 8 | CIRhwsXrPVBagG2uMCsGA1UdIAQkMCIwDwYNKoZIhvcSBAGEtwkCATAPBg0qhkiG 9 | 9xIEAYS3CQICMAwGA1UdJAQFMAOAAQAwCgYIKoZIzj0EAwIDRwAwRAIgbPUZ9ezH 10 | SgTqom7VLPOvrQQXwy3b/ijSobs7+SOouKMCIDaqcb9143BG005etqeTvlgUyOGF 11 | GQDWhiW8bizH+KEl 12 | -----END CERTIFICATE----- 13 | -------------------------------------------------------------------------------- /tests/policy_intermediate_require1.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBujCCAV+gAwIBAgIBAjAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtQb2xpY3kg 3 | Um9vdDAgFw0wMDAxMDEwMDAwMDBaGA8yMTAwMDEwMTAwMDAwMFowHjEcMBoGA1UE 4 | AxMTUG9saWN5IEludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 5 | BOI6fKiM3jFLkLyAn88cvlw4SwxuygRjopP3FFBKHyUQvh3VVvfqSpSCSmp50Qia 6 | jQ6Dg7CTpVZVVH+bguT7JTCjgZMwgZAwDgYDVR0PAQH/BAQDAgIEMBMGA1UdJQQM 7 | MAoGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJDS9/4O7qhr 8 | CIRhwsXrPVBagG2uMCsGA1UdIAQkMCIwDwYNKoZIhvcSBAGEtwkCATAPBg0qhkiG 9 | 9xIEAYS3CQICMAwGA1UdJAQFMAOAAQEwCgYIKoZIzj0EAwIDSQAwRgIhAIAwvhHB 10 | GQDN5YXlidd+n3OT/SqoeXfp7RiEonBnCkW4AiEA+iFc47EOBchHb+Gy0gg8F9Po 11 | RnlpoulWDfbDwx9r4lc= 12 | -----END CERTIFICATE----- 13 | -------------------------------------------------------------------------------- /tests/policy_intermediate_require2.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBuTCCAV+gAwIBAgIBAjAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtQb2xpY3kg 3 | Um9vdDAgFw0wMDAxMDEwMDAwMDBaGA8yMTAwMDEwMTAwMDAwMFowHjEcMBoGA1UE 4 | AxMTUG9saWN5IEludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 5 | BOI6fKiM3jFLkLyAn88cvlw4SwxuygRjopP3FFBKHyUQvh3VVvfqSpSCSmp50Qia 6 | jQ6Dg7CTpVZVVH+bguT7JTCjgZMwgZAwDgYDVR0PAQH/BAQDAgIEMBMGA1UdJQQM 7 | MAoGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJDS9/4O7qhr 8 | CIRhwsXrPVBagG2uMCsGA1UdIAQkMCIwDwYNKoZIhvcSBAGEtwkCATAPBg0qhkiG 9 | 9xIEAYS3CQICMAwGA1UdJAQFMAOAAQIwCgYIKoZIzj0EAwIDSAAwRQIgOpliSKKA 10 | +wy/auQnKKl+wwtn/hGw6eZXgIOtFgDmyMYCIQC84zoJL87AE64gsrdX4XSHq6lb 11 | WhZQp9ZnDaNu88SQLQ== 12 | -----END CERTIFICATE----- 13 | -------------------------------------------------------------------------------- /tests/policy_intermediate_require_duplicate.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIByjCCAXCgAwIBAgIBAjAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtQb2xpY3kg 3 | Um9vdDAgFw0wMDAxMDEwMDAwMDBaGA8yMTAwMDEwMTAwMDAwMFowHjEcMBoGA1UE 4 | AxMTUG9saWN5IEludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 5 | BOI6fKiM3jFLkLyAn88cvlw4SwxuygRjopP3FFBKHyUQvh3VVvfqSpSCSmp50Qia 6 | jQ6Dg7CTpVZVVH+bguT7JTCjgaQwgaEwDgYDVR0PAQH/BAQDAgIEMBMGA1UdJQQM 7 | MAoGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJDS9/4O7qhr 8 | CIRhwsXrPVBagG2uMDwGA1UdIAQ1MDMwDwYNKoZIhvcSBAGEtwkCATAPBg0qhkiG 9 | 9xIEAYS3CQICMA8GDSqGSIb3EgQBhLcJAgIwDAYDVR0kBAUwA4ABADAKBggqhkjO 10 | PQQDAgNIADBFAiA2GxzMRYYo7NNq8u/ZvffXkCj/phqXQ8I64tEDd0X8pgIhAOJJ 11 | e+dzzf4vbWfMlYkOQ4kf6ei5Zf+J2PL6VrqVrHQa 12 | -----END CERTIFICATE----- 13 | -------------------------------------------------------------------------------- /tests/policy_intermediate_require_no_policies.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBizCCATCgAwIBAgIBAjAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtQb2xpY3kg 3 | Um9vdDAgFw0wMDAxMDEwMDAwMDBaGA8yMTAwMDEwMTAwMDAwMFowHjEcMBoGA1UE 4 | AxMTUG9saWN5IEludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 5 | BOI6fKiM3jFLkLyAn88cvlw4SwxuygRjopP3FFBKHyUQvh3VVvfqSpSCSmp50Qia 6 | jQ6Dg7CTpVZVVH+bguT7JTCjZTBjMA4GA1UdDwEB/wQEAwICBDATBgNVHSUEDDAK 7 | BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSQ0vf+Du6oawiE 8 | YcLF6z1QWoBtrjAMBgNVHSQEBTADgAEAMAoGCCqGSM49BAMCA0kAMEYCIQDJYPgf 9 | 50fFDVho5TFeqkNVONx0ArVNgULPB27yPDHLrwIhAN+eua6oM4Q/O0jUESQ4VAKt 10 | ts7ZCquTZbvgRgyqtjuT 11 | -----END CERTIFICATE----- 12 | -------------------------------------------------------------------------------- /tests/policy_leaf.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBpzCCAU2gAwIBAgIBAzAKBggqhkjOPQQDAjAeMRwwGgYDVQQDExNQb2xpY3kg 3 | SW50ZXJtZWRpYXRlMCAXDTAwMDEwMTAwMDAwMFoYDzIxMDAwMTAxMDAwMDAwWjAa 4 | MRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMB 5 | BwNCAASRKti8VW2Rkma+Kt9jQkMNitlCs0l5w8u3SSwm7HZREvmcBCJBjVIREacR 6 | qI0umhzR2V5NLzBBP9yPD/A+Ch5Xo34wfDAOBgNVHQ8BAf8EBAMCAgQwEwYDVR0l 7 | BAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAaBgNVHREEEzARgg93d3cuZXhh 8 | bXBsZS5jb20wKwYDVR0gBCQwIjAPBg0qhkiG9xIEAYS3CQIBMA8GDSqGSIb3EgQB 9 | hLcJAgIwCgYIKoZIzj0EAwIDSAAwRQIgBEOriD1N3/cqoAofxEtf73M7Wi4UfjFK 10 | jiU9nQhwnnoCIQD1v/XDp2BkWNHxNq7TaPnil3xXTvMX97yUbkUg8IRo0w== 11 | -----END CERTIFICATE----- 12 | -------------------------------------------------------------------------------- /tests/policy_leaf_any.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBjTCCATOgAwIBAgIBAzAKBggqhkjOPQQDAjAeMRwwGgYDVQQDExNQb2xpY3kg 3 | SW50ZXJtZWRpYXRlMCAXDTAwMDEwMTAwMDAwMFoYDzIxMDAwMTAxMDAwMDAwWjAa 4 | MRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMB 5 | BwNCAASRKti8VW2Rkma+Kt9jQkMNitlCs0l5w8u3SSwm7HZREvmcBCJBjVIREacR 6 | qI0umhzR2V5NLzBBP9yPD/A+Ch5Xo2QwYjAOBgNVHQ8BAf8EBAMCAgQwEwYDVR0l 7 | BAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAaBgNVHREEEzARgg93d3cuZXhh 8 | bXBsZS5jb20wEQYDVR0gBAowCDAGBgRVHSAAMAoGCCqGSM49BAMCA0gAMEUCIQC4 9 | UwAf1R4HefSzyO8lyQ3fmMjkptVEhFBee0a7N12IvwIgJMYZgQ52VTbqXyXqraJ8 10 | V+y+o7eHds7NewqnyuLbc78= 11 | -----END CERTIFICATE----- 12 | -------------------------------------------------------------------------------- /tests/policy_leaf_duplicate.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBsTCCAVigAwIBAgIBAzAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtQb2xpY3kg 3 | Um9vdDAgFw0wMDAxMDEwMDAwMDBaGA8yMTAwMDEwMTAwMDAwMFowGjEYMBYGA1UE 4 | AxMPd3d3LmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkSrY 5 | vFVtkZJmvirfY0JDDYrZQrNJecPLt0ksJux2URL5nAQiQY1SERGnEaiNLpoc0dle 6 | TS8wQT/cjw/wPgoeV6OBkDCBjTAOBgNVHQ8BAf8EBAMCAgQwEwYDVR0lBAwwCgYI 7 | KwYBBQUHAwEwDAYDVR0TAQH/BAIwADAaBgNVHREEEzARgg93d3cuZXhhbXBsZS5j 8 | b20wPAYDVR0gBDUwMzAPBg0qhkiG9xIEAYS3CQIBMA8GDSqGSIb3EgQBhLcJAgIw 9 | DwYNKoZIhvcSBAGEtwkCAjAKBggqhkjOPQQDAgNHADBEAiBjYDwsWcs35hU/wPqa 10 | 5gf0QUMvV/8z5LPX14fB2y4RGQIgMw0ekrt9K5UcgkvFupV/XXIjLRFQvc8URA3C 11 | /+w+2/4= 12 | -----END CERTIFICATE----- 13 | -------------------------------------------------------------------------------- /tests/policy_leaf_invalid.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBgjCCASigAwIBAgIBAzAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtQb2xpY3kg 3 | Um9vdDAgFw0wMDAxMDEwMDAwMDBaGA8yMTAwMDEwMTAwMDAwMFowGjEYMBYGA1UE 4 | AxMPd3d3LmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkSrY 5 | vFVtkZJmvirfY0JDDYrZQrNJecPLt0ksJux2URL5nAQiQY1SERGnEaiNLpoc0dle 6 | TS8wQT/cjw/wPgoeV6NhMF8wDgYDVR0PAQH/BAQDAgIEMBMGA1UdJQQMMAoGCCsG 7 | AQUFBwMBMAwGA1UdEwEB/wQCMAAwGgYDVR0RBBMwEYIPd3d3LmV4YW1wbGUuY29t 8 | MA4GA1UdIAQHSU5WQUxJRDAKBggqhkjOPQQDAgNIADBFAiAgfcDIeqmV+u5YtUe4 9 | aBnj13tZAJAQh6ttum1xZ+xHEgIhAJqvGX5c0/d1qYelBlm/jE3UuivijdEjVsLX 10 | GVH+X1VA 11 | -----END CERTIFICATE----- 12 | -------------------------------------------------------------------------------- /tests/policy_leaf_none.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBezCCASCgAwIBAgIBAzAKBggqhkjOPQQDAjAeMRwwGgYDVQQDExNQb2xpY3kg 3 | SW50ZXJtZWRpYXRlMCAXDTAwMDEwMTAwMDAwMFoYDzIxMDAwMTAxMDAwMDAwWjAa 4 | MRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMB 5 | BwNCAASRKti8VW2Rkma+Kt9jQkMNitlCs0l5w8u3SSwm7HZREvmcBCJBjVIREacR 6 | qI0umhzR2V5NLzBBP9yPD/A+Ch5Xo1EwTzAOBgNVHQ8BAf8EBAMCAgQwEwYDVR0l 7 | BAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAaBgNVHREEEzARgg93d3cuZXhh 8 | bXBsZS5jb20wCgYIKoZIzj0EAwIDSQAwRgIhAIDFeeYJ8nmYo09OnJFpNS3A6fYO 9 | ZliHkAqOsg193DTnAiEA3OSHLCczcvRjMG+qd/FI61u2sKU1hhHh7uHtD/YO/dA= 10 | -----END CERTIFICATE----- 11 | -------------------------------------------------------------------------------- /tests/policy_leaf_oid1.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBlTCCATygAwIBAgIBAzAKBggqhkjOPQQDAjAeMRwwGgYDVQQDExNQb2xpY3kg 3 | SW50ZXJtZWRpYXRlMCAXDTAwMDEwMTAwMDAwMFoYDzIxMDAwMTAxMDAwMDAwWjAa 4 | MRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMB 5 | BwNCAASRKti8VW2Rkma+Kt9jQkMNitlCs0l5w8u3SSwm7HZREvmcBCJBjVIREacR 6 | qI0umhzR2V5NLzBBP9yPD/A+Ch5Xo20wazAOBgNVHQ8BAf8EBAMCAgQwEwYDVR0l 7 | BAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAaBgNVHREEEzARgg93d3cuZXhh 8 | bXBsZS5jb20wGgYDVR0gBBMwETAPBg0qhkiG9xIEAYS3CQIBMAoGCCqGSM49BAMC 9 | A0cAMEQCIHh4Bo8l/HVJhLMWcYusPOE0arqoDrJ5E0M6nEi3nRhgAiAArK8bBohG 10 | fZ3DmVMq/2BJtQZwRRj+50VKWuf9mBSflQ== 11 | -----END CERTIFICATE----- 12 | -------------------------------------------------------------------------------- /tests/policy_leaf_oid2.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBlzCCATygAwIBAgIBAzAKBggqhkjOPQQDAjAeMRwwGgYDVQQDExNQb2xpY3kg 3 | SW50ZXJtZWRpYXRlMCAXDTAwMDEwMTAwMDAwMFoYDzIxMDAwMTAxMDAwMDAwWjAa 4 | MRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMB 5 | BwNCAASRKti8VW2Rkma+Kt9jQkMNitlCs0l5w8u3SSwm7HZREvmcBCJBjVIREacR 6 | qI0umhzR2V5NLzBBP9yPD/A+Ch5Xo20wazAOBgNVHQ8BAf8EBAMCAgQwEwYDVR0l 7 | BAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAaBgNVHREEEzARgg93d3cuZXhh 8 | bXBsZS5jb20wGgYDVR0gBBMwETAPBg0qhkiG9xIEAYS3CQICMAoGCCqGSM49BAMC 9 | A0kAMEYCIQDvW7rdL6MSW/0BPNET4hEeECO6LWmZZHKCHIu6o33dsAIhAPwgm6lD 10 | KV2hMOxkE6rBDQzlCr+zAkQrxSzQZqJp5p+W 11 | -----END CERTIFICATE----- 12 | -------------------------------------------------------------------------------- /tests/policy_leaf_oid3.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBlzCCATygAwIBAgIBAzAKBggqhkjOPQQDAjAeMRwwGgYDVQQDExNQb2xpY3kg 3 | SW50ZXJtZWRpYXRlMCAXDTAwMDEwMTAwMDAwMFoYDzIxMDAwMTAxMDAwMDAwWjAa 4 | MRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMB 5 | BwNCAASRKti8VW2Rkma+Kt9jQkMNitlCs0l5w8u3SSwm7HZREvmcBCJBjVIREacR 6 | qI0umhzR2V5NLzBBP9yPD/A+Ch5Xo20wazAOBgNVHQ8BAf8EBAMCAgQwEwYDVR0l 7 | BAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAaBgNVHREEEzARgg93d3cuZXhh 8 | bXBsZS5jb20wGgYDVR0gBBMwETAPBg0qhkiG9xIEAYS3CQIDMAoGCCqGSM49BAMC 9 | A0kAMEYCIQDBPnPpRsOH20ncg8TKUdlONfbO62WafQj9SKgyi/nGBQIhAMhT8J7f 10 | fTEou6jlAilaIQwlAgZzVKRqgghIHezFY86T 11 | -----END CERTIFICATE----- 12 | -------------------------------------------------------------------------------- /tests/policy_leaf_oid4.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBlzCCATygAwIBAgIBAzAKBggqhkjOPQQDAjAeMRwwGgYDVQQDExNQb2xpY3kg 3 | SW50ZXJtZWRpYXRlMCAXDTAwMDEwMTAwMDAwMFoYDzIxMDAwMTAxMDAwMDAwWjAa 4 | MRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMB 5 | BwNCAASRKti8VW2Rkma+Kt9jQkMNitlCs0l5w8u3SSwm7HZREvmcBCJBjVIREacR 6 | qI0umhzR2V5NLzBBP9yPD/A+Ch5Xo20wazAOBgNVHQ8BAf8EBAMCAgQwEwYDVR0l 7 | BAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAaBgNVHREEEzARgg93d3cuZXhh 8 | bXBsZS5jb20wGgYDVR0gBBMwETAPBg0qhkiG9xIEAYS3CQIEMAoGCCqGSM49BAMC 9 | A0kAMEYCIQD2gnpCTMxUalCtEV52eXzqeJgsKMYvEpJTuU/VqH5KwQIhAPEavAkt 10 | cSJsgMgJcJnbBzAdSrbOgHXF2etDHmFbg0hz 11 | -----END CERTIFICATE----- 12 | -------------------------------------------------------------------------------- /tests/policy_leaf_oid5.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBlzCCATygAwIBAgIBAzAKBggqhkjOPQQDAjAeMRwwGgYDVQQDExNQb2xpY3kg 3 | SW50ZXJtZWRpYXRlMCAXDTAwMDEwMTAwMDAwMFoYDzIxMDAwMTAxMDAwMDAwWjAa 4 | MRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMB 5 | BwNCAASRKti8VW2Rkma+Kt9jQkMNitlCs0l5w8u3SSwm7HZREvmcBCJBjVIREacR 6 | qI0umhzR2V5NLzBBP9yPD/A+Ch5Xo20wazAOBgNVHQ8BAf8EBAMCAgQwEwYDVR0l 7 | BAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAaBgNVHREEEzARgg93d3cuZXhh 8 | bXBsZS5jb20wGgYDVR0gBBMwETAPBg0qhkiG9xIEAYS3CQIFMAoGCCqGSM49BAMC 9 | A0kAMEYCIQDDFVjhlQ1Wu0KITcRX8kELpVDeYSKSlvEbZc3rn1QjkQIhAMPthqBi 10 | I0acz8DPQcdFmHXV0xR2xyC1yuen0gES5WLR 11 | -----END CERTIFICATE----- 12 | -------------------------------------------------------------------------------- /tests/policy_leaf_require.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBuDCCAV2gAwIBAgIBAzAKBggqhkjOPQQDAjAeMRwwGgYDVQQDExNQb2xpY3kg 3 | SW50ZXJtZWRpYXRlMCAXDTAwMDEwMTAwMDAwMFoYDzIxMDAwMTAxMDAwMDAwWjAa 4 | MRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMB 5 | BwNCAASRKti8VW2Rkma+Kt9jQkMNitlCs0l5w8u3SSwm7HZREvmcBCJBjVIREacR 6 | qI0umhzR2V5NLzBBP9yPD/A+Ch5Xo4GNMIGKMA4GA1UdDwEB/wQEAwICBDATBgNV 7 | HSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMBoGA1UdEQQTMBGCD3d3dy5l 8 | eGFtcGxlLmNvbTArBgNVHSAEJDAiMA8GDSqGSIb3EgQBhLcJAgEwDwYNKoZIhvcS 9 | BAGEtwkCAjAMBgNVHSQEBTADgAEAMAoGCCqGSM49BAMCA0kAMEYCIQDrNQPi/mdK 10 | l7Nd/YmMXWYTHJBWWin1zA64Ohkd7z4jGgIhAJpw/umk5MxS1MwSi+YTkkcSQKpl 11 | YROQH6+T53DauoW6 12 | -----END CERTIFICATE----- 13 | -------------------------------------------------------------------------------- /tests/policy_leaf_require1.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBuDCCAV2gAwIBAgIBAzAKBggqhkjOPQQDAjAeMRwwGgYDVQQDExNQb2xpY3kg 3 | SW50ZXJtZWRpYXRlMCAXDTAwMDEwMTAwMDAwMFoYDzIxMDAwMTAxMDAwMDAwWjAa 4 | MRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMB 5 | BwNCAASRKti8VW2Rkma+Kt9jQkMNitlCs0l5w8u3SSwm7HZREvmcBCJBjVIREacR 6 | qI0umhzR2V5NLzBBP9yPD/A+Ch5Xo4GNMIGKMA4GA1UdDwEB/wQEAwICBDATBgNV 7 | HSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMBoGA1UdEQQTMBGCD3d3dy5l 8 | eGFtcGxlLmNvbTArBgNVHSAEJDAiMA8GDSqGSIb3EgQBhLcJAgEwDwYNKoZIhvcS 9 | BAGEtwkCAjAMBgNVHSQEBTADgAEBMAoGCCqGSM49BAMCA0kAMEYCIQCtXENGJrKv 10 | IOeLHO/3Nu/SMRXc69Vb3q+4b/uHBFbuqwIhAK22Wfh/ZIHKu3FwbjL+sN0Z39pf 11 | Dsak6fp1y4tqNuvK 12 | -----END CERTIFICATE----- 13 | -------------------------------------------------------------------------------- /tests/policy_root.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBdTCCARqgAwIBAgIBATAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtQb2xpY3kg 3 | Um9vdDAgFw0wMDAxMDEwMDAwMDBaGA8yMTAwMDEwMTAwMDAwMFowFjEUMBIGA1UE 4 | AxMLUG9saWN5IFJvb3QwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQmdqXYl1Gv 5 | Y7y3jcTTK6MVXIQr44TqChRYI6IeV9tIB6jIsOY+Qol1bk8x/7A5FGOnUWFVLEAP 6 | EPSJwPndjolto1cwVTAOBgNVHQ8BAf8EBAMCAgQwEwYDVR0lBAwwCgYIKwYBBQUH 7 | AwEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU0GnnoB+yeN63WMthnh6Uh1HH 8 | dRIwCgYIKoZIzj0EAwIDSQAwRgIhAKVxVAaJnmvt+q4SqegGS23QSzKPM9Yakw9e 9 | bOUU9+52AiEAjXPRBdd90YDey4VFu4f/78yVe0cxMK30lll7lLl7TTA= 10 | -----END CERTIFICATE----- 11 | -------------------------------------------------------------------------------- /tests/policy_root2.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBeDCCAR6gAwIBAgIBATAKBggqhkjOPQQDAjAYMRYwFAYDVQQDEw1Qb2xpY3kg 3 | Um9vdCAyMCAXDTAwMDEwMTAwMDAwMFoYDzIxMDAwMTAxMDAwMDAwWjAYMRYwFAYD 4 | VQQDEw1Qb2xpY3kgUm9vdCAyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJnal 5 | 2JdRr2O8t43E0yujFVyEK+OE6goUWCOiHlfbSAeoyLDmPkKJdW5PMf+wORRjp1Fh 6 | VSxADxD0icD53Y6JbaNXMFUwDgYDVR0PAQH/BAQDAgIEMBMGA1UdJQQMMAoGCCsG 7 | AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNBp56Afsnjet1jLYZ4e 8 | lIdRx3USMAoGCCqGSM49BAMCA0gAMEUCIQDm9rw9ODVtJUPBn2lWoK8s7ElbyY4/ 9 | Gc2thHR50UUzbgIgKRenEDhKiBR6cGC77RaIiaaafW8b7HMd7obuZdDU/58= 10 | -----END CERTIFICATE----- 11 | -------------------------------------------------------------------------------- /tests/policy_root_cross_inhibit_mapping.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIBljCCAT2gAwIBAgIBATAKBggqhkjOPQQDAjAYMRYwFAYDVQQDEw1Qb2xpY3kg 3 | Um9vdCAyMCAXDTAwMDEwMTAwMDAwMFoYDzIxMDAwMTAxMDAwMDAwWjAWMRQwEgYD 4 | VQQDEwtQb2xpY3kgUm9vdDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCZ2pdiX 5 | Ua9jvLeNxNMroxVchCvjhOoKFFgjoh5X20gHqMiw5j5CiXVuTzH/sDkUY6dRYVUs 6 | QA8Q9InA+d2OiW2jeDB2MA4GA1UdDwEB/wQEAwICBDATBgNVHSUEDDAKBggrBgEF 7 | BQcDATAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTQaeegH7J43rdYy2GeHpSH 8 | Ucd1EjARBgNVHSAECjAIMAYGBFUdIAAwDAYDVR0kBAUwA4EBADAKBggqhkjOPQQD 9 | AgNHADBEAiBzR3JGEf9PITYuiXTx+vx9gXji5idGsVog9wRUbY98wwIgVVeYNQQb 10 | x+RN2wYp3kmm8iswUOrqiI6J4PSzT8CYP8Q= 11 | -----END CERTIFICATE----- 12 | -------------------------------------------------------------------------------- /tests/pq_expected.txt: -------------------------------------------------------------------------------- 1 | item 6966726167696c69 2 | item 7374696365787069 3 | item 737570657263616c 4 | -------------------------------------------------------------------------------- /tests/pq_test.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal enabledelayedexpansion 3 | REM pq_test.bat 4 | 5 | set pq_test_bin=%1 6 | set pq_test_bin=%pq_test_bin:/=\% 7 | if not exist %pq_test_bin% exit /b 1 8 | 9 | set pq_output=pq_output.txt 10 | if exist %pq_output% del %pq_output% 11 | 12 | %pq_test_bin% > %pq_output% 13 | fc /b %pq_output% %srcdir%\pq_expected.txt 14 | 15 | endlocal 16 | -------------------------------------------------------------------------------- /tests/pq_test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | TEST=./pq_test 4 | if [ -e ./pq_test.exe ]; then 5 | TEST=./pq_test.exe 6 | elif [ -e ./pq_test.js ]; then 7 | TEST="node ./pq_test.js" 8 | fi 9 | $TEST | diff -b $srcdir/pq_expected.txt - 10 | -------------------------------------------------------------------------------- /tests/quictest.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal enabledelayedexpansion 3 | REM quictest.bat 4 | 5 | set quictest_bin=%1 6 | set quictest_bin=%quictest_bin:/=\% 7 | if not exist %quictest_bin% exit /b 1 8 | 9 | %quictest_bin% %srcdir%\server1-rsa.pem %srcdir%\server1-rsa-chain.pem %srcdir%\ca-root-rsa.pem 10 | if !errorlevel! neq 0 ( 11 | exit /b 1 12 | ) 13 | 14 | endlocal 15 | -------------------------------------------------------------------------------- /tests/quictest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | quictest_bin=./quictest 5 | if [ -e ./quictest.exe ]; then 6 | quictest_bin=./quictest.exe 7 | elif [ -e ./quictest.js ]; then 8 | quictest_bin="node ./quictest.js" 9 | fi 10 | 11 | if [ -z $srcdir ]; then 12 | srcdir=. 13 | fi 14 | 15 | $quictest_bin $srcdir/server1-rsa.pem $srcdir/server1-rsa-chain.pem $srcdir/ca-root-rsa.pem 16 | -------------------------------------------------------------------------------- /tests/rfc5280time_small.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo 1..1 3 | TEST=./rfc5280 4 | if [ -e ./rfc5280.exe ]; then 5 | TEST=./rfc5280.exe 6 | fi 7 | 8 | # map test failure to XFAIL and success to XPASS 9 | $TEST || echo -n "not " 10 | echo "ok # this system is unable to represent times past 2038" 11 | -------------------------------------------------------------------------------- /tests/server1-ecdsa-chain.pem: -------------------------------------------------------------------------------- 1 | subject= CN = LibreSSL Test Server 1 ECDSA 2 | issuer= CN = LibreSSL Test Intermediate CA ECDSA 3 | -----BEGIN CERTIFICATE----- 4 | MIIBqzCCAVKgAwIBAgIJAOVssaaTYoH4MAoGCCqGSM49BAMCMC4xLDAqBgNVBAMM 5 | I0xpYnJlU1NMIFRlc3QgSW50ZXJtZWRpYXRlIENBIEVDRFNBMB4XDTIxMTIyNzE0 6 | NDA0MFoXDTMxMTIyNTE0NDA0MFowJzElMCMGA1UEAwwcTGlicmVTU0wgVGVzdCBT 7 | ZXJ2ZXIgMSBFQ0RTQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLCfzrwjvJ6V 8 | m2Jog48gtuDNYupHd8TKOCVb6J7f1/U3Owwy2//ZVTvM+9uoIC8xxUJAmN0PC+9a 9 | +5TkRWiD1KWjYDBeMB0GA1UdDgQWBBTo776/p89eGJwMmJRNk4k+xGVRPTAfBgNV 10 | HSMEGDAWgBQXVj1v/EpXEjlCygJygatQDeTCCDAMBgNVHRMBAf8EAjAAMA4GA1Ud 11 | DwEB/wQEAwIHgDAKBggqhkjOPQQDAgNHADBEAiAhHPaADQMcGea7iBRbKZWSHUAf 12 | fZSNIWF/nYASNBvKLgIgQXLiuWxt6/a7vxaZwgYXkhP1YfDSC5Kpktxr/3jHcAU= 13 | -----END CERTIFICATE----- 14 | subject= CN = LibreSSL Test Intermediate CA ECDSA 15 | issuer= CN = LibreSSL Test Root CA ECDSA 16 | -----BEGIN CERTIFICATE----- 17 | MIIBrDCCAVOgAwIBAgIJAOVssaaTYoH3MAkGByqGSM49BAEwJjEkMCIGA1UEAwwb 18 | TGlicmVTU0wgVGVzdCBSb290IENBIEVDRFNBMB4XDTIxMTIyNzE0NDA0MFoXDTMx 19 | MTIyNTE0NDA0MFowLjEsMCoGA1UEAwwjTGlicmVTU0wgVGVzdCBJbnRlcm1lZGlh 20 | dGUgQ0EgRUNEU0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATWRQbJh4aHPzHq 21 | LOAmosW/o83bTpm3Sj1VxM44StmG7c1nnFM/+gS8rp2bVSgjWZQzRtZqGVGJgzbk 22 | 7/M1m3x3o2MwYTAdBgNVHQ4EFgQUF1Y9b/xKVxI5QsoCcoGrUA3kwggwHwYDVR0j 23 | BBgwFoAUtvkat4UdcUEipt6L/PBgEFYH6AwwDwYDVR0TAQH/BAUwAwEB/zAOBgNV 24 | HQ8BAf8EBAMCAQYwCQYHKoZIzj0EAQNIADBFAiBE4NiOdv/XRN3WWMnkE5QccvC6 25 | VThoIQRyBf4I97cRPQIhAK18dvwrLuOOfbhWMdkpNCddMkWZHxS7traw/8+s7OUU 26 | -----END CERTIFICATE----- 27 | -------------------------------------------------------------------------------- /tests/server1-ecdsa.pem: -------------------------------------------------------------------------------- 1 | subject= CN = LibreSSL Test Server 1 ECDSA 2 | issuer= CN = LibreSSL Test Intermediate CA ECDSA 3 | -----BEGIN CERTIFICATE----- 4 | MIIBqzCCAVKgAwIBAgIJAOVssaaTYoH4MAoGCCqGSM49BAMCMC4xLDAqBgNVBAMM 5 | I0xpYnJlU1NMIFRlc3QgSW50ZXJtZWRpYXRlIENBIEVDRFNBMB4XDTIxMTIyNzE0 6 | NDA0MFoXDTMxMTIyNTE0NDA0MFowJzElMCMGA1UEAwwcTGlicmVTU0wgVGVzdCBT 7 | ZXJ2ZXIgMSBFQ0RTQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLCfzrwjvJ6V 8 | m2Jog48gtuDNYupHd8TKOCVb6J7f1/U3Owwy2//ZVTvM+9uoIC8xxUJAmN0PC+9a 9 | +5TkRWiD1KWjYDBeMB0GA1UdDgQWBBTo776/p89eGJwMmJRNk4k+xGVRPTAfBgNV 10 | HSMEGDAWgBQXVj1v/EpXEjlCygJygatQDeTCCDAMBgNVHRMBAf8EAjAAMA4GA1Ud 11 | DwEB/wQEAwIHgDAKBggqhkjOPQQDAgNHADBEAiAhHPaADQMcGea7iBRbKZWSHUAf 12 | fZSNIWF/nYASNBvKLgIgQXLiuWxt6/a7vxaZwgYXkhP1YfDSC5Kpktxr/3jHcAU= 13 | -----END CERTIFICATE----- 14 | -----BEGIN PRIVATE KEY----- 15 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgvh2q0Zzqn18tPux2 16 | csqpbWDtHGialpwtx/r/0ENHeKOhRANCAASwn868I7yelZtiaIOPILbgzWLqR3fE 17 | yjglW+ie39f1NzsMMtv/2VU7zPvbqCAvMcVCQJjdDwvvWvuU5EVog9Sl 18 | -----END PRIVATE KEY----- 19 | -------------------------------------------------------------------------------- /tests/server2-ecdsa-chain.pem: -------------------------------------------------------------------------------- 1 | subject= CN = LibreSSL Test Server 2 ECDSA 2 | issuer= CN = LibreSSL Test Intermediate CA ECDSA 3 | -----BEGIN CERTIFICATE----- 4 | MIIBpjCCAUygAwIBAgIDEAABMAoGCCqGSM49BAMCMC4xLDAqBgNVBAMMI0xpYnJl 5 | U1NMIFRlc3QgSW50ZXJtZWRpYXRlIENBIEVDRFNBMB4XDTEwMDEwMTAwMDAwMFoX 6 | DTIwMDEwMTAwMDAwMFowJzElMCMGA1UEAwwcTGlicmVTU0wgVGVzdCBTZXJ2ZXIg 7 | MiBFQ0RTQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJOTftmDhBMSS23a+sRO 8 | 3Zr43RUwtdJvNfKhpHKRbBLIttBkbI1wWCgufMLCJXhL6pSpCeT/C9ioFks2JMg7 9 | CPCjYDBeMB0GA1UdDgQWBBSCtBk04EXYNjiFaaTcJumL0BFylTAfBgNVHSMEGDAW 10 | gBQXVj1v/EpXEjlCygJygatQDeTCCDAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQE 11 | AwIHgDAKBggqhkjOPQQDAgNIADBFAiEAqnQ+TRgMZRys3z3olZysrnP0d6XIdfgv 12 | XvlXRaM0s/QCIHdrTx/IPfJSvo0rDN08CJfbO0NBOc9PFsnDRUKsxJd4 13 | -----END CERTIFICATE----- 14 | subject= CN = LibreSSL Test Intermediate CA ECDSA 15 | issuer= CN = LibreSSL Test Root CA ECDSA 16 | -----BEGIN CERTIFICATE----- 17 | MIIBrDCCAVOgAwIBAgIJAOVssaaTYoH3MAkGByqGSM49BAEwJjEkMCIGA1UEAwwb 18 | TGlicmVTU0wgVGVzdCBSb290IENBIEVDRFNBMB4XDTIxMTIyNzE0NDA0MFoXDTMx 19 | MTIyNTE0NDA0MFowLjEsMCoGA1UEAwwjTGlicmVTU0wgVGVzdCBJbnRlcm1lZGlh 20 | dGUgQ0EgRUNEU0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATWRQbJh4aHPzHq 21 | LOAmosW/o83bTpm3Sj1VxM44StmG7c1nnFM/+gS8rp2bVSgjWZQzRtZqGVGJgzbk 22 | 7/M1m3x3o2MwYTAdBgNVHQ4EFgQUF1Y9b/xKVxI5QsoCcoGrUA3kwggwHwYDVR0j 23 | BBgwFoAUtvkat4UdcUEipt6L/PBgEFYH6AwwDwYDVR0TAQH/BAUwAwEB/zAOBgNV 24 | HQ8BAf8EBAMCAQYwCQYHKoZIzj0EAQNIADBFAiBE4NiOdv/XRN3WWMnkE5QccvC6 25 | VThoIQRyBf4I97cRPQIhAK18dvwrLuOOfbhWMdkpNCddMkWZHxS7traw/8+s7OUU 26 | -----END CERTIFICATE----- 27 | -------------------------------------------------------------------------------- /tests/server2-ecdsa.pem: -------------------------------------------------------------------------------- 1 | subject= CN = LibreSSL Test Server 2 ECDSA 2 | issuer= CN = LibreSSL Test Intermediate CA ECDSA 3 | -----BEGIN CERTIFICATE----- 4 | MIIBpjCCAUygAwIBAgIDEAABMAoGCCqGSM49BAMCMC4xLDAqBgNVBAMMI0xpYnJl 5 | U1NMIFRlc3QgSW50ZXJtZWRpYXRlIENBIEVDRFNBMB4XDTEwMDEwMTAwMDAwMFoX 6 | DTIwMDEwMTAwMDAwMFowJzElMCMGA1UEAwwcTGlicmVTU0wgVGVzdCBTZXJ2ZXIg 7 | MiBFQ0RTQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJOTftmDhBMSS23a+sRO 8 | 3Zr43RUwtdJvNfKhpHKRbBLIttBkbI1wWCgufMLCJXhL6pSpCeT/C9ioFks2JMg7 9 | CPCjYDBeMB0GA1UdDgQWBBSCtBk04EXYNjiFaaTcJumL0BFylTAfBgNVHSMEGDAW 10 | gBQXVj1v/EpXEjlCygJygatQDeTCCDAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQE 11 | AwIHgDAKBggqhkjOPQQDAgNIADBFAiEAqnQ+TRgMZRys3z3olZysrnP0d6XIdfgv 12 | XvlXRaM0s/QCIHdrTx/IPfJSvo0rDN08CJfbO0NBOc9PFsnDRUKsxJd4 13 | -----END CERTIFICATE----- 14 | -----BEGIN PRIVATE KEY----- 15 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgxkOt2jb6kQC1ZaUa 16 | MLSz0lyS0YQtqChoyAvJ7yQf3FahRANCAASTk37Zg4QTEktt2vrETt2a+N0VMLXS 17 | bzXyoaRykWwSyLbQZGyNcFgoLnzCwiV4S+qUqQnk/wvYqBZLNiTIOwjw 18 | -----END PRIVATE KEY----- 19 | -------------------------------------------------------------------------------- /tests/server3-ecdsa-chain.pem: -------------------------------------------------------------------------------- 1 | subject= CN = LibreSSL Test Server 3 ECDSA 2 | issuer= CN = LibreSSL Test Intermediate CA ECDSA 3 | -----BEGIN CERTIFICATE----- 4 | MIIBqjCCAVGgAwIBAgIJAOVssaaTYoH5MAkGByqGSM49BAEwLjEsMCoGA1UEAwwj 5 | TGlicmVTU0wgVGVzdCBJbnRlcm1lZGlhdGUgQ0EgRUNEU0EwHhcNMjExMjI3MTQ0 6 | MDQwWhcNMzExMjI1MTQ0MDQwWjAnMSUwIwYDVQQDDBxMaWJyZVNTTCBUZXN0IFNl 7 | cnZlciAzIEVDRFNBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0pRqRW+PDenx 8 | cp+5za1pFDdECxXPXZY7LUPoXxens1lPSM2diexVMdLw1kEbVkOZ50s1X32vQnTa 9 | TVpovmwna6NgMF4wHQYDVR0OBBYEFCXbw+Fdv+OWDOU163ujSYbdJZx3MB8GA1Ud 10 | IwQYMBaAFBdWPW/8SlcSOULKAnKBq1AN5MIIMAwGA1UdEwEB/wQCMAAwDgYDVR0P 11 | AQH/BAQDAgeAMAkGByqGSM49BAEDSAAwRQIhAMt01G90LOiCVRIcodKP1nsOg3oY 12 | kX8VHUPk9myD52KZAiBu32mh/fgaWsR/lbo2dyGJQHKkmHNt9Wy8hOQ9eGO91A== 13 | -----END CERTIFICATE----- 14 | subject= CN = LibreSSL Test Intermediate CA ECDSA 15 | issuer= CN = LibreSSL Test Root CA ECDSA 16 | -----BEGIN CERTIFICATE----- 17 | MIIBrDCCAVOgAwIBAgIJAOVssaaTYoH3MAkGByqGSM49BAEwJjEkMCIGA1UEAwwb 18 | TGlicmVTU0wgVGVzdCBSb290IENBIEVDRFNBMB4XDTIxMTIyNzE0NDA0MFoXDTMx 19 | MTIyNTE0NDA0MFowLjEsMCoGA1UEAwwjTGlicmVTU0wgVGVzdCBJbnRlcm1lZGlh 20 | dGUgQ0EgRUNEU0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATWRQbJh4aHPzHq 21 | LOAmosW/o83bTpm3Sj1VxM44StmG7c1nnFM/+gS8rp2bVSgjWZQzRtZqGVGJgzbk 22 | 7/M1m3x3o2MwYTAdBgNVHQ4EFgQUF1Y9b/xKVxI5QsoCcoGrUA3kwggwHwYDVR0j 23 | BBgwFoAUtvkat4UdcUEipt6L/PBgEFYH6AwwDwYDVR0TAQH/BAUwAwEB/zAOBgNV 24 | HQ8BAf8EBAMCAQYwCQYHKoZIzj0EAQNIADBFAiBE4NiOdv/XRN3WWMnkE5QccvC6 25 | VThoIQRyBf4I97cRPQIhAK18dvwrLuOOfbhWMdkpNCddMkWZHxS7traw/8+s7OUU 26 | -----END CERTIFICATE----- 27 | -------------------------------------------------------------------------------- /tests/server3-ecdsa.pem: -------------------------------------------------------------------------------- 1 | subject= CN = LibreSSL Test Server 3 ECDSA 2 | issuer= CN = LibreSSL Test Intermediate CA ECDSA 3 | -----BEGIN CERTIFICATE----- 4 | MIIBqjCCAVGgAwIBAgIJAOVssaaTYoH5MAkGByqGSM49BAEwLjEsMCoGA1UEAwwj 5 | TGlicmVTU0wgVGVzdCBJbnRlcm1lZGlhdGUgQ0EgRUNEU0EwHhcNMjExMjI3MTQ0 6 | MDQwWhcNMzExMjI1MTQ0MDQwWjAnMSUwIwYDVQQDDBxMaWJyZVNTTCBUZXN0IFNl 7 | cnZlciAzIEVDRFNBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0pRqRW+PDenx 8 | cp+5za1pFDdECxXPXZY7LUPoXxens1lPSM2diexVMdLw1kEbVkOZ50s1X32vQnTa 9 | TVpovmwna6NgMF4wHQYDVR0OBBYEFCXbw+Fdv+OWDOU163ujSYbdJZx3MB8GA1Ud 10 | IwQYMBaAFBdWPW/8SlcSOULKAnKBq1AN5MIIMAwGA1UdEwEB/wQCMAAwDgYDVR0P 11 | AQH/BAQDAgeAMAkGByqGSM49BAEDSAAwRQIhAMt01G90LOiCVRIcodKP1nsOg3oY 12 | kX8VHUPk9myD52KZAiBu32mh/fgaWsR/lbo2dyGJQHKkmHNt9Wy8hOQ9eGO91A== 13 | -----END CERTIFICATE----- 14 | -----BEGIN PRIVATE KEY----- 15 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgTWRMClyUOn11mX5s 16 | hTTIQT+3BeauAjrTvKMy5RryWtyhRANCAATSlGpFb48N6fFyn7nNrWkUN0QLFc9d 17 | ljstQ+hfF6ezWU9IzZ2J7FUx0vDWQRtWQ5nnSzVffa9CdNpNWmi+bCdr 18 | -----END PRIVATE KEY----- 19 | -------------------------------------------------------------------------------- /tests/servertest.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal enabledelayedexpansion 3 | REM servertest.bat 4 | 5 | set servertest_bin=%1 6 | set servertest_bin=%servertest_bin:/=\% 7 | if not exist %servertest_bin% exit /b 1 8 | 9 | %servertest_bin% %srcdir%\server1-rsa.pem %srcdir%\server1-rsa-chain.pem %srcdir%\ca-root.pem 10 | if !errorlevel! neq 0 ( 11 | exit /b 1 12 | ) 13 | 14 | endlocal 15 | -------------------------------------------------------------------------------- /tests/servertest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | servertest_bin=./servertest 5 | if [ -e ./servertest.exe ]; then 6 | servertest_bin=./servertest.exe 7 | elif [ -e ./servertest.js ]; then 8 | servertest_bin="node ./servertest.js" 9 | fi 10 | 11 | if [ -z $srcdir ]; then 12 | srcdir=. 13 | fi 14 | 15 | $servertest_bin $srcdir/server1-rsa.pem $srcdir/server1-rsa-chain.pem $srcdir/ca-root-rsa.pem 16 | -------------------------------------------------------------------------------- /tests/shutdowntest.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal enabledelayedexpansion 3 | REM shutdowntest.bat 4 | 5 | set shutdowntest_bin=%1 6 | set shutdowntest_bin=%shutdowntest_bin:/=\% 7 | if not exist %shutdowntest_bin% exit /b 1 8 | 9 | %shutdowntest_bin% %srcdir%\server1-rsa.pem %srcdir%\server1-rsa-chain.pem %srcdir%\ca-root-rsa.pem 10 | if !errorlevel! neq 0 ( 11 | exit /b 1 12 | ) 13 | 14 | endlocal 15 | -------------------------------------------------------------------------------- /tests/shutdowntest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | shutdowntest_bin=./shutdowntest 5 | if [ -e ./shutdowntest.exe ]; then 6 | shutdowntest_bin=./shutdowntest.exe 7 | elif [ -e ./shutdowntest.js ]; then 8 | shutdowntest_bin="node ./shutdowntest.js" 9 | fi 10 | 11 | if [ -z $srcdir ]; then 12 | srcdir=. 13 | fi 14 | 15 | $shutdowntest_bin $srcdir/server1-rsa.pem $srcdir/server1-rsa-chain.pem $srcdir/ca-root-rsa.pem 16 | -------------------------------------------------------------------------------- /tests/ssltest.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal enabledelayedexpansion 3 | REM ssltest.bat 4 | 5 | set ssltest_bin=%1 6 | set ssltest_bin=%ssltest_bin:/=\% 7 | if not exist %ssltest_bin% exit /b 1 8 | 9 | set openssl_bin=%2 10 | set openssl_bin=%openssl_bin:/=\% 11 | if not exist %openssl_bin% exit /b 1 12 | 13 | %srcdir%\testssl.bat %srcdir%\server1-rsa.pem %srcdir%\server1-rsa-chain.pem ^ 14 | %srcdir%\ca-root-rsa.pem %ssltest_bin% %openssl_bin% 15 | if !errorlevel! neq 0 ( 16 | exit /b 1 17 | ) 18 | 19 | endlocal 20 | -------------------------------------------------------------------------------- /tests/ssltest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | ssltest_bin=./ssltest 5 | if [ -e ./ssltest.exe ]; then 6 | ssltest_bin=./ssltest.exe 7 | elif [ -e ./ssltest.js ]; then 8 | ssltest_bin="node ./ssltest.js" 9 | fi 10 | 11 | if [ -d ../apps/openssl ]; then 12 | openssl_bin=../apps/openssl/openssl 13 | if [ -e ../apps/openssl/openssl.exe ]; then 14 | openssl_bin=../apps/openssl/openssl.exe 15 | elif [ -e ../apps/openssl/openssl.js ]; then 16 | openssl_bin="node ../apps/openssl/openssl.js" 17 | fi 18 | else 19 | openssl_bin=../apps/openssl 20 | if [ -e ../apps/openssl.exe ]; then 21 | openssl_bin=../apps/openssl.exe 22 | elif [ -e ../apps/openssl.js ]; then 23 | openssl_bin="node ../apps/openssl.js" 24 | fi 25 | fi 26 | 27 | if [ -z $srcdir ]; then 28 | srcdir=. 29 | fi 30 | 31 | $srcdir/testssl $srcdir/server1-rsa.pem $srcdir/server1-rsa-chain.pem \ 32 | $srcdir/ca-root-rsa.pem \ 33 | "$ssltest_bin" "$openssl_bin" 34 | -------------------------------------------------------------------------------- /tests/testdsa.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal enabledelayedexpansion 3 | REM testdsa.bat 4 | 5 | 6 | REM # Test DSA certificate generation of openssl 7 | 8 | set openssl_bin=%1 9 | set openssl_bin=%openssl_bin:/=\% 10 | if not exist %openssl_bin% exit /b 1 11 | 12 | REM # Generate DSA paramter set 13 | %openssl_bin% dsaparam 512 -out dsa512.pem 14 | if !errorlevel! neq 0 ( 15 | exit /b 1 16 | ) 17 | 18 | 19 | REM # Generate a DSA certificate 20 | %openssl_bin% req -config %srcdir%\openssl.cnf -x509 -newkey dsa:dsa512.pem -out testdsa.pem -keyout testdsa.key 21 | if !errorlevel! neq 0 ( 22 | exit /b 1 23 | ) 24 | 25 | 26 | REM # Now check the certificate 27 | %openssl_bin% x509 -text -in testdsa.pem 28 | if !errorlevel! neq 0 ( 29 | exit /b 1 30 | ) 31 | 32 | del testdsa.key dsa512.pem testdsa.pem 33 | 34 | exit /b 0 35 | endlocal 36 | -------------------------------------------------------------------------------- /tests/testdsa.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # $OpenBSD: testdsa.sh,v 1.1 2014/08/26 17:50:07 jsing Exp $ 3 | 4 | 5 | #Test DSA certificate generation of openssl 6 | 7 | if [ -d ../apps/openssl ]; then 8 | cmd=../apps/openssl/openssl 9 | if [ -e ../apps/openssl/openssl.exe ]; then 10 | cmd=../apps/openssl/openssl.exe 11 | fi 12 | else 13 | cmd=../apps/openssl 14 | if [ -e ../apps/openssl.exe ]; then 15 | cmd=../apps/openssl.exe 16 | fi 17 | fi 18 | 19 | if [ -z $srcdir ]; then 20 | srcdir=. 21 | fi 22 | 23 | # Generate DSA paramter set 24 | $cmd dsaparam 512 -out dsa512.pem 25 | if [ $? != 0 ]; then 26 | exit 1; 27 | fi 28 | 29 | 30 | # Denerate a DSA certificate 31 | $cmd req -config $srcdir/openssl.cnf -x509 -newkey dsa:dsa512.pem -out testdsa.pem -keyout testdsa.key 32 | if [ $? != 0 ]; then 33 | exit 1; 34 | fi 35 | 36 | 37 | # Now check the certificate 38 | $cmd x509 -text -in testdsa.pem 39 | if [ $? != 0 ]; then 40 | exit 1; 41 | fi 42 | 43 | rm testdsa.key dsa512.pem testdsa.pem 44 | 45 | exit 0 46 | -------------------------------------------------------------------------------- /tests/testrsa.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal enabledelayedexpansion 3 | REM testrsa.bat 4 | 5 | 6 | REM # Test RSA certificate generation of openssl 7 | 8 | set openssl_bin=%1 9 | set openssl_bin=%openssl_bin:/=\% 10 | if not exist %openssl_bin% exit /b 1 11 | 12 | REM # Generate RSA private key 13 | %openssl_bin% genrsa -out rsakey.pem 14 | if !errorlevel! neq 0 ( 15 | exit /b 1 16 | ) 17 | 18 | 19 | REM # Generate an RSA certificate 20 | %openssl_bin% req -config %srcdir%\openssl.cnf -key rsakey.pem -new -x509 -days 365 -out rsacert.pem 21 | if !errorlevel! neq 0 ( 22 | exit /b 1 23 | ) 24 | 25 | 26 | REM # Now check the certificate 27 | %openssl_bin% x509 -text -in rsacert.pem 28 | if !errorlevel! neq 0 ( 29 | exit /b 1 30 | ) 31 | 32 | del rsacert.pem rsakey.pem 33 | 34 | exit /b 0 35 | endlocal 36 | -------------------------------------------------------------------------------- /tests/testrsa.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # $OpenBSD: testrsa.sh,v 1.1 2014/08/26 17:50:07 jsing Exp $ 3 | 4 | 5 | #Test RSA certificate generation of openssl 6 | 7 | if [ -d ../apps/openssl ]; then 8 | cmd=../apps/openssl/openssl 9 | if [ -e ../apps/openssl/openssl.exe ]; then 10 | cmd=../apps/openssl/openssl.exe 11 | fi 12 | else 13 | cmd=../apps/openssl 14 | if [ -e ../apps/openssl.exe ]; then 15 | cmd=../apps/openssl.exe 16 | fi 17 | fi 18 | 19 | if [ -z $srcdir ]; then 20 | srcdir=. 21 | fi 22 | 23 | # Generate RSA private key 24 | $cmd genrsa -out rsakey.pem 25 | if [ $? != 0 ]; then 26 | exit 1; 27 | fi 28 | 29 | 30 | # Generate an RSA certificate 31 | $cmd req -config $srcdir/openssl.cnf -key rsakey.pem -new -x509 -days 365 -out rsacert.pem 32 | if [ $? != 0 ]; then 33 | exit 1; 34 | fi 35 | 36 | 37 | # Now check the certificate 38 | $cmd x509 -text -in rsacert.pem 39 | if [ $? != 0 ]; then 40 | exit 1; 41 | fi 42 | 43 | rm -f rsacert.pem rsakey.pem 44 | 45 | exit 0 46 | -------------------------------------------------------------------------------- /tests/tests.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: tests.h,v 1.1 2015/06/27 23:35:52 doug Exp $ */ 2 | /* 3 | * Copyright (c) 2015 Doug Hogan 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #ifndef LIBRESSL_REGRESS_TESTS_H__ 19 | #define LIBRESSL_REGRESS_TESTS_H__ 1 20 | 21 | /* Ugly macros that are useful for regression tests. */ 22 | 23 | #define SKIP(a) do { \ 24 | printf("Skipping test in %s [%s:%d]\n", __func__, __FILE__, \ 25 | __LINE__); \ 26 | } while (0) 27 | 28 | #define CHECK(a) do { \ 29 | if (!(a)) { \ 30 | printf("Error in %s [%s:%d]\n", __func__, __FILE__, \ 31 | __LINE__); \ 32 | return 0; \ 33 | } \ 34 | } while (0) 35 | 36 | #define CHECK_GOTO(a) do { \ 37 | if (!(a)) { \ 38 | printf("Error in %s [%s:%d]\n", __func__, __FILE__, \ 39 | __LINE__); \ 40 | goto err; \ 41 | } \ 42 | } while (0) 43 | 44 | #endif /* LIBRESSL_REGRESS_TESTS_H__ */ 45 | -------------------------------------------------------------------------------- /tests/tlstest.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal enabledelayedexpansion 3 | REM tlstest.bat 4 | 5 | set tlstest_bin=%1 6 | set tlstest_bin=%tlstest_bin:/=\% 7 | if not exist %tlstest_bin% exit /b 1 8 | 9 | %tlstest_bin% %srcdir%\ca-root-rsa.pem %srcdir%\server1-rsa-chain.pem %srcdir%\server1-rsa.pem 10 | if !errorlevel! neq 0 ( 11 | exit /b 1 12 | ) 13 | 14 | endlocal 15 | -------------------------------------------------------------------------------- /tests/tlstest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | tlstest_bin=./tlstest 5 | if [ -e ./tlstest.exe ]; then 6 | tlstest_bin=./tlstest.exe 7 | fi 8 | 9 | if [ -z $srcdir ]; then 10 | srcdir=. 11 | fi 12 | 13 | $tlstest_bin $srcdir/ca-root-rsa.pem $srcdir/server1-rsa-chain.pem $srcdir/server1-rsa.pem 14 | -------------------------------------------------------------------------------- /tests/valid_handshakes_terminate.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: valid_handshakes_terminate.c,v 1.4 2022/12/01 13:49:12 tb Exp $ */ 2 | /* 3 | * Copyright (c) 2019 Theo Buehler 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | #include 19 | #include 20 | 21 | #include "tls13_handshake.c" 22 | 23 | int 24 | main(int argc, char *argv[]) 25 | { 26 | size_t i, j; 27 | int terminates; 28 | int fail = 0; 29 | 30 | for (i = 1; i < handshake_count; i++) { 31 | enum tls13_message_type mt = handshakes[i][0]; 32 | 33 | if (mt == INVALID) 34 | continue; 35 | 36 | terminates = 0; 37 | 38 | for (j = 0; j < TLS13_NUM_MESSAGE_TYPES; j++) { 39 | mt = handshakes[i][j]; 40 | if (state_machine[mt].handshake_complete) { 41 | terminates = 1; 42 | break; 43 | } 44 | } 45 | 46 | if (!terminates) { 47 | fail = 1; 48 | printf("FAIL: handshake_complete never true in " 49 | "handshake %zu\n", i); 50 | } 51 | } 52 | 53 | return fail; 54 | } 55 | -------------------------------------------------------------------------------- /tls/VERSION: -------------------------------------------------------------------------------- 1 | 31:0:0 2 | -------------------------------------------------------------------------------- /tls/compat/ftruncate.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * 4 | * Kinichiro Inoguchi 5 | */ 6 | 7 | #ifdef _WIN32 8 | 9 | #include 10 | 11 | int 12 | ftruncate(int fd, off_t length) 13 | { 14 | return _chsize(fd, length); 15 | } 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /tls/compat/pread.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * 4 | * Kinichiro Inoguchi 5 | */ 6 | 7 | #ifdef _WIN32 8 | 9 | #define NO_REDEF_POSIX_FUNCTIONS 10 | 11 | #include 12 | 13 | ssize_t 14 | pread(int d, void *buf, size_t nbytes, off_t offset) 15 | { 16 | off_t cpos, opos, rpos; 17 | ssize_t bytes; 18 | if((cpos = lseek(d, 0, SEEK_CUR)) == -1) 19 | return -1; 20 | if((opos = lseek(d, offset, SEEK_SET)) == -1) 21 | return -1; 22 | if((bytes = read(d, buf, nbytes)) == -1) 23 | return -1; 24 | if((rpos = lseek(d, cpos, SEEK_SET)) == -1) 25 | return -1; 26 | return bytes; 27 | } 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /tls/compat/pwrite.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Public domain 3 | * 4 | * Kinichiro Inoguchi 5 | */ 6 | 7 | #ifdef _WIN32 8 | 9 | #define NO_REDEF_POSIX_FUNCTIONS 10 | 11 | #include 12 | 13 | ssize_t 14 | pwrite(int d, const void *buf, size_t nbytes, off_t offset) 15 | { 16 | off_t cpos, opos, rpos; 17 | ssize_t bytes; 18 | if((cpos = lseek(d, 0, SEEK_CUR)) == -1) 19 | return -1; 20 | if((opos = lseek(d, offset, SEEK_SET)) == -1) 21 | return -1; 22 | if((bytes = write(d, buf, nbytes)) == -1) 23 | return -1; 24 | if((rpos = lseek(d, cpos, SEEK_SET)) == -1) 25 | return -1; 26 | return bytes; 27 | } 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /tls/empty.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/LibreSSL/7e7431c1c4fcb5919ce6b0684912dd8f554ce10e/tls/empty.c -------------------------------------------------------------------------------- /x509v3.cnf: -------------------------------------------------------------------------------- 1 | # default settings 2 | CERTPATHLEN = 1 3 | CERTUSAGE = digitalSignature,keyCertSign,cRLSign 4 | EXTCERTUSAGE = serverAuth,clientAuth 5 | CERTIP = 0.0.0.0 6 | CERTFQDN = nohost.nodomain 7 | 8 | # This section should be referenced when building an x509v3 CA 9 | # Certificate. 10 | # The default path length and the key usage can be overridden 11 | # modified by setting the CERTPATHLEN and CERTUSAGE environment 12 | # variables. 13 | [x509v3_CA] 14 | basicConstraints=critical,CA:true,pathlen:$ENV::CERTPATHLEN 15 | keyUsage=$ENV::CERTUSAGE 16 | 17 | # This section should be referenced to add an IP Address 18 | # as an alternate subject name, needed by isakmpd 19 | # The address must be provided in the CERTIP environment variable 20 | [x509v3_IPAddr] 21 | subjectAltName=IP:$ENV::CERTIP 22 | extendedKeyUsage=$ENV::EXTCERTUSAGE 23 | 24 | # This section should be referenced to add a FQDN hostname 25 | # as an alternate subject name, needed by isakmpd 26 | # The address must be provided in the CERTFQDN environment variable 27 | [x509v3_FQDN] 28 | subjectAltName=DNS:$ENV::CERTFQDN 29 | extendedKeyUsage=$ENV::EXTCERTUSAGE 30 | --------------------------------------------------------------------------------