From bd586a192187d4c71b18ea2880d72a261d8b53a4 Mon Sep 17 00:00:00 2001 From: pokamest Date: Tue, 3 Aug 2021 07:32:04 -0700 Subject: [PATCH] Botan for MacOS added --- client/3rd/QtSsh/src/botan/botan.pri | 6 + .../include/macos/botan-2/botan/adler32.h | 40 + .../botan/include/macos/botan-2/botan/aead.h | 147 + .../botan/include/macos/botan-2/botan/aes.h | 131 + .../include/macos/botan-2/botan/alg_id.h | 14 + .../include/macos/botan-2/botan/argon2.h | 118 + .../botan/include/macos/botan-2/botan/aria.h | 84 + .../macos/botan-2/botan/asn1_alt_name.h | 11 + .../macos/botan-2/botan/asn1_attribute.h | 11 + .../include/macos/botan-2/botan/asn1_obj.h | 475 +++ .../include/macos/botan-2/botan/asn1_oid.h | 14 + .../include/macos/botan-2/botan/asn1_print.h | 125 + .../include/macos/botan-2/botan/asn1_str.h | 14 + .../include/macos/botan-2/botan/asn1_time.h | 14 + .../include/macos/botan-2/botan/assert.h | 157 + .../include/macos/botan-2/botan/auto_rng.h | 102 + .../include/macos/botan-2/botan/b64_filt.h | 14 + .../include/macos/botan-2/botan/base32.h | 127 + .../include/macos/botan-2/botan/base58.h | 76 + .../include/macos/botan-2/botan/base64.h | 141 + .../include/macos/botan-2/botan/basefilt.h | 18 + .../include/macos/botan-2/botan/bcrypt.h | 49 + .../macos/botan-2/botan/bcrypt_pbkdf.h | 77 + .../include/macos/botan-2/botan/ber_dec.h | 418 +++ .../include/macos/botan-2/botan/bigint.h | 1153 +++++++ .../include/macos/botan-2/botan/blake2b.h | 60 + .../include/macos/botan-2/botan/blinding.h | 80 + .../macos/botan-2/botan/block_cipher.h | 254 ++ .../include/macos/botan-2/botan/blowfish.h | 62 + .../botan/include/macos/botan-2/botan/botan.h | 41 + .../botan/include/macos/botan-2/botan/bswap.h | 108 + .../include/macos/botan-2/botan/buf_comp.h | 178 + .../include/macos/botan-2/botan/buf_filt.h | 14 + .../botan/include/macos/botan-2/botan/build.h | 471 +++ .../include/macos/botan-2/botan/calendar.h | 91 + .../include/macos/botan-2/botan/camellia.h | 73 + .../include/macos/botan-2/botan/cascade.h | 57 + .../include/macos/botan-2/botan/cast128.h | 42 + .../include/macos/botan-2/botan/cast256.h | 38 + .../botan/include/macos/botan-2/botan/cbc.h | 157 + .../include/macos/botan-2/botan/cbc_mac.h | 50 + .../botan/include/macos/botan-2/botan/ccm.h | 130 + .../include/macos/botan-2/botan/cecpq1.h | 38 + .../include/macos/botan-2/botan/cert_status.h | 11 + .../include/macos/botan-2/botan/certstor.h | 165 + .../macos/botan-2/botan/certstor_flatfile.h | 77 + .../macos/botan-2/botan/certstor_macos.h | 81 + .../macos/botan-2/botan/certstor_sql.h | 119 + .../macos/botan-2/botan/certstor_system.h | 42 + .../botan/include/macos/botan-2/botan/cfb.h | 106 + .../include/macos/botan-2/botan/chacha.h | 82 + .../macos/botan-2/botan/chacha20poly1305.h | 104 + .../include/macos/botan-2/botan/chacha_rng.h | 125 + .../include/macos/botan-2/botan/charset.h | 80 + .../macos/botan-2/botan/cipher_filter.h | 14 + .../include/macos/botan-2/botan/cipher_mode.h | 198 ++ .../botan/include/macos/botan-2/botan/cmac.h | 67 + .../include/macos/botan-2/botan/comb4p.h | 61 + .../include/macos/botan-2/botan/comp_filter.h | 15 + .../include/macos/botan-2/botan/compiler.h | 225 ++ .../botan/include/macos/botan-2/botan/cpuid.h | 484 +++ .../botan/include/macos/botan-2/botan/crc24.h | 41 + .../botan/include/macos/botan-2/botan/crc32.h | 40 + .../macos/botan-2/botan/credentials_manager.h | 196 ++ .../include/macos/botan-2/botan/crl_ent.h | 11 + .../include/macos/botan-2/botan/cryptobox.h | 79 + .../botan/include/macos/botan-2/botan/ctr.h | 65 + .../include/macos/botan-2/botan/curve25519.h | 123 + .../include/macos/botan-2/botan/curve_gfp.h | 265 ++ .../include/macos/botan-2/botan/curve_nistp.h | 49 + .../include/macos/botan-2/botan/data_snk.h | 76 + .../include/macos/botan-2/botan/data_src.h | 181 + .../include/macos/botan-2/botan/database.h | 88 + .../include/macos/botan-2/botan/datastor.h | 85 + .../include/macos/botan-2/botan/der_enc.h | 227 ++ .../botan/include/macos/botan-2/botan/des.h | 67 + .../botan/include/macos/botan-2/botan/desx.h | 37 + .../botan/include/macos/botan-2/botan/dh.h | 81 + .../include/macos/botan-2/botan/divide.h | 101 + .../include/macos/botan-2/botan/dl_algo.h | 140 + .../include/macos/botan-2/botan/dl_group.h | 357 ++ .../botan/include/macos/botan-2/botan/dlies.h | 163 + .../botan/include/macos/botan-2/botan/dsa.h | 87 + .../include/macos/botan-2/botan/dyn_load.h | 68 + .../botan/include/macos/botan-2/botan/eax.h | 119 + .../include/macos/botan-2/botan/ec_group.h | 398 +++ .../include/macos/botan-2/botan/ecc_key.h | 172 + .../botan/include/macos/botan-2/botan/ecdh.h | 106 + .../botan/include/macos/botan-2/botan/ecdsa.h | 117 + .../include/macos/botan-2/botan/ecgdsa.h | 96 + .../botan/include/macos/botan-2/botan/ecies.h | 314 ++ .../include/macos/botan-2/botan/eckcdsa.h | 96 + .../include/macos/botan-2/botan/ed25519.h | 113 + .../include/macos/botan-2/botan/elgamal.h | 85 + .../botan/include/macos/botan-2/botan/eme.h | 94 + .../include/macos/botan-2/botan/eme_pkcs.h | 35 + .../include/macos/botan-2/botan/eme_raw.h | 33 + .../botan/include/macos/botan-2/botan/emsa.h | 107 + .../botan/include/macos/botan-2/botan/emsa1.h | 55 + .../include/macos/botan-2/botan/emsa_pkcs1.h | 94 + .../include/macos/botan-2/botan/emsa_raw.h | 47 + .../include/macos/botan-2/botan/emsa_x931.h | 52 + .../include/macos/botan-2/botan/entropy_src.h | 87 + .../include/macos/botan-2/botan/exceptn.h | 441 +++ .../include/macos/botan-2/botan/fd_unix.h | 35 + .../botan/include/macos/botan-2/botan/ffi.h | 1778 ++++++++++ .../include/macos/botan-2/botan/filter.h | 175 + .../include/macos/botan-2/botan/filters.h | 741 +++++ .../include/macos/botan-2/botan/fpe_fe1.h | 123 + .../botan/include/macos/botan-2/botan/gcm.h | 117 + .../macos/botan-2/botan/gf2m_small_m.h | 221 ++ .../botan/include/macos/botan-2/botan/ghash.h | 110 + .../botan/include/macos/botan-2/botan/gmac.h | 64 + .../include/macos/botan-2/botan/gost_28147.h | 95 + .../include/macos/botan-2/botan/gost_3410.h | 104 + .../include/macos/botan-2/botan/gost_3411.h | 47 + .../botan/include/macos/botan-2/botan/hash.h | 91 + .../include/macos/botan-2/botan/hash_id.h | 34 + .../botan/include/macos/botan-2/botan/hex.h | 148 + .../include/macos/botan-2/botan/hex_filt.h | 14 + .../botan/include/macos/botan-2/botan/hkdf.h | 117 + .../botan/include/macos/botan-2/botan/hmac.h | 52 + .../include/macos/botan-2/botan/hmac_drbg.h | 150 + .../botan/include/macos/botan-2/botan/hotp.h | 14 + .../include/macos/botan-2/botan/http_util.h | 107 + .../botan/include/macos/botan-2/botan/idea.h | 45 + .../botan/include/macos/botan-2/botan/init.h | 35 + .../include/macos/botan-2/botan/iso9796.h | 98 + .../include/macos/botan-2/botan/kasumi.h | 37 + .../botan/include/macos/botan-2/botan/kdf.h | 196 ++ .../botan/include/macos/botan-2/botan/kdf1.h | 43 + .../macos/botan-2/botan/kdf1_iso18033.h | 43 + .../botan/include/macos/botan-2/botan/kdf2.h | 43 + .../include/macos/botan-2/botan/keccak.h | 51 + .../macos/botan-2/botan/key_constraint.h | 11 + .../include/macos/botan-2/botan/key_filt.h | 14 + .../include/macos/botan-2/botan/key_spec.h | 14 + .../include/macos/botan-2/botan/keypair.h | 85 + .../botan/include/macos/botan-2/botan/lion.h | 66 + .../include/macos/botan-2/botan/loadstor.h | 701 ++++ .../macos/botan-2/botan/locking_allocator.h | 45 + .../include/macos/botan-2/botan/lookup.h | 179 + .../botan/include/macos/botan-2/botan/mac.h | 143 + .../include/macos/botan-2/botan/mceies.h | 46 + .../include/macos/botan-2/botan/mceliece.h | 141 + .../botan/include/macos/botan-2/botan/md4.h | 45 + .../botan/include/macos/botan-2/botan/md5.h | 50 + .../include/macos/botan-2/botan/mdx_hash.h | 73 + .../include/macos/botan-2/botan/mem_ops.h | 365 ++ .../botan/include/macos/botan-2/botan/mgf1.h | 31 + .../include/macos/botan-2/botan/misty1.h | 37 + .../include/macos/botan-2/botan/mode_pad.h | 160 + .../botan/include/macos/botan-2/botan/monty.h | 191 ++ .../include/macos/botan-2/botan/mul128.h | 125 + .../botan/include/macos/botan-2/botan/mutex.h | 60 + .../macos/botan-2/botan/name_constraint.h | 11 + .../include/macos/botan-2/botan/newhope.h | 85 + .../macos/botan-2/botan/nist_keywrap.h | 67 + .../include/macos/botan-2/botan/noekeon.h | 49 + .../include/macos/botan-2/botan/numthry.h | 296 ++ .../botan/include/macos/botan-2/botan/oaep.h | 62 + .../botan/include/macos/botan-2/botan/ocb.h | 137 + .../botan/include/macos/botan-2/botan/ocsp.h | 282 ++ .../include/macos/botan-2/botan/ocsp_types.h | 11 + .../botan/include/macos/botan-2/botan/ofb.h | 56 + .../botan/include/macos/botan-2/botan/oids.h | 98 + .../botan/include/macos/botan-2/botan/otp.h | 117 + .../botan/include/macos/botan-2/botan/p11.h | 2930 +++++++++++++++++ .../include/macos/botan-2/botan/p11_ecc_key.h | 223 ++ .../include/macos/botan-2/botan/p11_ecdh.h | 127 + .../include/macos/botan-2/botan/p11_ecdsa.h | 133 + .../include/macos/botan-2/botan/p11_module.h | 15 + .../include/macos/botan-2/botan/p11_object.h | 773 +++++ .../macos/botan-2/botan/p11_randomgenerator.h | 70 + .../include/macos/botan-2/botan/p11_rsa.h | 229 ++ .../include/macos/botan-2/botan/p11_session.h | 15 + .../include/macos/botan-2/botan/p11_slot.h | 15 + .../include/macos/botan-2/botan/p11_types.h | 209 ++ .../include/macos/botan-2/botan/p11_x509.h | 117 + .../include/macos/botan-2/botan/package.h | 49 + .../include/macos/botan-2/botan/par_hash.h | 50 + .../include/macos/botan-2/botan/parsing.h | 181 + .../include/macos/botan-2/botan/passhash9.h | 52 + .../botan/include/macos/botan-2/botan/pbes2.h | 87 + .../botan/include/macos/botan-2/botan/pbkdf.h | 246 ++ .../include/macos/botan-2/botan/pbkdf1.h | 53 + .../include/macos/botan-2/botan/pbkdf2.h | 117 + .../botan/include/macos/botan-2/botan/pem.h | 91 + .../include/macos/botan-2/botan/pgp_s2k.h | 164 + .../botan/include/macos/botan-2/botan/pipe.h | 379 +++ .../include/macos/botan-2/botan/pk_algs.h | 46 + .../include/macos/botan-2/botan/pk_keys.h | 329 ++ .../include/macos/botan-2/botan/pk_ops.h | 161 + .../include/macos/botan-2/botan/pk_ops_fwd.h | 27 + .../include/macos/botan-2/botan/pkcs10.h | 148 + .../include/macos/botan-2/botan/pkcs11.h | 264 ++ .../include/macos/botan-2/botan/pkcs11f.h | 938 ++++++ .../include/macos/botan-2/botan/pkcs11t.h | 2002 +++++++++++ .../botan/include/macos/botan-2/botan/pkcs8.h | 288 ++ .../include/macos/botan-2/botan/pkix_enums.h | 143 + .../include/macos/botan-2/botan/pkix_types.h | 613 ++++ .../include/macos/botan-2/botan/point_gfp.h | 447 +++ .../include/macos/botan-2/botan/poly1305.h | 50 + .../include/macos/botan-2/botan/polyn_gf2m.h | 174 + .../include/macos/botan-2/botan/pow_mod.h | 122 + .../include/macos/botan-2/botan/prf_tls.h | 70 + .../include/macos/botan-2/botan/prf_x942.h | 42 + .../macos/botan-2/botan/processor_rng.h | 52 + .../include/macos/botan-2/botan/psk_db.h | 166 + .../include/macos/botan-2/botan/psk_db_sql.h | 13 + .../botan/include/macos/botan-2/botan/pssr.h | 103 + .../include/macos/botan-2/botan/pubkey.h | 800 +++++ .../include/macos/botan-2/botan/pwdhash.h | 162 + .../botan/include/macos/botan-2/botan/rc4.h | 57 + .../include/macos/botan-2/botan/rdrand_rng.h | 68 + .../include/macos/botan-2/botan/reducer.h | 69 + .../include/macos/botan-2/botan/rfc3394.h | 39 + .../include/macos/botan-2/botan/rfc6979.h | 55 + .../include/macos/botan-2/botan/rmd160.h | 41 + .../botan/include/macos/botan-2/botan/rng.h | 297 ++ .../include/macos/botan-2/botan/rotate.h | 112 + .../include/macos/botan-2/botan/roughtime.h | 167 + .../botan/include/macos/botan-2/botan/rsa.h | 180 + .../include/macos/botan-2/botan/salsa20.h | 54 + .../include/macos/botan-2/botan/scan_name.h | 124 + .../include/macos/botan-2/botan/scrypt.h | 127 + .../include/macos/botan-2/botan/secmem.h | 136 + .../include/macos/botan-2/botan/secqueue.h | 74 + .../botan/include/macos/botan-2/botan/seed.h | 37 + .../include/macos/botan-2/botan/serpent.h | 53 + .../include/macos/botan-2/botan/sha160.h | 75 + .../include/macos/botan-2/botan/sha2_32.h | 95 + .../include/macos/botan-2/botan/sha2_64.h | 102 + .../botan/include/macos/botan-2/botan/sha3.h | 136 + .../include/macos/botan-2/botan/shacal2.h | 54 + .../botan/include/macos/botan-2/botan/shake.h | 85 + .../macos/botan-2/botan/shake_cipher.h | 57 + .../include/macos/botan-2/botan/siphash.h | 47 + .../botan/include/macos/botan-2/botan/siv.h | 129 + .../include/macos/botan-2/botan/skein_512.h | 72 + .../botan/include/macos/botan-2/botan/sm2.h | 124 + .../include/macos/botan-2/botan/sm2_enc.h | 15 + .../botan/include/macos/botan-2/botan/sm3.h | 49 + .../botan/include/macos/botan-2/botan/sm4.h | 45 + .../include/macos/botan-2/botan/sodium.h | 1453 ++++++++ .../include/macos/botan-2/botan/sp800_108.h | 135 + .../include/macos/botan-2/botan/sp800_56a.h | 103 + .../include/macos/botan-2/botan/sp800_56c.h | 61 + .../botan/include/macos/botan-2/botan/srp6.h | 155 + .../macos/botan-2/botan/stateful_rng.h | 166 + .../macos/botan-2/botan/stl_compatibility.h | 80 + .../macos/botan-2/botan/stream_cipher.h | 147 + .../include/macos/botan-2/botan/stream_mode.h | 84 + .../include/macos/botan-2/botan/streebog.h | 72 + .../include/macos/botan-2/botan/sym_algo.h | 190 ++ .../include/macos/botan-2/botan/symkey.h | 150 + .../include/macos/botan-2/botan/system_rng.h | 43 + .../include/macos/botan-2/botan/threefish.h | 17 + .../macos/botan-2/botan/threefish_512.h | 57 + .../botan/include/macos/botan-2/botan/tiger.h | 59 + .../include/macos/botan-2/botan/tls_alert.h | 116 + .../include/macos/botan-2/botan/tls_algos.h | 171 + .../macos/botan-2/botan/tls_blocking.h | 103 + .../macos/botan-2/botan/tls_callbacks.h | 484 +++ .../include/macos/botan-2/botan/tls_channel.h | 318 ++ .../macos/botan-2/botan/tls_ciphersuite.h | 189 ++ .../include/macos/botan-2/botan/tls_client.h | 169 + .../include/macos/botan-2/botan/tls_exceptn.h | 52 + .../macos/botan-2/botan/tls_extensions.h | 551 ++++ .../macos/botan-2/botan/tls_handshake_msg.h | 51 + .../include/macos/botan-2/botan/tls_magic.h | 72 + .../macos/botan-2/botan/tls_messages.h | 653 ++++ .../include/macos/botan-2/botan/tls_policy.h | 616 ++++ .../include/macos/botan-2/botan/tls_server.h | 169 + .../macos/botan-2/botan/tls_server_info.h | 104 + .../include/macos/botan-2/botan/tls_session.h | 210 ++ .../macos/botan-2/botan/tls_session_manager.h | 160 + .../botan-2/botan/tls_session_manager_sql.h | 81 + .../include/macos/botan-2/botan/tls_version.h | 156 + .../botan/include/macos/botan-2/botan/totp.h | 13 + .../botan/include/macos/botan-2/botan/tss.h | 104 + .../include/macos/botan-2/botan/twofish.h | 47 + .../botan/include/macos/botan-2/botan/types.h | 112 + .../botan/include/macos/botan-2/botan/uuid.h | 69 + .../include/macos/botan-2/botan/version.h | 101 + .../include/macos/botan-2/botan/whrlpool.h | 50 + .../include/macos/botan-2/botan/workfactor.h | 51 + .../include/macos/botan-2/botan/x509_ca.h | 261 ++ .../include/macos/botan-2/botan/x509_crl.h | 209 ++ .../include/macos/botan-2/botan/x509_dn.h | 11 + .../include/macos/botan-2/botan/x509_ext.h | 529 +++ .../include/macos/botan-2/botan/x509_key.h | 80 + .../include/macos/botan-2/botan/x509_obj.h | 144 + .../include/macos/botan-2/botan/x509cert.h | 461 +++ .../include/macos/botan-2/botan/x509path.h | 475 +++ .../include/macos/botan-2/botan/x509self.h | 222 ++ .../include/macos/botan-2/botan/x919_mac.h | 51 + .../botan/include/macos/botan-2/botan/xmss.h | 459 +++ .../include/macos/botan-2/botan/xmss_hash.h | 156 + .../macos/botan-2/botan/xmss_key_pair.h | 49 + .../macos/botan-2/botan/xmss_parameters.h | 119 + .../macos/botan-2/botan/xmss_privatekey.h | 13 + .../macos/botan-2/botan/xmss_publickey.h | 14 + .../include/macos/botan-2/botan/xmss_wots.h | 752 +++++ .../botan-2/botan/xmss_wots_parameters.h | 14 + .../botan-2/botan/xmss_wots_privatekey.h | 15 + .../macos/botan-2/botan/xmss_wots_publickey.h | 14 + .../botan/include/macos/botan-2/botan/xtea.h | 37 + .../botan/include/macos/botan-2/botan/xts.h | 103 + .../QtSsh/src/botan/lib/macos/libbotan-2.a | Bin 0 -> 11272912 bytes 310 files changed, 49997 insertions(+) create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/adler32.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/aead.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/aes.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/alg_id.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/argon2.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/aria.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_alt_name.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_attribute.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_obj.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_oid.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_print.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_str.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_time.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/assert.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/auto_rng.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/b64_filt.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/base32.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/base58.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/base64.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/basefilt.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/bcrypt.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/bcrypt_pbkdf.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ber_dec.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/bigint.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/blake2b.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/blinding.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/block_cipher.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/blowfish.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/botan.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/bswap.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/buf_comp.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/buf_filt.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/build.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/calendar.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/camellia.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cascade.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cast128.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cast256.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cbc.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cbc_mac.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ccm.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cecpq1.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cert_status.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor_flatfile.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor_macos.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor_sql.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor_system.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cfb.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/chacha.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/chacha20poly1305.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/chacha_rng.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/charset.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cipher_filter.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cipher_mode.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cmac.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/comb4p.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/comp_filter.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/compiler.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cpuid.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/crc24.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/crc32.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/credentials_manager.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/crl_ent.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cryptobox.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ctr.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/curve25519.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/curve_gfp.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/curve_nistp.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/data_snk.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/data_src.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/database.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/datastor.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/der_enc.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/des.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/desx.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dh.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/divide.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dl_algo.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dl_group.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dlies.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dsa.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dyn_load.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eax.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ec_group.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecc_key.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecdh.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecdsa.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecgdsa.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecies.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eckcdsa.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ed25519.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/elgamal.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eme.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eme_pkcs.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eme_raw.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa1.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa_pkcs1.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa_raw.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa_x931.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/entropy_src.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/exceptn.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/fd_unix.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ffi.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/filter.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/filters.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/fpe_fe1.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gcm.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gf2m_small_m.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ghash.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gmac.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gost_28147.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gost_3410.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gost_3411.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hash.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hash_id.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hex.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hex_filt.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hkdf.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hmac.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hmac_drbg.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hotp.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/http_util.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/idea.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/init.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/iso9796.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kasumi.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kdf.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kdf1.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kdf1_iso18033.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kdf2.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/keccak.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/key_constraint.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/key_filt.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/key_spec.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/keypair.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/lion.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/loadstor.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/locking_allocator.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/lookup.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mac.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mceies.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mceliece.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/md4.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/md5.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mdx_hash.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mem_ops.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mgf1.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/misty1.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mode_pad.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/monty.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mul128.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mutex.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/name_constraint.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/newhope.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/nist_keywrap.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/noekeon.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/numthry.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/oaep.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ocb.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ocsp.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ocsp_types.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ofb.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/oids.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/otp.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_ecc_key.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_ecdh.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_ecdsa.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_module.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_object.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_randomgenerator.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_rsa.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_session.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_slot.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_types.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_x509.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/package.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/par_hash.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/parsing.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/passhash9.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pbes2.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pbkdf.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pbkdf1.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pbkdf2.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pem.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pgp_s2k.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pipe.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pk_algs.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pk_keys.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pk_ops.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pk_ops_fwd.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs10.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs11.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs11f.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs11t.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs8.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkix_enums.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkix_types.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/point_gfp.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/poly1305.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/polyn_gf2m.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pow_mod.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/prf_tls.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/prf_x942.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/processor_rng.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/psk_db.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/psk_db_sql.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pssr.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pubkey.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pwdhash.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rc4.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rdrand_rng.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/reducer.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rfc3394.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rfc6979.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rmd160.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rng.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rotate.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/roughtime.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rsa.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/salsa20.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/scan_name.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/scrypt.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/secmem.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/secqueue.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/seed.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/serpent.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sha160.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sha2_32.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sha2_64.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sha3.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/shacal2.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/shake.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/shake_cipher.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/siphash.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/siv.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/skein_512.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sm2.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sm2_enc.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sm3.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sm4.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sodium.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sp800_108.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sp800_56a.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sp800_56c.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/srp6.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/stateful_rng.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/stl_compatibility.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/stream_cipher.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/stream_mode.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/streebog.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sym_algo.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/symkey.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/system_rng.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/threefish.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/threefish_512.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tiger.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_alert.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_algos.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_blocking.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_callbacks.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_channel.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_ciphersuite.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_client.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_exceptn.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_extensions.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_handshake_msg.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_magic.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_messages.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_policy.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_server.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_server_info.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_session.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_session_manager.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_session_manager_sql.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_version.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/totp.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tss.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/twofish.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/types.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/uuid.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/version.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/whrlpool.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/workfactor.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_ca.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_crl.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_dn.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_ext.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_key.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_obj.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509cert.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509path.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509self.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x919_mac.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_hash.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_key_pair.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_parameters.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_privatekey.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_publickey.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_wots.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_wots_parameters.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_wots_privatekey.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_wots_publickey.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xtea.h create mode 100644 client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xts.h create mode 100644 client/3rd/QtSsh/src/botan/lib/macos/libbotan-2.a diff --git a/client/3rd/QtSsh/src/botan/botan.pri b/client/3rd/QtSsh/src/botan/botan.pri index e8c82d61..b18e05cb 100644 --- a/client/3rd/QtSsh/src/botan/botan.pri +++ b/client/3rd/QtSsh/src/botan/botan.pri @@ -20,6 +20,12 @@ win32 { } } +macx { + message("macOS build") + INCLUDEPATH += $$PWD/include/macos/botan-2 + LIBS += -L$$PWD/lib/macos -lbotan-2 +} + linux-g++ { message("Linux build") INCLUDEPATH += $$PWD/include/linux/botan-2 diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/adler32.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/adler32.h new file mode 100644 index 00000000..cd84a759 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/adler32.h @@ -0,0 +1,40 @@ +/* +* Adler32 +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ADLER32_H_ +#define BOTAN_ADLER32_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(adler32.h) + +namespace Botan { + +/** +* The Adler32 checksum, used in zlib +*/ +class BOTAN_PUBLIC_API(2,0) Adler32 final : public HashFunction + { + public: + std::string name() const override { return "Adler32"; } + size_t output_length() const override { return 4; } + HashFunction* clone() const override { return new Adler32; } + std::unique_ptr copy_state() const override; + + void clear() override { m_S1 = 1; m_S2 = 0; } + + Adler32() { clear(); } + ~Adler32() { clear(); } + private: + void add_data(const uint8_t[], size_t) override; + void final_result(uint8_t[]) override; + uint16_t m_S1, m_S2; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/aead.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/aead.h new file mode 100644 index 00000000..442eb8ed --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/aead.h @@ -0,0 +1,147 @@ +/* +* Interface for AEAD modes +* (C) 2013 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_AEAD_MODE_H_ +#define BOTAN_AEAD_MODE_H_ + +#include + +namespace Botan { + +/** +* Interface for AEAD (Authenticated Encryption with Associated Data) +* modes. These modes provide both encryption and message +* authentication, and can authenticate additional per-message data +* which is not included in the ciphertext (for instance a sequence +* number). +*/ +class BOTAN_PUBLIC_API(2,0) AEAD_Mode : public Cipher_Mode + { + public: + /** + * Create an AEAD mode + * @param algo the algorithm to create + * @param direction specify if this should be an encryption or decryption AEAD + * @param provider optional specification for provider to use + * @return an AEAD mode or a null pointer if not available + */ + static std::unique_ptr create(const std::string& algo, + Cipher_Dir direction, + const std::string& provider = ""); + + /** + * Create an AEAD mode, or throw + * @param algo the algorithm to create + * @param direction specify if this should be an encryption or decryption AEAD + * @param provider optional specification for provider to use + * @return an AEAD mode, or throw an exception + */ + static std::unique_ptr create_or_throw(const std::string& algo, + Cipher_Dir direction, + const std::string& provider = ""); + + bool authenticated() const override { return true; } + + /** + * Set associated data that is not included in the ciphertext but + * that should be authenticated. Must be called after set_key and + * before start. + * + * Unless reset by another call, the associated data is kept + * between messages. Thus, if the AD does not change, calling + * once (after set_key) is the optimum. + * + * @param ad the associated data + * @param ad_len length of add in bytes + */ + virtual void set_associated_data(const uint8_t ad[], size_t ad_len) = 0; + + /** + * Set associated data that is not included in the ciphertext but + * that should be authenticated. Must be called after set_key and + * before start. + * + * Unless reset by another call, the associated data is kept + * between messages. Thus, if the AD does not change, calling + * once (after set_key) is the optimum. + * + * Some AEADs (namely SIV) support multiple AD inputs. For + * all other modes only nominal AD input 0 is supported; all + * other values of i will cause an exception. + * + * @param ad the associated data + * @param ad_len length of add in bytes + */ + virtual void set_associated_data_n(size_t i, const uint8_t ad[], size_t ad_len); + + /** + * Returns the maximum supported number of associated data inputs which + * can be provided to set_associated_data_n + * + * If returns 0, then no associated data is supported. + */ + virtual size_t maximum_associated_data_inputs() const { return 1; } + + /** + * Most AEADs require the key to be set prior to setting the AD + * A few allow the AD to be set even before the cipher is keyed. + * Such ciphers would return false from this function. + */ + virtual bool associated_data_requires_key() const { return true; } + + /** + * Set associated data that is not included in the ciphertext but + * that should be authenticated. Must be called after set_key and + * before start. + * + * See @ref set_associated_data(). + * + * @param ad the associated data + */ + template + void set_associated_data_vec(const std::vector& ad) + { + set_associated_data(ad.data(), ad.size()); + } + + /** + * Set associated data that is not included in the ciphertext but + * that should be authenticated. Must be called after set_key and + * before start. + * + * See @ref set_associated_data(). + * + * @param ad the associated data + */ + template + void set_ad(const std::vector& ad) + { + set_associated_data(ad.data(), ad.size()); + } + + /** + * @return default AEAD nonce size (a commonly supported value among AEAD + * modes, and large enough that random collisions are unlikely) + */ + size_t default_nonce_length() const override { return 12; } + + virtual ~AEAD_Mode() = default; + }; + +/** +* Get an AEAD mode by name (eg "AES-128/GCM" or "Serpent/EAX") +* @param name AEAD name +* @param direction ENCRYPTION or DECRYPTION +*/ +inline AEAD_Mode* get_aead(const std::string& name, Cipher_Dir direction) + { + return AEAD_Mode::create(name, direction, "").release(); + } + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/aes.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/aes.h new file mode 100644 index 00000000..76248200 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/aes.h @@ -0,0 +1,131 @@ +/* +* AES +* (C) 1999-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_AES_H_ +#define BOTAN_AES_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(aes.h) + +namespace Botan { + +/** +* AES-128 +*/ +class BOTAN_PUBLIC_API(2,0) AES_128 final : public Block_Cipher_Fixed_Params<16, 16> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + + std::string provider() const override; + std::string name() const override { return "AES-128"; } + BlockCipher* clone() const override { return new AES_128; } + size_t parallelism() const override; + + private: + void key_schedule(const uint8_t key[], size_t length) override; + +#if defined(BOTAN_HAS_AES_VPERM) + void vperm_encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const; + void vperm_decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const; + void vperm_key_schedule(const uint8_t key[], size_t length); +#endif + +#if defined(BOTAN_HAS_AES_NI) + void aesni_key_schedule(const uint8_t key[], size_t length); +#endif + +#if defined(BOTAN_HAS_AES_POWER8) || defined(BOTAN_HAS_AES_ARMV8) || defined(BOTAN_HAS_AES_NI) + void hw_aes_encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const; + void hw_aes_decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const; +#endif + + secure_vector m_EK, m_DK; + }; + +/** +* AES-192 +*/ +class BOTAN_PUBLIC_API(2,0) AES_192 final : public Block_Cipher_Fixed_Params<16, 24> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + + std::string provider() const override; + std::string name() const override { return "AES-192"; } + BlockCipher* clone() const override { return new AES_192; } + size_t parallelism() const override; + + private: +#if defined(BOTAN_HAS_AES_VPERM) + void vperm_encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const; + void vperm_decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const; + void vperm_key_schedule(const uint8_t key[], size_t length); +#endif + +#if defined(BOTAN_HAS_AES_NI) + void aesni_key_schedule(const uint8_t key[], size_t length); +#endif + +#if defined(BOTAN_HAS_AES_POWER8) || defined(BOTAN_HAS_AES_ARMV8) || defined(BOTAN_HAS_AES_NI) + void hw_aes_encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const; + void hw_aes_decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const; +#endif + + void key_schedule(const uint8_t key[], size_t length) override; + + secure_vector m_EK, m_DK; + }; + +/** +* AES-256 +*/ +class BOTAN_PUBLIC_API(2,0) AES_256 final : public Block_Cipher_Fixed_Params<16, 32> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + + std::string provider() const override; + + std::string name() const override { return "AES-256"; } + BlockCipher* clone() const override { return new AES_256; } + size_t parallelism() const override; + + private: +#if defined(BOTAN_HAS_AES_VPERM) + void vperm_encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const; + void vperm_decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const; + void vperm_key_schedule(const uint8_t key[], size_t length); +#endif + +#if defined(BOTAN_HAS_AES_NI) + void aesni_key_schedule(const uint8_t key[], size_t length); +#endif + +#if defined(BOTAN_HAS_AES_POWER8) || defined(BOTAN_HAS_AES_ARMV8) || defined(BOTAN_HAS_AES_NI) + void hw_aes_encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const; + void hw_aes_decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const; +#endif + + void key_schedule(const uint8_t key[], size_t length) override; + + secure_vector m_EK, m_DK; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/alg_id.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/alg_id.h new file mode 100644 index 00000000..88e54466 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/alg_id.h @@ -0,0 +1,14 @@ +/* +* Algorithm Identifier +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ALGORITHM_IDENTIFIER_H_ +#define BOTAN_ALGORITHM_IDENTIFIER_H_ + +#include +BOTAN_DEPRECATED_HEADER(alg_id.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/argon2.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/argon2.h new file mode 100644 index 00000000..3a1b859f --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/argon2.h @@ -0,0 +1,118 @@ +/** +* (C) 2018,2019 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ARGON2_H_ +#define BOTAN_ARGON2_H_ + +#include + +//BOTAN_FUTURE_INTERNAL_HEADER(argon2.h) + +namespace Botan { + +class RandomNumberGenerator; + +/** +* Argon2 key derivation function +*/ +class BOTAN_PUBLIC_API(2,11) Argon2 final : public PasswordHash + { + public: + Argon2(uint8_t family, size_t M, size_t t, size_t p); + + Argon2(const Argon2& other) = default; + Argon2& operator=(const Argon2&) = default; + + /** + * Derive a new key under the current Argon2 parameter set + */ + void derive_key(uint8_t out[], size_t out_len, + const char* password, size_t password_len, + const uint8_t salt[], size_t salt_len) const override; + + std::string to_string() const override; + + size_t M() const { return m_M; } + size_t t() const { return m_t; } + size_t p() const { return m_p; } + + size_t iterations() const override { return t(); } + + size_t parallelism() const override { return p(); } + + size_t memory_param() const override { return M(); } + + size_t total_memory_usage() const override { return M() * 1024; } + + private: + uint8_t m_family; + size_t m_M, m_t, m_p; + }; + +class BOTAN_PUBLIC_API(2,11) Argon2_Family final : public PasswordHashFamily + { + public: + Argon2_Family(uint8_t family); + + std::string name() const override; + + std::unique_ptr tune(size_t output_length, + std::chrono::milliseconds msec, + size_t max_memory) const override; + + std::unique_ptr default_params() const override; + + std::unique_ptr from_iterations(size_t iter) const override; + + std::unique_ptr from_params( + size_t M, size_t t, size_t p) const override; + private: + const uint8_t m_family; + }; + +/** +* Argon2 key derivation function +* +* @param output the output will be placed here +* @param output_len length of output +* @param password the user password +* @param password_len the length of password +* @param salt the salt +* @param salt_len length of salt +* @param key an optional secret key +* @param key_len the length of key +* @param ad an optional additional input +* @param ad_len the length of ad +* @param y the Argon2 variant (0 = Argon2d, 1 = Argon2i, 2 = Argon2id) +* @param p the parallelization parameter +* @param M the amount of memory to use in Kb +* @param t the number of iterations to use +*/ +void BOTAN_PUBLIC_API(2,11) argon2(uint8_t output[], size_t output_len, + const char* password, size_t password_len, + const uint8_t salt[], size_t salt_len, + const uint8_t key[], size_t key_len, + const uint8_t ad[], size_t ad_len, + uint8_t y, size_t p, size_t M, size_t t); + +std::string BOTAN_PUBLIC_API(2,11) + argon2_generate_pwhash(const char* password, size_t password_len, + RandomNumberGenerator& rng, + size_t p, size_t M, size_t t, + uint8_t y = 2, size_t salt_len = 16, size_t output_len = 32); + +/** +* Check a previously created password hash +* @param password the password to check against +* @param password_len the length of password +* @param hash the stored hash to check against +*/ +bool BOTAN_PUBLIC_API(2,11) argon2_check_pwhash(const char* password, size_t password_len, + const std::string& hash); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/aria.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/aria.h new file mode 100644 index 00000000..507226b7 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/aria.h @@ -0,0 +1,84 @@ +/* +* ARIA +* (C) 2017 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +* +* This ARIA implementation is based on the 32-bit implementation by Aaram Yun from the +* National Security Research Institute, KOREA. Aaram Yun's implementation is based on +* the 8-bit implementation by Jin Hong. The source files are available in ARIA.zip from +* the Korea Internet & Security Agency website. +* RFC 5794, A Description of the ARIA Encryption Algorithm, +* Korea +* Internet & Security Agency homepage +*/ + +#ifndef BOTAN_ARIA_H_ +#define BOTAN_ARIA_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(aria.h) + +namespace Botan { + +/** +* ARIA-128 +*/ +class BOTAN_PUBLIC_API(2,3) ARIA_128 final : public Block_Cipher_Fixed_Params<16, 16> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "ARIA-128"; } + BlockCipher* clone() const override { return new ARIA_128; } + private: + void key_schedule(const uint8_t key[], size_t length) override; + + // Encryption and Decryption round keys. + secure_vector m_ERK, m_DRK; + }; + +/** +* ARIA-192 +*/ +class BOTAN_PUBLIC_API(2,3) ARIA_192 final : public Block_Cipher_Fixed_Params<16, 24> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "ARIA-192"; } + BlockCipher* clone() const override { return new ARIA_192; } + private: + void key_schedule(const uint8_t key[], size_t length) override; + + // Encryption and Decryption round keys. + secure_vector m_ERK, m_DRK; + }; + +/** +* ARIA-256 +*/ +class BOTAN_PUBLIC_API(2,3) ARIA_256 final : public Block_Cipher_Fixed_Params<16, 32> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "ARIA-256"; } + BlockCipher* clone() const override { return new ARIA_256; } + private: + void key_schedule(const uint8_t key[], size_t length) override; + + // Encryption and Decryption round keys. + secure_vector m_ERK, m_DRK; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_alt_name.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_alt_name.h new file mode 100644 index 00000000..b0ca1d87 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_alt_name.h @@ -0,0 +1,11 @@ +/* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_X509_ALT_NAME_H_ +#define BOTAN_X509_ALT_NAME_H_ + +#include +BOTAN_DEPRECATED_HEADER(asn1_alt_name.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_attribute.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_attribute.h new file mode 100644 index 00000000..0139c18c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_attribute.h @@ -0,0 +1,11 @@ +/* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ASN1_ATTRIBUTE_H_ +#define BOTAN_ASN1_ATTRIBUTE_H_ + +#include +BOTAN_DEPRECATED_HEADER(asn1_attribute.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_obj.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_obj.h new file mode 100644 index 00000000..0ce44377 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_obj.h @@ -0,0 +1,475 @@ +/* +* (C) 1999-2007,2018,2020 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ASN1_OBJECT_TYPES_H_ +#define BOTAN_ASN1_OBJECT_TYPES_H_ + +#include +#include +#include +#include +#include + +namespace Botan { + +class BER_Decoder; +class DER_Encoder; + +/** +* ASN.1 Type and Class Tags +* This will become an enum class in a future major release +*/ +enum ASN1_Tag : uint32_t { + UNIVERSAL = 0x00, + APPLICATION = 0x40, + CONTEXT_SPECIFIC = 0x80, + + CONSTRUCTED = 0x20, + + PRIVATE = CONSTRUCTED | CONTEXT_SPECIFIC, + + EOC = 0x00, + BOOLEAN = 0x01, + INTEGER = 0x02, + BIT_STRING = 0x03, + OCTET_STRING = 0x04, + NULL_TAG = 0x05, + OBJECT_ID = 0x06, + ENUMERATED = 0x0A, + SEQUENCE = 0x10, + SET = 0x11, + + UTF8_STRING = 0x0C, + NUMERIC_STRING = 0x12, + PRINTABLE_STRING = 0x13, + T61_STRING = 0x14, + IA5_STRING = 0x16, + VISIBLE_STRING = 0x1A, + UNIVERSAL_STRING = 0x1C, + BMP_STRING = 0x1E, + + UTC_TIME = 0x17, + GENERALIZED_TIME = 0x18, + UTC_OR_GENERALIZED_TIME = 0x19, + + NO_OBJECT = 0xFF00, + DIRECTORY_STRING = 0xFF01 +}; + +std::string BOTAN_UNSTABLE_API asn1_tag_to_string(ASN1_Tag type); +std::string BOTAN_UNSTABLE_API asn1_class_to_string(ASN1_Tag type); + +/** +* Basic ASN.1 Object Interface +*/ +class BOTAN_PUBLIC_API(2,0) ASN1_Object + { + public: + /** + * Encode whatever this object is into to + * @param to the DER_Encoder that will be written to + */ + virtual void encode_into(DER_Encoder& to) const = 0; + + /** + * Decode whatever this object is from from + * @param from the BER_Decoder that will be read from + */ + virtual void decode_from(BER_Decoder& from) = 0; + + /** + * Return the encoding of this object. This is a convenience + * method when just one object needs to be serialized. Use + * DER_Encoder for complicated encodings. + */ + std::vector BER_encode() const; + + ASN1_Object() = default; + ASN1_Object(const ASN1_Object&) = default; + ASN1_Object & operator=(const ASN1_Object&) = default; + virtual ~ASN1_Object() = default; + }; + +/** +* BER Encoded Object +*/ +class BOTAN_PUBLIC_API(2,0) BER_Object final + { + public: + BER_Object() : type_tag(NO_OBJECT), class_tag(UNIVERSAL) {} + + BER_Object(const BER_Object& other) = default; + + BER_Object& operator=(const BER_Object& other) = default; + + BER_Object(BER_Object&& other) = default; + + BER_Object& operator=(BER_Object&& other) = default; + + bool is_set() const { return type_tag != NO_OBJECT; } + + ASN1_Tag tagging() const { return ASN1_Tag(type() | get_class()); } + + ASN1_Tag type() const { return type_tag; } + ASN1_Tag get_class() const { return class_tag; } + + const uint8_t* bits() const { return value.data(); } + + size_t length() const { return value.size(); } + + void assert_is_a(ASN1_Tag type_tag, ASN1_Tag class_tag, + const std::string& descr = "object") const; + + bool is_a(ASN1_Tag type_tag, ASN1_Tag class_tag) const; + + bool is_a(int type_tag, ASN1_Tag class_tag) const; + + BOTAN_DEPRECATED_PUBLIC_MEMBER_VARIABLES: + /* + * The following member variables are public for historical reasons, but + * will be made private in a future major release. Use the accessor + * functions above. + */ + ASN1_Tag type_tag, class_tag; + secure_vector value; + + private: + + friend class BER_Decoder; + + void set_tagging(ASN1_Tag type_tag, ASN1_Tag class_tag); + + uint8_t* mutable_bits(size_t length) + { + value.resize(length); + return value.data(); + } + }; + +/* +* ASN.1 Utility Functions +*/ +class DataSource; + +namespace ASN1 { + +std::vector put_in_sequence(const std::vector& val); +std::vector put_in_sequence(const uint8_t bits[], size_t len); +std::string to_string(const BER_Object& obj); + +/** +* Heuristics tests; is this object possibly BER? +* @param src a data source that will be peeked at but not modified +*/ +bool maybe_BER(DataSource& src); + +} + +/** +* General BER Decoding Error Exception +*/ +class BOTAN_PUBLIC_API(2,0) BER_Decoding_Error : public Decoding_Error + { + public: + explicit BER_Decoding_Error(const std::string&); + }; + +/** +* Exception For Incorrect BER Taggings +*/ +class BOTAN_PUBLIC_API(2,0) BER_Bad_Tag final : public BER_Decoding_Error + { + public: + BER_Bad_Tag(const std::string& msg, ASN1_Tag tag); + BER_Bad_Tag(const std::string& msg, ASN1_Tag tag1, ASN1_Tag tag2); + }; + +/** +* This class represents ASN.1 object identifiers. +*/ +class BOTAN_PUBLIC_API(2,0) OID final : public ASN1_Object + { + public: + + /** + * Create an uninitialied OID object + */ + explicit OID() {} + + /** + * Construct an OID from a string. + * @param str a string in the form "a.b.c" etc., where a,b,c are numbers + */ + explicit OID(const std::string& str); + + /** + * Initialize an OID from a sequence of integer values + */ + explicit OID(std::initializer_list init) : m_id(init) {} + + /** + * Initialize an OID from a vector of integer values + */ + explicit OID(std::vector&& init) : m_id(init) {} + + /** + * Construct an OID from a string. + * @param str a string in the form "a.b.c" etc., where a,b,c are numbers + * or any known OID name (for example "RSA" or "X509v3.SubjectKeyIdentifier") + */ + static OID from_string(const std::string& str); + + void encode_into(class DER_Encoder&) const override; + void decode_from(class BER_Decoder&) override; + + /** + * Find out whether this OID is empty + * @return true is no OID value is set + */ + bool empty() const { return m_id.empty(); } + + /** + * Find out whether this OID has a value + * @return true is this OID has a value + */ + bool has_value() const { return (m_id.empty() == false); } + + /** + * Get this OID as list (vector) of its components. + * @return vector representing this OID + */ + const std::vector& get_components() const { return m_id; } + + const std::vector& get_id() const { return get_components(); } + + /** + * Get this OID as a string + * @return string representing this OID + */ + std::string BOTAN_DEPRECATED("Use OID::to_string") as_string() const + { + return this->to_string(); + } + + /** + * Get this OID as a dotted-decimal string + * @return string representing this OID + */ + std::string to_string() const; + + /** + * If there is a known name associated with this OID, return that. + * Otherwise return the result of to_string + */ + std::string to_formatted_string() const; + + /** + * Compare two OIDs. + * @return true if they are equal, false otherwise + */ + bool operator==(const OID& other) const + { + return m_id == other.m_id; + } + + /** + * Reset this instance to an empty OID. + */ + void BOTAN_DEPRECATED("Avoid mutation of OIDs") clear() { m_id.clear(); } + + /** + * Add a component to this OID. + * @param new_comp the new component to add to the end of this OID + * @return reference to *this + */ + BOTAN_DEPRECATED("Avoid mutation of OIDs") OID& operator+=(uint32_t new_comp) + { + m_id.push_back(new_comp); + return (*this); + } + + private: + std::vector m_id; + }; + +/** +* Append another component onto the OID. +* @param oid the OID to add the new component to +* @param new_comp the new component to add +*/ +OID BOTAN_PUBLIC_API(2,0) operator+(const OID& oid, uint32_t new_comp); + +/** +* Compare two OIDs. +* @param a the first OID +* @param b the second OID +* @return true if a is not equal to b +*/ +inline bool operator!=(const OID& a, const OID& b) + { + return !(a == b); + } + +/** +* Compare two OIDs. +* @param a the first OID +* @param b the second OID +* @return true if a is lexicographically smaller than b +*/ +bool BOTAN_PUBLIC_API(2,0) operator<(const OID& a, const OID& b); + +/** +* Time (GeneralizedTime/UniversalTime) +*/ +class BOTAN_PUBLIC_API(2,0) ASN1_Time final : public ASN1_Object + { + public: + /// DER encode a ASN1_Time + void encode_into(DER_Encoder&) const override; + + // Decode a BER encoded ASN1_Time + void decode_from(BER_Decoder&) override; + + /// Return an internal string representation of the time + std::string to_string() const; + + /// Returns a human friendly string replesentation of no particular formatting + std::string readable_string() const; + + /// Return if the time has been set somehow + bool time_is_set() const; + + /// Compare this time against another + int32_t cmp(const ASN1_Time& other) const; + + /// Create an invalid ASN1_Time + ASN1_Time() = default; + + /// Create a ASN1_Time from a time point + explicit ASN1_Time(const std::chrono::system_clock::time_point& time); + + /// Create an ASN1_Time from string + ASN1_Time(const std::string& t_spec, ASN1_Tag tag); + + /// Returns a STL timepoint object + std::chrono::system_clock::time_point to_std_timepoint() const; + + /// Return time since epoch + uint64_t time_since_epoch() const; + + private: + void set_to(const std::string& t_spec, ASN1_Tag); + bool passes_sanity_check() const; + + uint32_t m_year = 0; + uint32_t m_month = 0; + uint32_t m_day = 0; + uint32_t m_hour = 0; + uint32_t m_minute = 0; + uint32_t m_second = 0; + ASN1_Tag m_tag = NO_OBJECT; + }; + +/* +* Comparison Operations +*/ +bool BOTAN_PUBLIC_API(2,0) operator==(const ASN1_Time&, const ASN1_Time&); +bool BOTAN_PUBLIC_API(2,0) operator!=(const ASN1_Time&, const ASN1_Time&); +bool BOTAN_PUBLIC_API(2,0) operator<=(const ASN1_Time&, const ASN1_Time&); +bool BOTAN_PUBLIC_API(2,0) operator>=(const ASN1_Time&, const ASN1_Time&); +bool BOTAN_PUBLIC_API(2,0) operator<(const ASN1_Time&, const ASN1_Time&); +bool BOTAN_PUBLIC_API(2,0) operator>(const ASN1_Time&, const ASN1_Time&); + +typedef ASN1_Time X509_Time; + +/** +* ASN.1 string type +* This class normalizes all inputs to a UTF-8 std::string +*/ +class BOTAN_PUBLIC_API(2,0) ASN1_String final : public ASN1_Object + { + public: + void encode_into(class DER_Encoder&) const override; + void decode_from(class BER_Decoder&) override; + + ASN1_Tag tagging() const { return m_tag; } + + const std::string& value() const { return m_utf8_str; } + + size_t size() const { return value().size(); } + + bool empty() const { return m_utf8_str.empty(); } + + std::string BOTAN_DEPRECATED("Use value() to get UTF-8 string instead") + iso_8859() const; + + /** + * Return true iff this is a tag for a known string type we can handle. + * This ignores string types that are not supported, eg teletexString + */ + static bool is_string_type(ASN1_Tag tag); + + bool operator==(const ASN1_String& other) const + { return value() == other.value(); } + + explicit ASN1_String(const std::string& utf8 = ""); + ASN1_String(const std::string& utf8, ASN1_Tag tag); + private: + std::vector m_data; + std::string m_utf8_str; + ASN1_Tag m_tag; + }; + +/** +* Algorithm Identifier +*/ +class BOTAN_PUBLIC_API(2,0) AlgorithmIdentifier final : public ASN1_Object + { + public: + enum Encoding_Option { USE_NULL_PARAM, USE_EMPTY_PARAM }; + + void encode_into(class DER_Encoder&) const override; + void decode_from(class BER_Decoder&) override; + + AlgorithmIdentifier() = default; + + AlgorithmIdentifier(const OID& oid, Encoding_Option enc); + AlgorithmIdentifier(const std::string& oid_name, Encoding_Option enc); + + AlgorithmIdentifier(const OID& oid, const std::vector& params); + AlgorithmIdentifier(const std::string& oid_name, const std::vector& params); + + const OID& get_oid() const { return oid; } + const std::vector& get_parameters() const { return parameters; } + + bool parameters_are_null() const; + bool parameters_are_empty() const { return parameters.empty(); } + + bool parameters_are_null_or_empty() const + { + return parameters_are_empty() || parameters_are_null(); + } + + BOTAN_DEPRECATED_PUBLIC_MEMBER_VARIABLES: + /* + * These values are public for historical reasons, but in a future release + * they will be made private. Do not access them. + */ + OID oid; + std::vector parameters; + }; + +/* +* Comparison Operations +*/ +bool BOTAN_PUBLIC_API(2,0) operator==(const AlgorithmIdentifier&, + const AlgorithmIdentifier&); +bool BOTAN_PUBLIC_API(2,0) operator!=(const AlgorithmIdentifier&, + const AlgorithmIdentifier&); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_oid.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_oid.h new file mode 100644 index 00000000..91c5da9d --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_oid.h @@ -0,0 +1,14 @@ +/* +* ASN.1 OID +* (C) 1999-2007,2019 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ASN1_OID_H_ +#define BOTAN_ASN1_OID_H_ + +#include +BOTAN_DEPRECATED_HEADER(asn1_oid.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_print.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_print.h new file mode 100644 index 00000000..a6bc6b15 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_print.h @@ -0,0 +1,125 @@ +/* +* (C) 2014,2015,2017 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ASN1_PRINT_H_ +#define BOTAN_ASN1_PRINT_H_ + +#include +#include +#include +#include + +namespace Botan { + +class BER_Decoder; + +/** +* Format ASN.1 data and call a virtual to format +*/ +class BOTAN_PUBLIC_API(2,4) ASN1_Formatter + { + public: + virtual ~ASN1_Formatter() = default; + + /** + * @param print_context_specific if true, try to parse nested context specific data. + * @param max_depth do not recurse more than this many times. If zero, recursion + * is unbounded. + */ + ASN1_Formatter(bool print_context_specific, size_t max_depth) : + m_print_context_specific(print_context_specific), + m_max_depth(max_depth) + {} + + void print_to_stream(std::ostream& out, + const uint8_t in[], + size_t len) const; + + std::string print(const uint8_t in[], size_t len) const; + + template + std::string print(const std::vector& vec) const + { + return print(vec.data(), vec.size()); + } + + protected: + /** + * This is called for each element + */ + virtual std::string format(ASN1_Tag type_tag, + ASN1_Tag class_tag, + size_t level, + size_t length, + const std::string& value) const = 0; + + /** + * This is called to format binary elements that we don't know how to + * convert to a string The result will be passed as value to format; the + * tags are included as a hint to aid decoding. + */ + virtual std::string format_bin(ASN1_Tag type_tag, + ASN1_Tag class_tag, + const std::vector& vec) const = 0; + + private: + void decode(std::ostream& output, + BER_Decoder& decoder, + size_t level) const; + + const bool m_print_context_specific; + const size_t m_max_depth; + }; + +/** +* Format ASN.1 data into human readable output. The exact form of the output for +* any particular input is not guaranteed and may change from release to release. +*/ +class BOTAN_PUBLIC_API(2,4) ASN1_Pretty_Printer final : public ASN1_Formatter + { + public: + /** + * @param print_limit strings larger than this are not printed + * @param print_binary_limit binary strings larger than this are not printed + * @param print_context_specific if true, try to parse nested context specific data. + * @param initial_level the initial depth (0 or 1 are the only reasonable values) + * @param value_column ASN.1 values are lined up at this column in output + * @param max_depth do not recurse more than this many times. If zero, recursion + * is unbounded. + */ + ASN1_Pretty_Printer(size_t print_limit = 4096, + size_t print_binary_limit = 2048, + bool print_context_specific = true, + size_t initial_level = 0, + size_t value_column = 60, + size_t max_depth = 64) : + ASN1_Formatter(print_context_specific, max_depth), + m_print_limit(print_limit), + m_print_binary_limit(print_binary_limit), + m_initial_level(initial_level), + m_value_column(value_column) + {} + + private: + std::string format(ASN1_Tag type_tag, + ASN1_Tag class_tag, + size_t level, + size_t length, + const std::string& value) const override; + + std::string format_bin(ASN1_Tag type_tag, + ASN1_Tag class_tag, + const std::vector& vec) const override; + + const size_t m_print_limit; + const size_t m_print_binary_limit; + const size_t m_initial_level; + const size_t m_value_column; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_str.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_str.h new file mode 100644 index 00000000..fed4950c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_str.h @@ -0,0 +1,14 @@ +/* +* ASN.1 string type +* (C) 1999-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ASN1_STRING_H_ +#define BOTAN_ASN1_STRING_H_ + +#include +BOTAN_DEPRECATED_HEADER(asn1_str.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_time.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_time.h new file mode 100644 index 00000000..55ef82e0 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/asn1_time.h @@ -0,0 +1,14 @@ +/* +* ASN.1 Time Representation +* (C) 1999-2007,2012 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ASN1_TIME_H_ +#define BOTAN_ASN1_TIME_H_ + +#include +BOTAN_DEPRECATED_HEADER(asn1_time.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/assert.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/assert.h new file mode 100644 index 00000000..14cc4426 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/assert.h @@ -0,0 +1,157 @@ +/* +* Runtime assertion checking +* (C) 2010,2018 Jack Lloyd +* 2017 Simon Warta (Kullo GmbH) +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ASSERTION_CHECKING_H_ +#define BOTAN_ASSERTION_CHECKING_H_ + +#include +#include + +namespace Botan { + +/** +* Called when an assertion fails +* Throws an Exception object +*/ +BOTAN_NORETURN void BOTAN_PUBLIC_API(2,0) + assertion_failure(const char* expr_str, + const char* assertion_made, + const char* func, + const char* file, + int line); + +/** +* Called when an invalid argument is used +* Throws Invalid_Argument +*/ +BOTAN_NORETURN void BOTAN_UNSTABLE_API throw_invalid_argument(const char* message, + const char* func, + const char* file); + + +#define BOTAN_ARG_CHECK(expr, msg) \ + do { if(!(expr)) Botan::throw_invalid_argument(msg, __func__, __FILE__); } while(0) + +/** +* Called when an invalid state is encountered +* Throws Invalid_State +*/ +BOTAN_NORETURN void BOTAN_UNSTABLE_API throw_invalid_state(const char* message, + const char* func, + const char* file); + + +#define BOTAN_STATE_CHECK(expr) \ + do { if(!(expr)) Botan::throw_invalid_state(#expr, __func__, __FILE__); } while(0) + +/** +* Make an assertion +*/ +#define BOTAN_ASSERT(expr, assertion_made) \ + do { \ + if(!(expr)) \ + Botan::assertion_failure(#expr, \ + assertion_made, \ + __func__, \ + __FILE__, \ + __LINE__); \ + } while(0) + +/** +* Make an assertion +*/ +#define BOTAN_ASSERT_NOMSG(expr) \ + do { \ + if(!(expr)) \ + Botan::assertion_failure(#expr, \ + "", \ + __func__, \ + __FILE__, \ + __LINE__); \ + } while(0) + +/** +* Assert that value1 == value2 +*/ +#define BOTAN_ASSERT_EQUAL(expr1, expr2, assertion_made) \ + do { \ + if((expr1) != (expr2)) \ + Botan::assertion_failure(#expr1 " == " #expr2, \ + assertion_made, \ + __func__, \ + __FILE__, \ + __LINE__); \ + } while(0) + +/** +* Assert that expr1 (if true) implies expr2 is also true +*/ +#define BOTAN_ASSERT_IMPLICATION(expr1, expr2, msg) \ + do { \ + if((expr1) && !(expr2)) \ + Botan::assertion_failure(#expr1 " implies " #expr2, \ + msg, \ + __func__, \ + __FILE__, \ + __LINE__); \ + } while(0) + +/** +* Assert that a pointer is not null +*/ +#define BOTAN_ASSERT_NONNULL(ptr) \ + do { \ + if((ptr) == nullptr) \ + Botan::assertion_failure(#ptr " is not null", \ + "", \ + __func__, \ + __FILE__, \ + __LINE__); \ + } while(0) + +#if defined(BOTAN_ENABLE_DEBUG_ASSERTS) + +#define BOTAN_DEBUG_ASSERT(expr) BOTAN_ASSERT_NOMSG(expr) + +#else + +#define BOTAN_DEBUG_ASSERT(expr) do {} while(0) + +#endif + +/** +* Mark variable as unused. Takes between 1 and 9 arguments and marks all as unused, +* e.g. BOTAN_UNUSED(a); or BOTAN_UNUSED(x, y, z); +*/ +#define _BOTAN_UNUSED_IMPL1(a) static_cast(a) +#define _BOTAN_UNUSED_IMPL2(a, b) static_cast(a); _BOTAN_UNUSED_IMPL1(b) +#define _BOTAN_UNUSED_IMPL3(a, b, c) static_cast(a); _BOTAN_UNUSED_IMPL2(b, c) +#define _BOTAN_UNUSED_IMPL4(a, b, c, d) static_cast(a); _BOTAN_UNUSED_IMPL3(b, c, d) +#define _BOTAN_UNUSED_IMPL5(a, b, c, d, e) static_cast(a); _BOTAN_UNUSED_IMPL4(b, c, d, e) +#define _BOTAN_UNUSED_IMPL6(a, b, c, d, e, f) static_cast(a); _BOTAN_UNUSED_IMPL5(b, c, d, e, f) +#define _BOTAN_UNUSED_IMPL7(a, b, c, d, e, f, g) static_cast(a); _BOTAN_UNUSED_IMPL6(b, c, d, e, f, g) +#define _BOTAN_UNUSED_IMPL8(a, b, c, d, e, f, g, h) static_cast(a); _BOTAN_UNUSED_IMPL7(b, c, d, e, f, g, h) +#define _BOTAN_UNUSED_IMPL9(a, b, c, d, e, f, g, h, i) static_cast(a); _BOTAN_UNUSED_IMPL8(b, c, d, e, f, g, h, i) +#define _BOTAN_UNUSED_GET_IMPL(_1, _2, _3, _4, _5, _6, _7, _8, _9, IMPL_NAME, ...) IMPL_NAME + +#define BOTAN_UNUSED(...) _BOTAN_UNUSED_GET_IMPL(__VA_ARGS__, \ + _BOTAN_UNUSED_IMPL9, \ + _BOTAN_UNUSED_IMPL8, \ + _BOTAN_UNUSED_IMPL7, \ + _BOTAN_UNUSED_IMPL6, \ + _BOTAN_UNUSED_IMPL5, \ + _BOTAN_UNUSED_IMPL4, \ + _BOTAN_UNUSED_IMPL3, \ + _BOTAN_UNUSED_IMPL2, \ + _BOTAN_UNUSED_IMPL1, \ + unused dummy rest value \ + ) /* we got an one of _BOTAN_UNUSED_IMPL*, now call it */ (__VA_ARGS__) + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/auto_rng.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/auto_rng.h new file mode 100644 index 00000000..8cb2c4a1 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/auto_rng.h @@ -0,0 +1,102 @@ +/* +* Auto Seeded RNG +* (C) 2008,2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_AUTO_SEEDING_RNG_H_ +#define BOTAN_AUTO_SEEDING_RNG_H_ + +#include + +namespace Botan { + +class Stateful_RNG; + +/** +* A userspace PRNG +*/ +class BOTAN_PUBLIC_API(2,0) AutoSeeded_RNG final : public RandomNumberGenerator + { + public: + void randomize(uint8_t out[], size_t len) override; + + void randomize_with_input(uint8_t output[], size_t output_len, + const uint8_t input[], size_t input_len) override; + + bool is_seeded() const override; + + bool accepts_input() const override { return true; } + + /** + * Mark state as requiring a reseed on next use + */ + void force_reseed(); + + size_t reseed(Entropy_Sources& srcs, + size_t poll_bits = BOTAN_RNG_RESEED_POLL_BITS, + std::chrono::milliseconds poll_timeout = BOTAN_RNG_RESEED_DEFAULT_TIMEOUT) override; + + void add_entropy(const uint8_t in[], size_t len) override; + + std::string name() const override; + + void clear() override; + + /** + * Uses the system RNG (if available) or else a default group of + * entropy sources (all other systems) to gather seed material. + * + * @param reseed_interval specifies a limit of how many times + * the RNG will be called before automatic reseeding is performed + */ + AutoSeeded_RNG(size_t reseed_interval = BOTAN_RNG_DEFAULT_RESEED_INTERVAL); + + /** + * Create an AutoSeeded_RNG which will get seed material from some other + * RNG instance. For example you could provide a reference to the system + * RNG or a hardware RNG. + * + * @param underlying_rng is a reference to some RNG which will be used + * to perform the periodic reseeding + * @param reseed_interval specifies a limit of how many times + * the RNG will be called before automatic reseeding is performed + */ + AutoSeeded_RNG(RandomNumberGenerator& underlying_rng, + size_t reseed_interval = BOTAN_RNG_DEFAULT_RESEED_INTERVAL); + + /** + * Create an AutoSeeded_RNG which will get seed material from a set of + * entropy sources. + * + * @param entropy_sources will be polled to perform reseeding periodically + * @param reseed_interval specifies a limit of how many times + * the RNG will be called before automatic reseeding is performed + */ + AutoSeeded_RNG(Entropy_Sources& entropy_sources, + size_t reseed_interval = BOTAN_RNG_DEFAULT_RESEED_INTERVAL); + + /** + * Create an AutoSeeded_RNG which will get seed material from both an + * underlying RNG and a set of entropy sources. + * + * @param underlying_rng is a reference to some RNG which will be used + * to perform the periodic reseeding + * @param entropy_sources will be polled to perform reseeding periodically + * @param reseed_interval specifies a limit of how many times + * the RNG will be called before automatic reseeding is performed + */ + AutoSeeded_RNG(RandomNumberGenerator& underlying_rng, + Entropy_Sources& entropy_sources, + size_t reseed_interval = BOTAN_RNG_DEFAULT_RESEED_INTERVAL); + + ~AutoSeeded_RNG(); + + private: + std::unique_ptr m_rng; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/b64_filt.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/b64_filt.h new file mode 100644 index 00000000..af7bb7cf --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/b64_filt.h @@ -0,0 +1,14 @@ +/* +* Base64 Encoder/Decoder +* (C) 1999-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_BASE64_FILTER_H_ +#define BOTAN_BASE64_FILTER_H_ + +#include +BOTAN_DEPRECATED_HEADER(b64_filt.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/base32.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/base32.h new file mode 100644 index 00000000..d2bcb3e6 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/base32.h @@ -0,0 +1,127 @@ +/* +* Base32 Encoding and Decoding +* (C) 2018 Erwan Chaussy +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_BASE32_CODEC_H_ +#define BOTAN_BASE32_CODEC_H_ + +#include +#include + +namespace Botan { + +/** +* Perform base32 encoding +* @param output an array of at least base32_encode_max_output bytes +* @param input is some binary data +* @param input_length length of input in bytes +* @param input_consumed is an output parameter which says how many +* bytes of input were actually consumed. If less than +* input_length, then the range input[consumed:length] +* should be passed in later along with more input. +* @param final_inputs true iff this is the last input, in which case + padding chars will be applied if needed +* @return number of bytes written to output +*/ +size_t BOTAN_PUBLIC_API(2, 7) base32_encode(char output[], + const uint8_t input[], + size_t input_length, + size_t& input_consumed, + bool final_inputs); + +/** +* Perform base32 encoding +* @param input some input +* @param input_length length of input in bytes +* @return base32 representation of input +*/ +std::string BOTAN_PUBLIC_API(2, 7) base32_encode(const uint8_t input[], + size_t input_length); + +/** +* Perform base32 encoding +* @param input some input +* @return base32 representation of input +*/ +template +std::string base32_encode(const std::vector& input) + { + return base32_encode(input.data(), input.size()); + } + +/** +* Perform base32 decoding +* @param output an array of at least base32_decode_max_output bytes +* @param input some base32 input +* @param input_length length of input in bytes +* @param input_consumed is an output parameter which says how many +* bytes of input were actually consumed. If less than +* input_length, then the range input[consumed:length] +* should be passed in later along with more input. +* @param final_inputs true iff this is the last input, in which case + padding is allowed +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return number of bytes written to output +*/ +size_t BOTAN_PUBLIC_API(2, 7) base32_decode(uint8_t output[], + const char input[], + size_t input_length, + size_t& input_consumed, + bool final_inputs, + bool ignore_ws = true); + +/** +* Perform base32 decoding +* @param output an array of at least base32_decode_max_output bytes +* @param input some base32 input +* @param input_length length of input in bytes +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return number of bytes written to output +*/ +size_t BOTAN_PUBLIC_API(2, 7) base32_decode(uint8_t output[], + const char input[], + size_t input_length, + bool ignore_ws = true); + +/** +* Perform base32 decoding +* @param output an array of at least base32_decode_max_output bytes +* @param input some base32 input +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return number of bytes written to output +*/ +size_t BOTAN_PUBLIC_API(2, 7) base32_decode(uint8_t output[], + const std::string& input, + bool ignore_ws = true); + +/** +* Perform base32 decoding +* @param input some base32 input +* @param input_length the length of input in bytes +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return decoded base32 output +*/ +secure_vector BOTAN_PUBLIC_API(2, 7) base32_decode(const char input[], + size_t input_length, + bool ignore_ws = true); + +/** +* Perform base32 decoding +* @param input some base32 input +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return decoded base32 output +*/ +secure_vector BOTAN_PUBLIC_API(2, 7) base32_decode(const std::string& input, + bool ignore_ws = true); + +} // namespace Botan + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/base58.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/base58.h new file mode 100644 index 00000000..4654a055 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/base58.h @@ -0,0 +1,76 @@ +/* +* (C) 2018 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_BASE58_CODEC_H_ +#define BOTAN_BASE58_CODEC_H_ + +#include +#include +#include + +namespace Botan { + +/** +* Perform base58 encoding +* +* This is raw base58 encoding, without the checksum +*/ +std::string +BOTAN_PUBLIC_API(2,9) base58_encode(const uint8_t input[], + size_t input_length); + +/** +* Perform base58 encoding with checksum +*/ +std::string +BOTAN_PUBLIC_API(2,9) base58_check_encode(const uint8_t input[], + size_t input_length); + + +/** +* Perform base58 decoding +* +* This is raw base58 encoding, without the checksum +*/ +std::vector +BOTAN_PUBLIC_API(2,9) base58_decode(const char input[], + size_t input_length); + +/** +* Perform base58 decoding with checksum +*/ +std::vector +BOTAN_PUBLIC_API(2,9) base58_check_decode(const char input[], + size_t input_length); + + +// Some convenience wrappers: + +template +inline std::string base58_encode(const std::vector& vec) + { + return base58_encode(vec.data(), vec.size()); + } + +template +inline std::string base58_check_encode(const std::vector& vec) + { + return base58_check_encode(vec.data(), vec.size()); + } + +inline std::vector base58_decode(const std::string& s) + { + return base58_decode(s.data(), s.size()); + } + +inline std::vector base58_check_decode(const std::string& s) + { + return base58_check_decode(s.data(), s.size()); + } + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/base64.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/base64.h new file mode 100644 index 00000000..a20d03b0 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/base64.h @@ -0,0 +1,141 @@ +/* +* Base64 Encoding and Decoding +* (C) 2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_BASE64_CODEC_H_ +#define BOTAN_BASE64_CODEC_H_ + +#include +#include + +namespace Botan { + +/** +* Perform base64 encoding +* @param output an array of at least base64_encode_max_output bytes +* @param input is some binary data +* @param input_length length of input in bytes +* @param input_consumed is an output parameter which says how many +* bytes of input were actually consumed. If less than +* input_length, then the range input[consumed:length] +* should be passed in later along with more input. +* @param final_inputs true iff this is the last input, in which case + padding chars will be applied if needed +* @return number of bytes written to output +*/ +size_t BOTAN_PUBLIC_API(2,0) base64_encode(char output[], + const uint8_t input[], + size_t input_length, + size_t& input_consumed, + bool final_inputs); + +/** +* Perform base64 encoding +* @param input some input +* @param input_length length of input in bytes +* @return base64adecimal representation of input +*/ +std::string BOTAN_PUBLIC_API(2,0) base64_encode(const uint8_t input[], + size_t input_length); + +/** +* Perform base64 encoding +* @param input some input +* @return base64adecimal representation of input +*/ +template +std::string base64_encode(const std::vector& input) + { + return base64_encode(input.data(), input.size()); + } + +/** +* Perform base64 decoding +* @param output an array of at least base64_decode_max_output bytes +* @param input some base64 input +* @param input_length length of input in bytes +* @param input_consumed is an output parameter which says how many +* bytes of input were actually consumed. If less than +* input_length, then the range input[consumed:length] +* should be passed in later along with more input. +* @param final_inputs true iff this is the last input, in which case + padding is allowed +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return number of bytes written to output +*/ +size_t BOTAN_PUBLIC_API(2,0) base64_decode(uint8_t output[], + const char input[], + size_t input_length, + size_t& input_consumed, + bool final_inputs, + bool ignore_ws = true); + +/** +* Perform base64 decoding +* @param output an array of at least base64_decode_max_output bytes +* @param input some base64 input +* @param input_length length of input in bytes +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return number of bytes written to output +*/ +size_t BOTAN_PUBLIC_API(2,0) base64_decode(uint8_t output[], + const char input[], + size_t input_length, + bool ignore_ws = true); + +/** +* Perform base64 decoding +* @param output an array of at least base64_decode_max_output bytes +* @param input some base64 input +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return number of bytes written to output +*/ +size_t BOTAN_PUBLIC_API(2,0) base64_decode(uint8_t output[], + const std::string& input, + bool ignore_ws = true); + +/** +* Perform base64 decoding +* @param input some base64 input +* @param input_length the length of input in bytes +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return decoded base64 output +*/ +secure_vector BOTAN_PUBLIC_API(2,0) base64_decode(const char input[], + size_t input_length, + bool ignore_ws = true); + +/** +* Perform base64 decoding +* @param input some base64 input +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return decoded base64 output +*/ +secure_vector BOTAN_PUBLIC_API(2,0) base64_decode(const std::string& input, + bool ignore_ws = true); + +/** +* Calculate the size of output buffer for base64_encode +* @param input_length the length of input in bytes +* @return the size of output buffer in bytes +*/ +size_t BOTAN_PUBLIC_API(2,1) base64_encode_max_output(size_t input_length); + +/** +* Calculate the size of output buffer for base64_decode +* @param input_length the length of input in bytes +* @return the size of output buffer in bytes +*/ +size_t BOTAN_PUBLIC_API(2,1) base64_decode_max_output(size_t input_length); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/basefilt.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/basefilt.h new file mode 100644 index 00000000..422989b7 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/basefilt.h @@ -0,0 +1,18 @@ +/* +* Basic Filters +* (C) 1999-2007 Jack Lloyd +* (C) 2013 Joel Low +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_BASEFILT_H_ +#define BOTAN_BASEFILT_H_ + +// This header is deprecated and will be removed in a future major release + +#include + +BOTAN_DEPRECATED_HEADER(basefilt.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/bcrypt.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/bcrypt.h new file mode 100644 index 00000000..cdf9cf3d --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/bcrypt.h @@ -0,0 +1,49 @@ +/* +* Bcrypt Password Hashing +* (C) 2011 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_BCRYPT_H_ +#define BOTAN_BCRYPT_H_ + +#include +#include + +namespace Botan { + +class RandomNumberGenerator; + +/** +* Create a password hash using Bcrypt +* +* @warning The password is truncated at at most 72 characters; characters after +* that do not have any effect on the resulting hash. To support longer +* passwords, consider pre-hashing the password, for example by using +* the hex encoding of SHA-256 of the password as the input to bcrypt. +* +* @param password the password. +* @param rng a random number generator +* @param work_factor how much work to do to slow down guessing attacks +* @param version which version to emit (may be 'a', 'b', or 'y' all of which +* have identical behavior in this implementation). +* +* @see https://www.usenix.org/events/usenix99/provos/provos_html/ +*/ +std::string BOTAN_PUBLIC_API(2,0) generate_bcrypt(const std::string& password, + RandomNumberGenerator& rng, + uint16_t work_factor = 12, + char version = 'a'); + +/** +* Check a previously created password hash +* @param password the password to check against +* @param hash the stored hash to check against +*/ +bool BOTAN_PUBLIC_API(2,0) check_bcrypt(const std::string& password, + const std::string& hash); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/bcrypt_pbkdf.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/bcrypt_pbkdf.h new file mode 100644 index 00000000..0d459e8d --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/bcrypt_pbkdf.h @@ -0,0 +1,77 @@ +/* +* (C) 2018,2019 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PBKDF_BCRYPT_H_ +#define BOTAN_PBKDF_BCRYPT_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(bcrypt_pbkdf.h) + +namespace Botan { + +/** +* Bcrypt-PBKDF key derivation function +*/ +class BOTAN_PUBLIC_API(2,11) Bcrypt_PBKDF final : public PasswordHash + { + public: + Bcrypt_PBKDF(size_t iterations) : m_iterations(iterations) {} + + Bcrypt_PBKDF(const Bcrypt_PBKDF& other) = default; + Bcrypt_PBKDF& operator=(const Bcrypt_PBKDF&) = default; + + /** + * Derive a new key under the current Bcrypt-PBKDF parameter set + */ + void derive_key(uint8_t out[], size_t out_len, + const char* password, size_t password_len, + const uint8_t salt[], size_t salt_len) const override; + + std::string to_string() const override; + + size_t iterations() const override { return m_iterations; } + + size_t parallelism() const override { return 0; } + + size_t memory_param() const override { return 0; } + + size_t total_memory_usage() const override { return 4096; } + + private: + size_t m_iterations; + }; + +class BOTAN_PUBLIC_API(2,11) Bcrypt_PBKDF_Family final : public PasswordHashFamily + { + public: + Bcrypt_PBKDF_Family() {} + + std::string name() const override; + + std::unique_ptr tune(size_t output_length, + std::chrono::milliseconds msec, + size_t max_memory) const override; + + std::unique_ptr default_params() const override; + + std::unique_ptr from_iterations(size_t iter) const override; + + std::unique_ptr from_params( + size_t i, size_t, size_t) const override; + }; + +/** +* Bcrypt PBKDF compatible with OpenBSD bcrypt_pbkdf +*/ +void BOTAN_UNSTABLE_API bcrypt_pbkdf(uint8_t output[], size_t output_len, + const char* pass, size_t pass_len, + const uint8_t salt[], size_t salt_len, + size_t rounds); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ber_dec.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ber_dec.h new file mode 100644 index 00000000..1fb8c4a9 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ber_dec.h @@ -0,0 +1,418 @@ +/* +* BER Decoder +* (C) 1999-2010,2018 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_BER_DECODER_H_ +#define BOTAN_BER_DECODER_H_ + +#include +#include + +namespace Botan { + +class BigInt; + +/** +* BER Decoding Object +*/ +class BOTAN_PUBLIC_API(2,0) BER_Decoder final + { + public: + /** + * Set up to BER decode the data in buf of length len + */ + BER_Decoder(const uint8_t buf[], size_t len); + + /** + * Set up to BER decode the data in vec + */ + explicit BER_Decoder(const secure_vector& vec); + + /** + * Set up to BER decode the data in vec + */ + explicit BER_Decoder(const std::vector& vec); + + /** + * Set up to BER decode the data in src + */ + explicit BER_Decoder(DataSource& src); + + /** + * Set up to BER decode the data in obj + */ + BER_Decoder(const BER_Object& obj) : + BER_Decoder(obj.bits(), obj.length()) {} + + /** + * Set up to BER decode the data in obj + */ + BER_Decoder(BER_Object&& obj) : + BER_Decoder(std::move(obj), nullptr) {} + + BER_Decoder(const BER_Decoder& other); + + BER_Decoder& operator=(const BER_Decoder&) = delete; + + /** + * Get the next object in the data stream. + * If EOF, returns an object with type NO_OBJECT. + */ + BER_Object get_next_object(); + + BER_Decoder& get_next(BER_Object& ber) + { + ber = get_next_object(); + return (*this); + } + + /** + * Push an object back onto the stream. Throws if another + * object was previously pushed and has not been subsequently + * read out. + */ + void push_back(const BER_Object& obj); + + /** + * Push an object back onto the stream. Throws if another + * object was previously pushed and has not been subsequently + * read out. + */ + void push_back(BER_Object&& obj); + + /** + * Return true if there is at least one more item remaining + */ + bool more_items() const; + + /** + * Verify the stream is concluded, throws otherwise. + * Returns (*this) + */ + BER_Decoder& verify_end(); + + /** + * Verify the stream is concluded, throws otherwise. + * Returns (*this) + */ + BER_Decoder& verify_end(const std::string& err_msg); + + /** + * Discard any data that remains unread + * Returns (*this) + */ + BER_Decoder& discard_remaining(); + + /** + * Start decoding a constructed data (sequence or set) + */ + BER_Decoder start_cons(ASN1_Tag type_tag, ASN1_Tag class_tag = UNIVERSAL); + + /** + * Finish decoding a constructed data, throws if any data remains. + * Returns the parent of *this (ie the object on which start_cons was called). + */ + BER_Decoder& end_cons(); + + /** + * Get next object and copy value to POD type + * Asserts value length is equal to POD type sizeof. + * Asserts Type tag and optional Class tag according to parameters. + * Copy value to POD type (struct, union, C-style array, std::array, etc.). + * @param out POD type reference where to copy object value + * @param type_tag ASN1_Tag enum to assert type on object read + * @param class_tag ASN1_Tag enum to assert class on object read (default: CONTEXT_SPECIFIC) + * @return this reference + */ + template + BER_Decoder& get_next_value(T &out, + ASN1_Tag type_tag, + ASN1_Tag class_tag = CONTEXT_SPECIFIC) + { + static_assert(std::is_standard_layout::value && std::is_trivial::value, "Type must be POD"); + + BER_Object obj = get_next_object(); + obj.assert_is_a(type_tag, class_tag); + + if (obj.length() != sizeof(T)) + throw BER_Decoding_Error( + "Size mismatch. Object value size is " + + std::to_string(obj.length()) + + "; Output type size is " + + std::to_string(sizeof(T))); + + copy_mem(reinterpret_cast(&out), obj.bits(), obj.length()); + + return (*this); + } + + /* + * Save all the bytes remaining in the source + */ + template + BER_Decoder& raw_bytes(std::vector& out) + { + out.clear(); + uint8_t buf; + while(m_source->read_byte(buf)) + out.push_back(buf); + return (*this); + } + + BER_Decoder& decode_null(); + + /** + * Decode a BER encoded BOOLEAN + */ + BER_Decoder& decode(bool& out) + { + return decode(out, BOOLEAN, UNIVERSAL); + } + + /* + * Decode a small BER encoded INTEGER + */ + BER_Decoder& decode(size_t& out) + { + return decode(out, INTEGER, UNIVERSAL); + } + + /* + * Decode a BER encoded INTEGER + */ + BER_Decoder& decode(BigInt& out) + { + return decode(out, INTEGER, UNIVERSAL); + } + + std::vector get_next_octet_string() + { + std::vector out_vec; + decode(out_vec, OCTET_STRING); + return out_vec; + } + + /* + * BER decode a BIT STRING or OCTET STRING + */ + template + BER_Decoder& decode(std::vector& out, ASN1_Tag real_type) + { + return decode(out, real_type, real_type, UNIVERSAL); + } + + BER_Decoder& decode(bool& v, + ASN1_Tag type_tag, + ASN1_Tag class_tag = CONTEXT_SPECIFIC); + + BER_Decoder& decode(size_t& v, + ASN1_Tag type_tag, + ASN1_Tag class_tag = CONTEXT_SPECIFIC); + + BER_Decoder& decode(BigInt& v, + ASN1_Tag type_tag, + ASN1_Tag class_tag = CONTEXT_SPECIFIC); + + BER_Decoder& decode(std::vector& v, + ASN1_Tag real_type, + ASN1_Tag type_tag, + ASN1_Tag class_tag = CONTEXT_SPECIFIC); + + BER_Decoder& decode(secure_vector& v, + ASN1_Tag real_type, + ASN1_Tag type_tag, + ASN1_Tag class_tag = CONTEXT_SPECIFIC); + + BER_Decoder& decode(class ASN1_Object& obj, + ASN1_Tag type_tag = NO_OBJECT, + ASN1_Tag class_tag = NO_OBJECT); + + /** + * Decode an integer value which is typed as an octet string + */ + BER_Decoder& decode_octet_string_bigint(BigInt& b); + + uint64_t decode_constrained_integer(ASN1_Tag type_tag, + ASN1_Tag class_tag, + size_t T_bytes); + + template BER_Decoder& decode_integer_type(T& out) + { + return decode_integer_type(out, INTEGER, UNIVERSAL); + } + + template + BER_Decoder& decode_integer_type(T& out, + ASN1_Tag type_tag, + ASN1_Tag class_tag = CONTEXT_SPECIFIC) + { + out = static_cast(decode_constrained_integer(type_tag, class_tag, sizeof(out))); + return (*this); + } + + template + BER_Decoder& decode_optional(T& out, + ASN1_Tag type_tag, + ASN1_Tag class_tag, + const T& default_value = T()); + + template + BER_Decoder& decode_optional_implicit( + T& out, + ASN1_Tag type_tag, + ASN1_Tag class_tag, + ASN1_Tag real_type, + ASN1_Tag real_class, + const T& default_value = T()); + + template + BER_Decoder& decode_list(std::vector& out, + ASN1_Tag type_tag = SEQUENCE, + ASN1_Tag class_tag = UNIVERSAL); + + template + BER_Decoder& decode_and_check(const T& expected, + const std::string& error_msg) + { + T actual; + decode(actual); + + if(actual != expected) + throw Decoding_Error(error_msg); + + return (*this); + } + + /* + * Decode an OPTIONAL string type + */ + template + BER_Decoder& decode_optional_string(std::vector& out, + ASN1_Tag real_type, + uint16_t type_no, + ASN1_Tag class_tag = CONTEXT_SPECIFIC) + { + BER_Object obj = get_next_object(); + + ASN1_Tag type_tag = static_cast(type_no); + + if(obj.is_a(type_tag, class_tag)) + { + if((class_tag & CONSTRUCTED) && (class_tag & CONTEXT_SPECIFIC)) + { + BER_Decoder(std::move(obj)).decode(out, real_type).verify_end(); + } + else + { + push_back(std::move(obj)); + decode(out, real_type, type_tag, class_tag); + } + } + else + { + out.clear(); + push_back(std::move(obj)); + } + + return (*this); + } + + private: + BER_Decoder(BER_Object&& obj, BER_Decoder* parent); + + BER_Decoder* m_parent = nullptr; + BER_Object m_pushed; + // either m_data_src.get() or an unowned pointer + DataSource* m_source; + mutable std::unique_ptr m_data_src; + }; + +/* +* Decode an OPTIONAL or DEFAULT element +*/ +template +BER_Decoder& BER_Decoder::decode_optional(T& out, + ASN1_Tag type_tag, + ASN1_Tag class_tag, + const T& default_value) + { + BER_Object obj = get_next_object(); + + if(obj.is_a(type_tag, class_tag)) + { + if((class_tag & CONSTRUCTED) && (class_tag & CONTEXT_SPECIFIC)) + { + BER_Decoder(std::move(obj)).decode(out).verify_end(); + } + else + { + push_back(std::move(obj)); + decode(out, type_tag, class_tag); + } + } + else + { + out = default_value; + push_back(std::move(obj)); + } + + return (*this); + } + +/* +* Decode an OPTIONAL or DEFAULT element +*/ +template +BER_Decoder& BER_Decoder::decode_optional_implicit( + T& out, + ASN1_Tag type_tag, + ASN1_Tag class_tag, + ASN1_Tag real_type, + ASN1_Tag real_class, + const T& default_value) + { + BER_Object obj = get_next_object(); + + if(obj.is_a(type_tag, class_tag)) + { + obj.set_tagging(real_type, real_class); + push_back(std::move(obj)); + decode(out, real_type, real_class); + } + else + { + // Not what we wanted, push it back on the stream + out = default_value; + push_back(std::move(obj)); + } + + return (*this); + } +/* +* Decode a list of homogenously typed values +*/ +template +BER_Decoder& BER_Decoder::decode_list(std::vector& vec, + ASN1_Tag type_tag, + ASN1_Tag class_tag) + { + BER_Decoder list = start_cons(type_tag, class_tag); + + while(list.more_items()) + { + T value; + list.decode(value); + vec.push_back(std::move(value)); + } + + list.end_cons(); + + return (*this); + } + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/bigint.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/bigint.h new file mode 100644 index 00000000..33e79d01 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/bigint.h @@ -0,0 +1,1153 @@ +/* +* BigInt +* (C) 1999-2008,2012,2018 Jack Lloyd +* 2007 FlexSecure +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_BIGINT_H_ +#define BOTAN_BIGINT_H_ + +#include +#include +#include +#include + +namespace Botan { + +class RandomNumberGenerator; + +/** +* Arbitrary precision integer +*/ +class BOTAN_PUBLIC_API(2,0) BigInt final + { + public: + /** + * Base enumerator for encoding and decoding + */ + enum Base { Decimal = 10, Hexadecimal = 16, Binary = 256 }; + + /** + * Sign symbol definitions for positive and negative numbers + */ + enum Sign { Negative = 0, Positive = 1 }; + + /** + * DivideByZero Exception + * + * In a future release this exception will be removed and its usage + * replaced by Invalid_Argument + */ + class BOTAN_PUBLIC_API(2,0) DivideByZero final : public Invalid_Argument + { + public: + DivideByZero() : Invalid_Argument("BigInt divide by zero") {} + }; + + /** + * Create empty BigInt + */ + BigInt() = default; + + /** + * Create BigInt from 64 bit integer + * @param n initial value of this BigInt + */ + BigInt(uint64_t n); + + /** + * Copy Constructor + * @param other the BigInt to copy + */ + BigInt(const BigInt& other) = default; + + /** + * Create BigInt from a string. If the string starts with 0x the + * rest of the string will be interpreted as hexadecimal digits. + * Otherwise, it will be interpreted as a decimal number. + * + * @param str the string to parse for an integer value + */ + explicit BigInt(const std::string& str); + + /** + * Create a BigInt from an integer in a byte array + * @param buf the byte array holding the value + * @param length size of buf + */ + BigInt(const uint8_t buf[], size_t length); + + /** + * Create a BigInt from an integer in a byte array + * @param vec the byte vector holding the value + */ + template + explicit BigInt(const std::vector& vec) : BigInt(vec.data(), vec.size()) {} + + /** + * Create a BigInt from an integer in a byte array + * @param buf the byte array holding the value + * @param length size of buf + * @param base is the number base of the integer in buf + */ + BigInt(const uint8_t buf[], size_t length, Base base); + + /** + * Create a BigInt from an integer in a byte array + * @param buf the byte array holding the value + * @param length size of buf + * @param max_bits if the resulting integer is more than max_bits, + * it will be shifted so it is at most max_bits in length. + */ + BigInt(const uint8_t buf[], size_t length, size_t max_bits); + + /** + * Create a BigInt from an array of words + * @param words the words + * @param length number of words + */ + BigInt(const word words[], size_t length); + + /** + * \brief Create a random BigInt of the specified size + * + * @param rng random number generator + * @param bits size in bits + * @param set_high_bit if true, the highest bit is always set + * + * @see randomize + */ + BigInt(RandomNumberGenerator& rng, size_t bits, bool set_high_bit = true); + + /** + * Create BigInt of specified size, all zeros + * @param sign the sign + * @param n size of the internal register in words + */ + BigInt(Sign sign, size_t n); + + /** + * Move constructor + */ + BigInt(BigInt&& other) + { + this->swap(other); + } + + ~BigInt() { const_time_unpoison(); } + + /** + * Move assignment + */ + BigInt& operator=(BigInt&& other) + { + if(this != &other) + this->swap(other); + + return (*this); + } + + /** + * Copy assignment + */ + BigInt& operator=(const BigInt&) = default; + + /** + * Swap this value with another + * @param other BigInt to swap values with + */ + void swap(BigInt& other) + { + m_data.swap(other.m_data); + std::swap(m_signedness, other.m_signedness); + } + + void swap_reg(secure_vector& reg) + { + m_data.swap(reg); + // sign left unchanged + } + + /** + * += operator + * @param y the BigInt to add to this + */ + BigInt& operator+=(const BigInt& y) + { + return add(y.data(), y.sig_words(), y.sign()); + } + + /** + * += operator + * @param y the word to add to this + */ + BigInt& operator+=(word y) + { + return add(&y, 1, Positive); + } + + /** + * -= operator + * @param y the BigInt to subtract from this + */ + BigInt& operator-=(const BigInt& y) + { + return sub(y.data(), y.sig_words(), y.sign()); + } + + /** + * -= operator + * @param y the word to subtract from this + */ + BigInt& operator-=(word y) + { + return sub(&y, 1, Positive); + } + + /** + * *= operator + * @param y the BigInt to multiply with this + */ + BigInt& operator*=(const BigInt& y); + + /** + * *= operator + * @param y the word to multiply with this + */ + BigInt& operator*=(word y); + + /** + * /= operator + * @param y the BigInt to divide this by + */ + BigInt& operator/=(const BigInt& y); + + /** + * Modulo operator + * @param y the modulus to reduce this by + */ + BigInt& operator%=(const BigInt& y); + + /** + * Modulo operator + * @param y the modulus (word) to reduce this by + */ + word operator%=(word y); + + /** + * Left shift operator + * @param shift the number of bits to shift this left by + */ + BigInt& operator<<=(size_t shift); + + /** + * Right shift operator + * @param shift the number of bits to shift this right by + */ + BigInt& operator>>=(size_t shift); + + /** + * Increment operator + */ + BigInt& operator++() { return (*this += 1); } + + /** + * Decrement operator + */ + BigInt& operator--() { return (*this -= 1); } + + /** + * Postfix increment operator + */ + BigInt operator++(int) { BigInt x = (*this); ++(*this); return x; } + + /** + * Postfix decrement operator + */ + BigInt operator--(int) { BigInt x = (*this); --(*this); return x; } + + /** + * Unary negation operator + * @return negative this + */ + BigInt operator-() const; + + /** + * ! operator + * @return true iff this is zero, otherwise false + */ + bool operator !() const { return (!is_nonzero()); } + + static BigInt add2(const BigInt& x, const word y[], size_t y_words, Sign y_sign); + + BigInt& add(const word y[], size_t y_words, Sign sign); + + BigInt& sub(const word y[], size_t y_words, Sign sign) + { + return add(y, y_words, sign == Positive ? Negative : Positive); + } + + /** + * Multiply this with y + * @param y the BigInt to multiply with this + * @param ws a temp workspace + */ + BigInt& mul(const BigInt& y, secure_vector& ws); + + /** + * Square value of *this + * @param ws a temp workspace + */ + BigInt& square(secure_vector& ws); + + /** + * Set *this to y - *this + * @param y the BigInt to subtract from as a sequence of words + * @param y_words length of y in words + * @param ws a temp workspace + */ + BigInt& rev_sub(const word y[], size_t y_words, secure_vector& ws); + + /** + * Set *this to (*this + y) % mod + * This function assumes *this is >= 0 && < mod + * @param y the BigInt to add - assumed y >= 0 and y < mod + * @param mod the positive modulus + * @param ws a temp workspace + */ + BigInt& mod_add(const BigInt& y, const BigInt& mod, secure_vector& ws); + + /** + * Set *this to (*this - y) % mod + * This function assumes *this is >= 0 && < mod + * @param y the BigInt to subtract - assumed y >= 0 and y < mod + * @param mod the positive modulus + * @param ws a temp workspace + */ + BigInt& mod_sub(const BigInt& y, const BigInt& mod, secure_vector& ws); + + /** + * Set *this to (*this * y) % mod + * This function assumes *this is >= 0 && < mod + * y should be small, less than 16 + * @param y the small integer to multiply by + * @param mod the positive modulus + * @param ws a temp workspace + */ + BigInt& mod_mul(uint8_t y, const BigInt& mod, secure_vector& ws); + + /** + * Return *this % mod + * + * Assumes that *this is (if anything) only slightly larger than + * mod and performs repeated subtractions. It should not be used if + * *this is much larger than mod, instead use modulo operator. + */ + size_t reduce_below(const BigInt& mod, secure_vector &ws); + + /** + * Return *this % mod + * + * Assumes that *this is (if anything) only slightly larger than mod and + * performs repeated subtractions. It should not be used if *this is much + * larger than mod, instead use modulo operator. + * + * Performs exactly bound subtractions, so if *this is >= bound*mod then the + * result will not be fully reduced. If bound is zero, nothing happens. + */ + void ct_reduce_below(const BigInt& mod, secure_vector &ws, size_t bound); + + /** + * Zeroize the BigInt. The size of the underlying register is not + * modified. + */ + void clear() { m_data.set_to_zero(); m_signedness = Positive; } + + /** + * Compare this to another BigInt + * @param n the BigInt value to compare with + * @param check_signs include sign in comparison? + * @result if (thisn) return 1, if both + * values are identical return 0 [like Perl's <=> operator] + */ + int32_t cmp(const BigInt& n, bool check_signs = true) const; + + /** + * Compare this to another BigInt + * @param n the BigInt value to compare with + * @result true if this == n or false otherwise + */ + bool is_equal(const BigInt& n) const; + + /** + * Compare this to another BigInt + * @param n the BigInt value to compare with + * @result true if this < n or false otherwise + */ + bool is_less_than(const BigInt& n) const; + + /** + * Compare this to an integer + * @param n the value to compare with + * @result if (thisn) return 1, if both + * values are identical return 0 [like Perl's <=> operator] + */ + int32_t cmp_word(word n) const; + + /** + * Test if the integer has an even value + * @result true if the integer is even, false otherwise + */ + bool is_even() const { return (get_bit(0) == 0); } + + /** + * Test if the integer has an odd value + * @result true if the integer is odd, false otherwise + */ + bool is_odd() const { return (get_bit(0) == 1); } + + /** + * Test if the integer is not zero + * @result true if the integer is non-zero, false otherwise + */ + bool is_nonzero() const { return (!is_zero()); } + + /** + * Test if the integer is zero + * @result true if the integer is zero, false otherwise + */ + bool is_zero() const + { + return (sig_words() == 0); + } + + /** + * Set bit at specified position + * @param n bit position to set + */ + void set_bit(size_t n) + { + conditionally_set_bit(n, true); + } + + /** + * Conditionally set bit at specified position. Note if set_it is + * false, nothing happens, and if the bit is already set, it + * remains set. + * + * @param n bit position to set + * @param set_it if the bit should be set + */ + void conditionally_set_bit(size_t n, bool set_it); + + /** + * Clear bit at specified position + * @param n bit position to clear + */ + void clear_bit(size_t n); + + /** + * Clear all but the lowest n bits + * @param n amount of bits to keep + */ + void mask_bits(size_t n) + { + m_data.mask_bits(n); + } + + /** + * Return bit value at specified position + * @param n the bit offset to test + * @result true, if the bit at position n is set, false otherwise + */ + bool get_bit(size_t n) const + { + return ((word_at(n / BOTAN_MP_WORD_BITS) >> (n % BOTAN_MP_WORD_BITS)) & 1); + } + + /** + * Return (a maximum of) 32 bits of the complete value + * @param offset the offset to start extracting + * @param length amount of bits to extract (starting at offset) + * @result the integer extracted from the register starting at + * offset with specified length + */ + uint32_t get_substring(size_t offset, size_t length) const; + + /** + * Convert this value into a uint32_t, if it is in the range + * [0 ... 2**32-1], or otherwise throw an exception. + * @result the value as a uint32_t if conversion is possible + */ + uint32_t to_u32bit() const; + + /** + * Convert this value to a decimal string. + * Warning: decimal conversions are relatively slow + */ + std::string to_dec_string() const; + + /** + * Convert this value to a hexadecimal string. + */ + std::string to_hex_string() const; + + /** + * @param n the offset to get a byte from + * @result byte at offset n + */ + uint8_t byte_at(size_t n) const; + + /** + * Return the word at a specified position of the internal register + * @param n position in the register + * @return value at position n + */ + word word_at(size_t n) const + { + return m_data.get_word_at(n); + } + + void set_word_at(size_t i, word w) + { + m_data.set_word_at(i, w); + } + + void set_words(const word w[], size_t len) + { + m_data.set_words(w, len); + } + + /** + * Tests if the sign of the integer is negative + * @result true, iff the integer has a negative sign + */ + bool is_negative() const { return (sign() == Negative); } + + /** + * Tests if the sign of the integer is positive + * @result true, iff the integer has a positive sign + */ + bool is_positive() const { return (sign() == Positive); } + + /** + * Return the sign of the integer + * @result the sign of the integer + */ + Sign sign() const { return (m_signedness); } + + /** + * @result the opposite sign of the represented integer value + */ + Sign reverse_sign() const + { + if(sign() == Positive) + return Negative; + return Positive; + } + + /** + * Flip the sign of this BigInt + */ + void flip_sign() + { + set_sign(reverse_sign()); + } + + /** + * Set sign of the integer + * @param sign new Sign to set + */ + void set_sign(Sign sign) + { + if(sign == Negative && is_zero()) + sign = Positive; + + m_signedness = sign; + } + + /** + * @result absolute (positive) value of this + */ + BigInt abs() const; + + /** + * Give size of internal register + * @result size of internal register in words + */ + size_t size() const { return m_data.size(); } + + /** + * Return how many words we need to hold this value + * @result significant words of the represented integer value + */ + size_t sig_words() const + { + return m_data.sig_words(); + } + + /** + * Give byte length of the integer + * @result byte length of the represented integer value + */ + size_t bytes() const; + + /** + * Get the bit length of the integer + * @result bit length of the represented integer value + */ + size_t bits() const; + + /** + * Get the number of high bits unset in the top (allocated) word + * of this integer. Returns BOTAN_MP_WORD_BITS only iff *this is + * zero. Ignores sign. + */ + size_t top_bits_free() const; + + /** + * Return a mutable pointer to the register + * @result a pointer to the start of the internal register + */ + word* mutable_data() { return m_data.mutable_data(); } + + /** + * Return a const pointer to the register + * @result a pointer to the start of the internal register + */ + const word* data() const { return m_data.const_data(); } + + /** + * Don't use this function in application code + */ + secure_vector& get_word_vector() { return m_data.mutable_vector(); } + + /** + * Don't use this function in application code + */ + const secure_vector& get_word_vector() const { return m_data.const_vector(); } + + /** + * Increase internal register buffer to at least n words + * @param n new size of register + */ + void grow_to(size_t n) const { m_data.grow_to(n); } + + /** + * Resize the vector to the minimum word size to hold the integer, or + * min_size words, whichever is larger + */ + void BOTAN_DEPRECATED("Use resize if required") shrink_to_fit(size_t min_size = 0) + { + m_data.shrink_to_fit(min_size); + } + + void resize(size_t s) { m_data.resize(s); } + + /** + * Fill BigInt with a random number with size of bitsize + * + * If \p set_high_bit is true, the highest bit will be set, which causes + * the entropy to be \a bits-1. Otherwise the highest bit is randomly chosen + * by the rng, causing the entropy to be \a bits. + * + * @param rng the random number generator to use + * @param bitsize number of bits the created random value should have + * @param set_high_bit if true, the highest bit is always set + */ + void randomize(RandomNumberGenerator& rng, size_t bitsize, bool set_high_bit = true); + + /** + * Store BigInt-value in a given byte array + * @param buf destination byte array for the integer value + */ + void binary_encode(uint8_t buf[]) const; + + /** + * Store BigInt-value in a given byte array. If len is less than + * the size of the value, then it will be truncated. If len is + * greater than the size of the value, it will be zero-padded. + * If len exactly equals this->bytes(), this function behaves identically + * to binary_encode. + * + * @param buf destination byte array for the integer value + * @param len how many bytes to write + */ + void binary_encode(uint8_t buf[], size_t len) const; + + /** + * Read integer value from a byte array with given size + * @param buf byte array buffer containing the integer + * @param length size of buf + */ + void binary_decode(const uint8_t buf[], size_t length); + + /** + * Read integer value from a byte vector + * @param buf the vector to load from + */ + template + void binary_decode(const std::vector& buf) + { + binary_decode(buf.data(), buf.size()); + } + + /** + * @param base the base to measure the size for + * @return size of this integer in base base + * + * Deprecated. This is only needed when using the `encode` and + * `encode_locked` functions, which are also deprecated. + */ + BOTAN_DEPRECATED("See comments on declaration") + size_t encoded_size(Base base = Binary) const; + + /** + * Place the value into out, zero-padding up to size words + * Throw if *this cannot be represented in size words + */ + void encode_words(word out[], size_t size) const; + + /** + * If predicate is true assign other to *this + * Uses a masked operation to avoid side channels + */ + void ct_cond_assign(bool predicate, const BigInt& other); + + /** + * If predicate is true swap *this and other + * Uses a masked operation to avoid side channels + */ + void ct_cond_swap(bool predicate, BigInt& other); + + /** + * If predicate is true add value to *this + */ + void ct_cond_add(bool predicate, const BigInt& value); + + /** + * If predicate is true flip the sign of *this + */ + void cond_flip_sign(bool predicate); + +#if defined(BOTAN_HAS_VALGRIND) + void const_time_poison() const; + void const_time_unpoison() const; +#else + void const_time_poison() const {} + void const_time_unpoison() const {} +#endif + + /** + * @param rng a random number generator + * @param min the minimum value (must be non-negative) + * @param max the maximum value (must be non-negative and > min) + * @return random integer in [min,max) + */ + static BigInt random_integer(RandomNumberGenerator& rng, + const BigInt& min, + const BigInt& max); + + /** + * Create a power of two + * @param n the power of two to create + * @return bigint representing 2^n + */ + static BigInt power_of_2(size_t n) + { + BigInt b; + b.set_bit(n); + return b; + } + + /** + * Encode the integer value from a BigInt to a std::vector of bytes + * @param n the BigInt to use as integer source + * @result secure_vector of bytes containing the bytes of the integer + */ + static std::vector encode(const BigInt& n) + { + std::vector output(n.bytes()); + n.binary_encode(output.data()); + return output; + } + + /** + * Encode the integer value from a BigInt to a secure_vector of bytes + * @param n the BigInt to use as integer source + * @result secure_vector of bytes containing the bytes of the integer + */ + static secure_vector encode_locked(const BigInt& n) + { + secure_vector output(n.bytes()); + n.binary_encode(output.data()); + return output; + } + + /** + * Encode the integer value from a BigInt to a byte array + * @param buf destination byte array for the encoded integer + * @param n the BigInt to use as integer source + */ + static BOTAN_DEPRECATED("Use n.binary_encode") void encode(uint8_t buf[], const BigInt& n) + { + n.binary_encode(buf); + } + + /** + * Create a BigInt from an integer in a byte array + * @param buf the binary value to load + * @param length size of buf + * @result BigInt representing the integer in the byte array + */ + static BigInt decode(const uint8_t buf[], size_t length) + { + return BigInt(buf, length); + } + + /** + * Create a BigInt from an integer in a byte array + * @param buf the binary value to load + * @result BigInt representing the integer in the byte array + */ + template + static BigInt decode(const std::vector& buf) + { + return BigInt(buf); + } + + /** + * Encode the integer value from a BigInt to a std::vector of bytes + * @param n the BigInt to use as integer source + * @param base number-base of resulting byte array representation + * @result secure_vector of bytes containing the integer with given base + * + * Deprecated. If you need Binary, call the version of encode that doesn't + * take a Base. If you need Hex or Decimal output, use to_hex_string or + * to_dec_string resp. + */ + BOTAN_DEPRECATED("See comments on declaration") + static std::vector encode(const BigInt& n, Base base); + + /** + * Encode the integer value from a BigInt to a secure_vector of bytes + * @param n the BigInt to use as integer source + * @param base number-base of resulting byte array representation + * @result secure_vector of bytes containing the integer with given base + * + * Deprecated. If you need Binary, call the version of encode_locked that + * doesn't take a Base. If you need Hex or Decimal output, use to_hex_string + * or to_dec_string resp. + */ + BOTAN_DEPRECATED("See comments on declaration") + static secure_vector encode_locked(const BigInt& n, + Base base); + + /** + * Encode the integer value from a BigInt to a byte array + * @param buf destination byte array for the encoded integer + * value with given base + * @param n the BigInt to use as integer source + * @param base number-base of resulting byte array representation + * + * Deprecated. If you need Binary, call binary_encode. If you need + * Hex or Decimal output, use to_hex_string or to_dec_string resp. + */ + BOTAN_DEPRECATED("See comments on declaration") + static void encode(uint8_t buf[], const BigInt& n, Base base); + + /** + * Create a BigInt from an integer in a byte array + * @param buf the binary value to load + * @param length size of buf + * @param base number-base of the integer in buf + * @result BigInt representing the integer in the byte array + */ + static BigInt decode(const uint8_t buf[], size_t length, + Base base); + + /** + * Create a BigInt from an integer in a byte array + * @param buf the binary value to load + * @param base number-base of the integer in buf + * @result BigInt representing the integer in the byte array + */ + template + static BigInt decode(const std::vector& buf, Base base) + { + if(base == Binary) + return BigInt(buf); + return BigInt::decode(buf.data(), buf.size(), base); + } + + /** + * Encode a BigInt to a byte array according to IEEE 1363 + * @param n the BigInt to encode + * @param bytes the length of the resulting secure_vector + * @result a secure_vector containing the encoded BigInt + */ + static secure_vector encode_1363(const BigInt& n, size_t bytes); + + static void encode_1363(uint8_t out[], size_t bytes, const BigInt& n); + + /** + * Encode two BigInt to a byte array according to IEEE 1363 + * @param n1 the first BigInt to encode + * @param n2 the second BigInt to encode + * @param bytes the length of the encoding of each single BigInt + * @result a secure_vector containing the concatenation of the two encoded BigInt + */ + static secure_vector encode_fixed_length_int_pair(const BigInt& n1, const BigInt& n2, size_t bytes); + + /** + * Set output = vec[idx].m_reg in constant time + * + * All elements of vec must have the same size, and output must be + * pre-allocated with the same size. + */ + static void BOTAN_DEPRECATED("No longer in use") const_time_lookup( + secure_vector& output, + const std::vector& vec, + size_t idx); + + private: + + class Data + { + public: + word* mutable_data() + { + invalidate_sig_words(); + return m_reg.data(); + } + + const word* const_data() const + { + return m_reg.data(); + } + + secure_vector& mutable_vector() + { + invalidate_sig_words(); + return m_reg; + } + + const secure_vector& const_vector() const + { + return m_reg; + } + + word get_word_at(size_t n) const + { + if(n < m_reg.size()) + return m_reg[n]; + return 0; + } + + void set_word_at(size_t i, word w) + { + invalidate_sig_words(); + if(i >= m_reg.size()) + { + if(w == 0) + return; + grow_to(i + 1); + } + m_reg[i] = w; + } + + void set_words(const word w[], size_t len) + { + invalidate_sig_words(); + m_reg.assign(w, w + len); + } + + void set_to_zero() + { + m_reg.resize(m_reg.capacity()); + clear_mem(m_reg.data(), m_reg.size()); + m_sig_words = 0; + } + + void set_size(size_t s) + { + invalidate_sig_words(); + clear_mem(m_reg.data(), m_reg.size()); + m_reg.resize(s + (8 - (s % 8))); + } + + void mask_bits(size_t n) + { + if(n == 0) { return set_to_zero(); } + + const size_t top_word = n / BOTAN_MP_WORD_BITS; + + // if(top_word < sig_words()) ? + if(top_word < size()) + { + const word mask = (static_cast(1) << (n % BOTAN_MP_WORD_BITS)) - 1; + const size_t len = size() - (top_word + 1); + if(len > 0) + { + clear_mem(&m_reg[top_word+1], len); + } + m_reg[top_word] &= mask; + invalidate_sig_words(); + } + } + + void grow_to(size_t n) const + { + if(n > size()) + { + if(n <= m_reg.capacity()) + m_reg.resize(n); + else + m_reg.resize(n + (8 - (n % 8))); + } + } + + size_t size() const { return m_reg.size(); } + + void shrink_to_fit(size_t min_size = 0) + { + const size_t words = std::max(min_size, sig_words()); + m_reg.resize(words); + } + + void resize(size_t s) + { + m_reg.resize(s); + } + + void swap(Data& other) + { + m_reg.swap(other.m_reg); + std::swap(m_sig_words, other.m_sig_words); + } + + void swap(secure_vector& reg) + { + m_reg.swap(reg); + invalidate_sig_words(); + } + + void invalidate_sig_words() const + { + m_sig_words = sig_words_npos; + } + + size_t sig_words() const + { + if(m_sig_words == sig_words_npos) + { + m_sig_words = calc_sig_words(); + } + else + { + BOTAN_DEBUG_ASSERT(m_sig_words == calc_sig_words()); + } + return m_sig_words; + } + private: + static const size_t sig_words_npos = static_cast(-1); + + size_t calc_sig_words() const; + + mutable secure_vector m_reg; + mutable size_t m_sig_words = sig_words_npos; + }; + + Data m_data; + Sign m_signedness = Positive; + }; + +/* +* Arithmetic Operators +*/ +inline BigInt operator+(const BigInt& x, const BigInt& y) + { + return BigInt::add2(x, y.data(), y.sig_words(), y.sign()); + } + +inline BigInt operator+(const BigInt& x, word y) + { + return BigInt::add2(x, &y, 1, BigInt::Positive); + } + +inline BigInt operator+(word x, const BigInt& y) + { + return y + x; + } + +inline BigInt operator-(const BigInt& x, const BigInt& y) + { + return BigInt::add2(x, y.data(), y.sig_words(), y.reverse_sign()); + } + +inline BigInt operator-(const BigInt& x, word y) + { + return BigInt::add2(x, &y, 1, BigInt::Negative); + } + +BigInt BOTAN_PUBLIC_API(2,0) operator*(const BigInt& x, const BigInt& y); +BigInt BOTAN_PUBLIC_API(2,8) operator*(const BigInt& x, word y); +inline BigInt operator*(word x, const BigInt& y) { return y*x; } + +BigInt BOTAN_PUBLIC_API(2,0) operator/(const BigInt& x, const BigInt& d); +BigInt BOTAN_PUBLIC_API(2,0) operator/(const BigInt& x, word m); +BigInt BOTAN_PUBLIC_API(2,0) operator%(const BigInt& x, const BigInt& m); +word BOTAN_PUBLIC_API(2,0) operator%(const BigInt& x, word m); +BigInt BOTAN_PUBLIC_API(2,0) operator<<(const BigInt& x, size_t n); +BigInt BOTAN_PUBLIC_API(2,0) operator>>(const BigInt& x, size_t n); + +/* +* Comparison Operators +*/ +inline bool operator==(const BigInt& a, const BigInt& b) + { return a.is_equal(b); } +inline bool operator!=(const BigInt& a, const BigInt& b) + { return !a.is_equal(b); } +inline bool operator<=(const BigInt& a, const BigInt& b) + { return (a.cmp(b) <= 0); } +inline bool operator>=(const BigInt& a, const BigInt& b) + { return (a.cmp(b) >= 0); } +inline bool operator<(const BigInt& a, const BigInt& b) + { return a.is_less_than(b); } +inline bool operator>(const BigInt& a, const BigInt& b) + { return b.is_less_than(a); } + +inline bool operator==(const BigInt& a, word b) + { return (a.cmp_word(b) == 0); } +inline bool operator!=(const BigInt& a, word b) + { return (a.cmp_word(b) != 0); } +inline bool operator<=(const BigInt& a, word b) + { return (a.cmp_word(b) <= 0); } +inline bool operator>=(const BigInt& a, word b) + { return (a.cmp_word(b) >= 0); } +inline bool operator<(const BigInt& a, word b) + { return (a.cmp_word(b) < 0); } +inline bool operator>(const BigInt& a, word b) + { return (a.cmp_word(b) > 0); } + +/* +* I/O Operators +*/ +BOTAN_PUBLIC_API(2,0) std::ostream& operator<<(std::ostream&, const BigInt&); +BOTAN_PUBLIC_API(2,0) std::istream& operator>>(std::istream&, BigInt&); + +} + +namespace std { + +template<> +inline void swap(Botan::BigInt& x, Botan::BigInt& y) + { + x.swap(y); + } + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/blake2b.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/blake2b.h new file mode 100644 index 00000000..9b0b655f --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/blake2b.h @@ -0,0 +1,60 @@ +/* +* BLAKE2b +* (C) 2016 cynecx +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_BLAKE2B_H_ +#define BOTAN_BLAKE2B_H_ + +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(blake2b.h) + +namespace Botan { + +/** +* BLAKE2B +*/ +class BOTAN_PUBLIC_API(2,0) BLAKE2b final : public HashFunction + { + public: + /** + * @param output_bits the output size of BLAKE2b in bits + */ + explicit BLAKE2b(size_t output_bits = 512); + + size_t hash_block_size() const override { return 128; } + size_t output_length() const override { return m_output_bits / 8; } + + HashFunction* clone() const override; + std::string name() const override; + void clear() override; + + std::unique_ptr copy_state() const override; + + private: + void add_data(const uint8_t input[], size_t length) override; + void final_result(uint8_t out[]) override; + + void state_init(); + void compress(const uint8_t* data, size_t blocks, uint64_t increment); + + const size_t m_output_bits; + + secure_vector m_buffer; + size_t m_bufpos; + + secure_vector m_H; + uint64_t m_T[2]; + uint64_t m_F[2]; + }; + +typedef BLAKE2b Blake2b; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/blinding.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/blinding.h new file mode 100644 index 00000000..988a41a3 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/blinding.h @@ -0,0 +1,80 @@ +/* +* Blinding for public key operations +* (C) 1999-2010,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_BLINDER_H_ +#define BOTAN_BLINDER_H_ + +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(blinding.h) + +namespace Botan { + +class RandomNumberGenerator; + +/** +* Blinding Function Object. +*/ +class BOTAN_PUBLIC_API(2,0) Blinder final + { + public: + /** + * Blind a value. + * The blinding nonce k is freshly generated after + * BOTAN_BLINDING_REINIT_INTERVAL calls to blind(). + * BOTAN_BLINDING_REINIT_INTERVAL = 0 means a fresh + * nonce is only generated once. On every other call, + * an updated nonce is used for blinding: k' = k*k mod n. + * @param x value to blind + * @return blinded value + */ + BigInt blind(const BigInt& x) const; + + /** + * Unblind a value. + * @param x value to unblind + * @return unblinded value + */ + BigInt unblind(const BigInt& x) const; + + /** + * @param modulus the modulus + * @param rng the RNG to use for generating the nonce + * @param fwd_func a function that calculates the modular + * exponentiation of the public exponent and the given value (the nonce) + * @param inv_func a function that calculates the modular inverse + * of the given value (the nonce) + */ + Blinder(const BigInt& modulus, + RandomNumberGenerator& rng, + std::function fwd_func, + std::function inv_func); + + Blinder(const Blinder&) = delete; + + Blinder& operator=(const Blinder&) = delete; + + RandomNumberGenerator& rng() const { return m_rng; } + + private: + BigInt blinding_nonce() const; + + Modular_Reducer m_reducer; + RandomNumberGenerator& m_rng; + std::function m_fwd_fn; + std::function m_inv_fn; + size_t m_modulus_bits = 0; + + mutable BigInt m_e, m_d; + mutable size_t m_counter = 0; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/block_cipher.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/block_cipher.h new file mode 100644 index 00000000..68cdd1af --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/block_cipher.h @@ -0,0 +1,254 @@ +/* +* Block Cipher Base Class +* (C) 1999-2009 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_BLOCK_CIPHER_H_ +#define BOTAN_BLOCK_CIPHER_H_ + +#include +#include +#include +#include + +namespace Botan { + +/** +* This class represents a block cipher object. +*/ +class BOTAN_PUBLIC_API(2,0) BlockCipher : public SymmetricAlgorithm + { + public: + + /** + * Create an instance based on a name + * If provider is empty then best available is chosen. + * @param algo_spec algorithm name + * @param provider provider implementation to choose + * @return a null pointer if the algo/provider combination cannot be found + */ + static std::unique_ptr + create(const std::string& algo_spec, + const std::string& provider = ""); + + /** + * Create an instance based on a name, or throw if the + * algo/provider combination cannot be found. If provider is + * empty then best available is chosen. + */ + static std::unique_ptr + create_or_throw(const std::string& algo_spec, + const std::string& provider = ""); + + /** + * @return list of available providers for this algorithm, empty if not available + * @param algo_spec algorithm name + */ + static std::vector providers(const std::string& algo_spec); + + /** + * @return block size of this algorithm + */ + virtual size_t block_size() const = 0; + + /** + * @return native parallelism of this cipher in blocks + */ + virtual size_t parallelism() const { return 1; } + + /** + * @return prefererred parallelism of this cipher in bytes + */ + size_t parallel_bytes() const + { + return parallelism() * block_size() * BOTAN_BLOCK_CIPHER_PAR_MULT; + } + + /** + * @return provider information about this implementation. Default is "base", + * might also return "sse2", "avx2", "openssl", or some other arbitrary string. + */ + virtual std::string provider() const { return "base"; } + + /** + * Encrypt a block. + * @param in The plaintext block to be encrypted as a byte array. + * Must be of length block_size(). + * @param out The byte array designated to hold the encrypted block. + * Must be of length block_size(). + */ + void encrypt(const uint8_t in[], uint8_t out[]) const + { encrypt_n(in, out, 1); } + + /** + * Decrypt a block. + * @param in The ciphertext block to be decypted as a byte array. + * Must be of length block_size(). + * @param out The byte array designated to hold the decrypted block. + * Must be of length block_size(). + */ + void decrypt(const uint8_t in[], uint8_t out[]) const + { decrypt_n(in, out, 1); } + + /** + * Encrypt a block. + * @param block the plaintext block to be encrypted + * Must be of length block_size(). Will hold the result when the function + * has finished. + */ + void encrypt(uint8_t block[]) const { encrypt_n(block, block, 1); } + + /** + * Decrypt a block. + * @param block the ciphertext block to be decrypted + * Must be of length block_size(). Will hold the result when the function + * has finished. + */ + void decrypt(uint8_t block[]) const { decrypt_n(block, block, 1); } + + /** + * Encrypt one or more blocks + * @param block the input/output buffer (multiple of block_size()) + */ + template + void encrypt(std::vector& block) const + { + return encrypt_n(block.data(), block.data(), block.size() / block_size()); + } + + /** + * Decrypt one or more blocks + * @param block the input/output buffer (multiple of block_size()) + */ + template + void decrypt(std::vector& block) const + { + return decrypt_n(block.data(), block.data(), block.size() / block_size()); + } + + /** + * Encrypt one or more blocks + * @param in the input buffer (multiple of block_size()) + * @param out the output buffer (same size as in) + */ + template + void encrypt(const std::vector& in, + std::vector& out) const + { + return encrypt_n(in.data(), out.data(), in.size() / block_size()); + } + + /** + * Decrypt one or more blocks + * @param in the input buffer (multiple of block_size()) + * @param out the output buffer (same size as in) + */ + template + void decrypt(const std::vector& in, + std::vector& out) const + { + return decrypt_n(in.data(), out.data(), in.size() / block_size()); + } + + /** + * Encrypt one or more blocks + * @param in the input buffer (multiple of block_size()) + * @param out the output buffer (same size as in) + * @param blocks the number of blocks to process + */ + virtual void encrypt_n(const uint8_t in[], uint8_t out[], + size_t blocks) const = 0; + + /** + * Decrypt one or more blocks + * @param in the input buffer (multiple of block_size()) + * @param out the output buffer (same size as in) + * @param blocks the number of blocks to process + */ + virtual void decrypt_n(const uint8_t in[], uint8_t out[], + size_t blocks) const = 0; + + virtual void encrypt_n_xex(uint8_t data[], + const uint8_t mask[], + size_t blocks) const + { + const size_t BS = block_size(); + xor_buf(data, mask, blocks * BS); + encrypt_n(data, data, blocks); + xor_buf(data, mask, blocks * BS); + } + + virtual void decrypt_n_xex(uint8_t data[], + const uint8_t mask[], + size_t blocks) const + { + const size_t BS = block_size(); + xor_buf(data, mask, blocks * BS); + decrypt_n(data, data, blocks); + xor_buf(data, mask, blocks * BS); + } + + /** + * @return new object representing the same algorithm as *this + */ + virtual BlockCipher* clone() const = 0; + + virtual ~BlockCipher() = default; + }; + +/** +* Tweakable block ciphers allow setting a tweak which is a non-keyed +* value which affects the encryption/decryption operation. +*/ +class BOTAN_PUBLIC_API(2,8) Tweakable_Block_Cipher : public BlockCipher + { + public: + /** + * Set the tweak value. This must be called after setting a key. The value + * persists until either set_tweak, set_key, or clear is called. + * Different algorithms support different tweak length(s). If called with + * an unsupported length, Invalid_Argument will be thrown. + */ + virtual void set_tweak(const uint8_t tweak[], size_t len) = 0; + }; + +/** +* Represents a block cipher with a single fixed block size +*/ +template +class Block_Cipher_Fixed_Params : public BaseClass + { + public: + enum { BLOCK_SIZE = BS }; + size_t block_size() const final override { return BS; } + + // override to take advantage of compile time constant block size + void encrypt_n_xex(uint8_t data[], + const uint8_t mask[], + size_t blocks) const final override + { + xor_buf(data, mask, blocks * BS); + this->encrypt_n(data, data, blocks); + xor_buf(data, mask, blocks * BS); + } + + void decrypt_n_xex(uint8_t data[], + const uint8_t mask[], + size_t blocks) const final override + { + xor_buf(data, mask, blocks * BS); + this->decrypt_n(data, data, blocks); + xor_buf(data, mask, blocks * BS); + } + + Key_Length_Specification key_spec() const final override + { + return Key_Length_Specification(KMIN, KMAX, KMOD); + } + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/blowfish.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/blowfish.h new file mode 100644 index 00000000..3ba39cbd --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/blowfish.h @@ -0,0 +1,62 @@ +/* +* Blowfish +* (C) 1999-2011 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_BLOWFISH_H_ +#define BOTAN_BLOWFISH_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(blowfish.h) + +namespace Botan { + +/** +* Blowfish +*/ +class BOTAN_PUBLIC_API(2,0) Blowfish final : public Block_Cipher_Fixed_Params<8, 1, 56> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + /** + * Modified EKSBlowfish key schedule, used for bcrypt password hashing + */ + void salted_set_key(const uint8_t key[], size_t key_length, + const uint8_t salt[], size_t salt_length, + const size_t workfactor, bool salt_first = false); + + BOTAN_DEPRECATED("Use Blowfish::salted_set_key taking salt length") + void eks_key_schedule(const uint8_t key[], size_t key_length, + const uint8_t salt[16], size_t workfactor) + { + salted_set_key(key, key_length, salt, 16, workfactor); + } + + void clear() override; + std::string name() const override { return "Blowfish"; } + BlockCipher* clone() const override { return new Blowfish; } + private: + void key_schedule(const uint8_t key[], size_t length) override; + + void key_expansion(const uint8_t key[], + size_t key_length, + const uint8_t salt[], + size_t salt_length); + + void generate_sbox(secure_vector& box, + uint32_t& L, uint32_t& R, + const uint8_t salt[], + size_t salt_length, + size_t salt_off) const; + + secure_vector m_S, m_P; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/botan.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/botan.h new file mode 100644 index 00000000..a473e8fb --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/botan.h @@ -0,0 +1,41 @@ +/* +* A vague catch all include file for Botan +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_BOTAN_H_ +#define BOTAN_BOTAN_H_ + +/* +* There is no real reason for this header to exist beyond historical +* reasons. The application should instead include the specific header +* files that define the interfaces it intends to use. +* +* This header file will be removed in Botan 3.x +*/ + +#include +#include +#include +#include +#include +#include + +#if defined(BOTAN_HAS_AUTO_SEEDING_RNG) + #include +#endif + +#if defined(BOTAN_HAS_FILTERS) + #include +#endif + +#if defined(BOTAN_HAS_PUBLIC_KEY_CRYPTO) + #include + #include +#endif + +BOTAN_DEPRECATED_HEADER(botan.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/bswap.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/bswap.h new file mode 100644 index 00000000..584fa332 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/bswap.h @@ -0,0 +1,108 @@ +/* +* Byte Swapping Operations +* (C) 1999-2011,2018 Jack Lloyd +* (C) 2007 Yves Jerschow +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_BYTE_SWAP_H_ +#define BOTAN_BYTE_SWAP_H_ + +#include + +#if defined(BOTAN_BUILD_COMPILER_IS_MSVC) + #include +#endif + +BOTAN_FUTURE_INTERNAL_HEADER(bswap.h) + +namespace Botan { + +/** +* Swap a 16 bit integer +*/ +inline uint16_t reverse_bytes(uint16_t val) + { +#if defined(BOTAN_BUILD_COMPILER_IS_GCC) || defined(BOTAN_BUILD_COMPILER_IS_CLANG) || defined(BOTAN_BUILD_COMPILER_IS_XLC) + return __builtin_bswap16(val); +#else + return static_cast((val << 8) | (val >> 8)); +#endif + } + +/** +* Swap a 32 bit integer +*/ +inline uint32_t reverse_bytes(uint32_t val) + { +#if defined(BOTAN_BUILD_COMPILER_IS_GCC) || defined(BOTAN_BUILD_COMPILER_IS_CLANG) || defined(BOTAN_BUILD_COMPILER_IS_XLC) + return __builtin_bswap32(val); + +#elif defined(BOTAN_BUILD_COMPILER_IS_MSVC) + return _byteswap_ulong(val); + +#elif defined(BOTAN_USE_GCC_INLINE_ASM) && defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) + + // GCC-style inline assembly for x86 or x86-64 + asm("bswapl %0" : "=r" (val) : "0" (val)); + return val; + +#else + // Generic implementation + uint16_t hi = static_cast(val >> 16); + uint16_t lo = static_cast(val); + + hi = reverse_bytes(hi); + lo = reverse_bytes(lo); + + return (static_cast(lo) << 16) | hi; +#endif + } + +/** +* Swap a 64 bit integer +*/ +inline uint64_t reverse_bytes(uint64_t val) + { +#if defined(BOTAN_BUILD_COMPILER_IS_GCC) || defined(BOTAN_BUILD_COMPILER_IS_CLANG) || defined(BOTAN_BUILD_COMPILER_IS_XLC) + return __builtin_bswap64(val); + +#elif defined(BOTAN_BUILD_COMPILER_IS_MSVC) + return _byteswap_uint64(val); + +#elif defined(BOTAN_USE_GCC_INLINE_ASM) && defined(BOTAN_TARGET_ARCH_IS_X86_64) + // GCC-style inline assembly for x86-64 + asm("bswapq %0" : "=r" (val) : "0" (val)); + return val; + +#else + /* Generic implementation. Defined in terms of 32-bit bswap so any + * optimizations in that version can help. + */ + + uint32_t hi = static_cast(val >> 32); + uint32_t lo = static_cast(val); + + hi = reverse_bytes(hi); + lo = reverse_bytes(lo); + + return (static_cast(lo) << 32) | hi; +#endif + } + +/** +* Swap 4 Ts in an array +*/ +template +inline void bswap_4(T x[4]) + { + x[0] = reverse_bytes(x[0]); + x[1] = reverse_bytes(x[1]); + x[2] = reverse_bytes(x[2]); + x[3] = reverse_bytes(x[3]); + } + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/buf_comp.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/buf_comp.h new file mode 100644 index 00000000..31bf4852 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/buf_comp.h @@ -0,0 +1,178 @@ +/* +* Buffered Computation +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_BUFFERED_COMPUTATION_H_ +#define BOTAN_BUFFERED_COMPUTATION_H_ + +#include +#include + +namespace Botan { + +/** +* This class represents any kind of computation which uses an internal +* state, such as hash functions or MACs +*/ +class BOTAN_PUBLIC_API(2,0) Buffered_Computation + { + public: + /** + * @return length of the output of this function in bytes + */ + virtual size_t output_length() const = 0; + + /** + * Add new input to process. + * @param in the input to process as a byte array + * @param length of param in in bytes + */ + void update(const uint8_t in[], size_t length) { add_data(in, length); } + + /** + * Add new input to process. + * @param in the input to process as a secure_vector + */ + void update(const secure_vector& in) + { + add_data(in.data(), in.size()); + } + + /** + * Add new input to process. + * @param in the input to process as a std::vector + */ + void update(const std::vector& in) + { + add_data(in.data(), in.size()); + } + + void update_be(uint16_t val); + void update_be(uint32_t val); + void update_be(uint64_t val); + + void update_le(uint16_t val); + void update_le(uint32_t val); + void update_le(uint64_t val); + + /** + * Add new input to process. + * @param str the input to process as a std::string. Will be interpreted + * as a byte array based on the strings encoding. + */ + void update(const std::string& str) + { + add_data(cast_char_ptr_to_uint8(str.data()), str.size()); + } + + /** + * Process a single byte. + * @param in the byte to process + */ + void update(uint8_t in) { add_data(&in, 1); } + + /** + * Complete the computation and retrieve the + * final result. + * @param out The byte array to be filled with the result. + * Must be of length output_length() + */ + void final(uint8_t out[]) { final_result(out); } + + /** + * Complete the computation and retrieve the + * final result. + * @return secure_vector holding the result + */ + secure_vector final() + { + secure_vector output(output_length()); + final_result(output.data()); + return output; + } + + std::vector final_stdvec() + { + std::vector output(output_length()); + final_result(output.data()); + return output; + } + + template + void final(std::vector& out) + { + out.resize(output_length()); + final_result(out.data()); + } + + /** + * Update and finalize computation. Does the same as calling update() + * and final() consecutively. + * @param in the input to process as a byte array + * @param length the length of the byte array + * @result the result of the call to final() + */ + secure_vector process(const uint8_t in[], size_t length) + { + add_data(in, length); + return final(); + } + + /** + * Update and finalize computation. Does the same as calling update() + * and final() consecutively. + * @param in the input to process + * @result the result of the call to final() + */ + secure_vector process(const secure_vector& in) + { + add_data(in.data(), in.size()); + return final(); + } + + /** + * Update and finalize computation. Does the same as calling update() + * and final() consecutively. + * @param in the input to process + * @result the result of the call to final() + */ + secure_vector process(const std::vector& in) + { + add_data(in.data(), in.size()); + return final(); + } + + /** + * Update and finalize computation. Does the same as calling update() + * and final() consecutively. + * @param in the input to process as a string + * @result the result of the call to final() + */ + secure_vector process(const std::string& in) + { + update(in); + return final(); + } + + virtual ~Buffered_Computation() = default; + private: + /** + * Add more data to the computation + * @param input is an input buffer + * @param length is the length of input in bytes + */ + virtual void add_data(const uint8_t input[], size_t length) = 0; + + /** + * Write the final output to out + * @param out is an output buffer of output_length() + */ + virtual void final_result(uint8_t out[]) = 0; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/buf_filt.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/buf_filt.h new file mode 100644 index 00000000..1f9ed3ef --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/buf_filt.h @@ -0,0 +1,14 @@ +/* +* Buffered Filter +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_BUFFERED_FILTER_H_ +#define BOTAN_BUFFERED_FILTER_H_ + +#include +BOTAN_DEPRECATED_HEADER(buf_filt.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/build.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/build.h new file mode 100644 index 00000000..79499c79 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/build.h @@ -0,0 +1,471 @@ +#ifndef BOTAN_BUILD_CONFIG_H_ +#define BOTAN_BUILD_CONFIG_H_ + +/* +* Build configuration for Botan 2.18.1 +* +* Automatically generated from +* 'configure.py --prefix=../botan-release' +* +* Target +* - Compiler: clang++ -fstack-protector -m64 -pthread -stdlib=libc++ -std=c++11 -D_REENTRANT -O3 +* - Arch: x86_64 +* - OS: macos +*/ + +#define BOTAN_VERSION_MAJOR 2 +#define BOTAN_VERSION_MINOR 18 +#define BOTAN_VERSION_PATCH 1 +#define BOTAN_VERSION_DATESTAMP 0 + + +#define BOTAN_VERSION_RELEASE_TYPE "unreleased" + +#define BOTAN_VERSION_VC_REVISION "unknown" + +#define BOTAN_DISTRIBUTION_INFO "unspecified" + +/* How many bits per limb in a BigInt */ +#define BOTAN_MP_WORD_BITS 64 + + +#define BOTAN_INSTALL_PREFIX R"(../botan-release)" +#define BOTAN_INSTALL_HEADER_DIR R"(include/botan-2)" +#define BOTAN_INSTALL_LIB_DIR R"(../botan-release/lib)" +#define BOTAN_LIB_LINK "-ldl -framework CoreFoundation -framework Security" +#define BOTAN_LINK_FLAGS "-fstack-protector -m64 -pthread -stdlib=libc++" + +#define BOTAN_SYSTEM_CERT_BUNDLE "/etc/ssl/cert.pem" + +#ifndef BOTAN_DLL + #define BOTAN_DLL __attribute__((visibility("default"))) +#endif + +/* Target identification and feature test macros */ + +#define BOTAN_TARGET_OS_IS_MACOS + +#define BOTAN_TARGET_OS_HAS_APPLE_KEYCHAIN +#define BOTAN_TARGET_OS_HAS_ARC4RANDOM +#define BOTAN_TARGET_OS_HAS_ATOMICS +#define BOTAN_TARGET_OS_HAS_CLOCK_GETTIME +#define BOTAN_TARGET_OS_HAS_COMMONCRYPTO +#define BOTAN_TARGET_OS_HAS_DEV_RANDOM +#define BOTAN_TARGET_OS_HAS_FILESYSTEM +#define BOTAN_TARGET_OS_HAS_GETENTROPY +#define BOTAN_TARGET_OS_HAS_POSIX1 +#define BOTAN_TARGET_OS_HAS_POSIX_MLOCK +#define BOTAN_TARGET_OS_HAS_SOCKETS +#define BOTAN_TARGET_OS_HAS_THREAD_LOCAL +#define BOTAN_TARGET_OS_HAS_THREADS + + +#define BOTAN_BUILD_COMPILER_IS_CLANG + + + + +#define BOTAN_TARGET_ARCH_IS_X86_64 +#define BOTAN_TARGET_CPU_IS_LITTLE_ENDIAN +#define BOTAN_TARGET_CPU_IS_X86_FAMILY +#define BOTAN_TARGET_CPU_HAS_NATIVE_64BIT + +#define BOTAN_TARGET_SUPPORTS_AESNI +#define BOTAN_TARGET_SUPPORTS_AVX2 +#define BOTAN_TARGET_SUPPORTS_BMI2 +#define BOTAN_TARGET_SUPPORTS_RDRAND +#define BOTAN_TARGET_SUPPORTS_RDSEED +#define BOTAN_TARGET_SUPPORTS_SHA +#define BOTAN_TARGET_SUPPORTS_SSE2 +#define BOTAN_TARGET_SUPPORTS_SSE41 +#define BOTAN_TARGET_SUPPORTS_SSE42 +#define BOTAN_TARGET_SUPPORTS_SSSE3 + + + + + + +/* +* Module availability definitions +*/ +#define BOTAN_HAS_ADLER32 20131128 +#define BOTAN_HAS_AEAD_CCM 20131128 +#define BOTAN_HAS_AEAD_CHACHA20_POLY1305 20180807 +#define BOTAN_HAS_AEAD_EAX 20131128 +#define BOTAN_HAS_AEAD_GCM 20131128 +#define BOTAN_HAS_AEAD_MODES 20131128 +#define BOTAN_HAS_AEAD_OCB 20131128 +#define BOTAN_HAS_AEAD_SIV 20131202 +#define BOTAN_HAS_AES 20131128 +#define BOTAN_HAS_AES_NI 20131128 +#define BOTAN_HAS_AES_VPERM 20190901 +#define BOTAN_HAS_ANSI_X919_MAC 20131128 +#define BOTAN_HAS_ARGON2 20190824 +#define BOTAN_HAS_ARIA 20170415 +#define BOTAN_HAS_ASN1 20171109 +#define BOTAN_HAS_AUTO_RNG 20161126 +#define BOTAN_HAS_AUTO_SEEDING_RNG 20160821 +#define BOTAN_HAS_BASE32_CODEC 20180418 +#define BOTAN_HAS_BASE58_CODEC 20181209 +#define BOTAN_HAS_BASE64_CODEC 20131128 +#define BOTAN_HAS_BCRYPT 20131128 +#define BOTAN_HAS_BIGINT 20131128 +#define BOTAN_HAS_BIGINT_MP 20151225 +#define BOTAN_HAS_BLAKE2B 20130131 +#define BOTAN_HAS_BLOCK_CIPHER 20131128 +#define BOTAN_HAS_BLOWFISH 20180718 +#define BOTAN_HAS_CAMELLIA 20150922 +#define BOTAN_HAS_CASCADE 20131128 +#define BOTAN_HAS_CAST 20131128 +#define BOTAN_HAS_CAST_128 20171203 +#define BOTAN_HAS_CAST_256 20171203 +#define BOTAN_HAS_CBC_MAC 20131128 +#define BOTAN_HAS_CECPQ1 20161116 +#define BOTAN_HAS_CERTSTOR_FLATFILE 20190410 +#define BOTAN_HAS_CERTSTOR_MACOS 20190207 +#define BOTAN_HAS_CERTSTOR_SQL 20160818 +#define BOTAN_HAS_CERTSTOR_SYSTEM 20190411 +#define BOTAN_HAS_CHACHA 20180807 +#define BOTAN_HAS_CHACHA_AVX2 20180418 +#define BOTAN_HAS_CHACHA_RNG 20170728 +#define BOTAN_HAS_CHACHA_SIMD32 20181104 +#define BOTAN_HAS_CIPHER_MODES 20180124 +#define BOTAN_HAS_CIPHER_MODE_PADDING 20131128 +#define BOTAN_HAS_CMAC 20131128 +#define BOTAN_HAS_CODEC_FILTERS 20131128 +#define BOTAN_HAS_COMB4P 20131128 +#define BOTAN_HAS_CPUID 20170917 +#define BOTAN_HAS_CRC24 20131128 +#define BOTAN_HAS_CRC32 20131128 +#define BOTAN_HAS_CRYPTO_BOX 20131128 +#define BOTAN_HAS_CTR_BE 20131128 +#define BOTAN_HAS_CURVE_25519 20170621 +#define BOTAN_HAS_DES 20131128 +#define BOTAN_HAS_DIFFIE_HELLMAN 20131128 +#define BOTAN_HAS_DLIES 20160713 +#define BOTAN_HAS_DL_GROUP 20131128 +#define BOTAN_HAS_DL_PUBLIC_KEY_FAMILY 20131128 +#define BOTAN_HAS_DSA 20131128 +#define BOTAN_HAS_DYNAMIC_LOADER 20160310 +#define BOTAN_HAS_ECC_GROUP 20170225 +#define BOTAN_HAS_ECC_KEY 20190801 +#define BOTAN_HAS_ECC_PUBLIC_KEY_CRYPTO 20131128 +#define BOTAN_HAS_ECDH 20131128 +#define BOTAN_HAS_ECDSA 20131128 +#define BOTAN_HAS_ECGDSA 20160301 +#define BOTAN_HAS_ECIES 20160128 +#define BOTAN_HAS_ECKCDSA 20160413 +#define BOTAN_HAS_EC_CURVE_GFP 20131128 +#define BOTAN_HAS_ED25519 20170607 +#define BOTAN_HAS_ELGAMAL 20131128 +#define BOTAN_HAS_EME_OAEP 20180305 +#define BOTAN_HAS_EME_PKCS1 20190426 +#define BOTAN_HAS_EME_PKCS1v15 20131128 +#define BOTAN_HAS_EME_RAW 20150313 +#define BOTAN_HAS_EMSA1 20131128 +#define BOTAN_HAS_EMSA_PKCS1 20140118 +#define BOTAN_HAS_EMSA_PSSR 20131128 +#define BOTAN_HAS_EMSA_RAW 20131128 +#define BOTAN_HAS_EMSA_X931 20140118 +#define BOTAN_HAS_ENTROPY_SOURCE 20151120 +#define BOTAN_HAS_ENTROPY_SRC_DEV_RANDOM 20131128 +#define BOTAN_HAS_ENTROPY_SRC_GETENTROPY 20170327 +#define BOTAN_HAS_ENTROPY_SRC_RDSEED 20151218 +#define BOTAN_HAS_FFI 20210220 +#define BOTAN_HAS_FILTERS 20160415 +#define BOTAN_HAS_FPE_FE1 20131128 +#define BOTAN_HAS_GHASH 20201002 +#define BOTAN_HAS_GHASH_CLMUL_CPU 20201002 +#define BOTAN_HAS_GHASH_CLMUL_VPERM 20201002 +#define BOTAN_HAS_GMAC 20160207 +#define BOTAN_HAS_GOST_28147_89 20131128 +#define BOTAN_HAS_GOST_34_10_2001 20131128 +#define BOTAN_HAS_GOST_34_10_2012 20190801 +#define BOTAN_HAS_GOST_34_11 20131128 +#define BOTAN_HAS_HASH 20180112 +#define BOTAN_HAS_HASH_ID 20131128 +#define BOTAN_HAS_HEX_CODEC 20131128 +#define BOTAN_HAS_HKDF 20170927 +#define BOTAN_HAS_HMAC 20131128 +#define BOTAN_HAS_HMAC_DRBG 20140319 +#define BOTAN_HAS_HOTP 20180816 +#define BOTAN_HAS_HTTP_UTIL 20171003 +#define BOTAN_HAS_IDEA 20131128 +#define BOTAN_HAS_IDEA_SSE2 20131128 +#define BOTAN_HAS_ISO_9796 20161121 +#define BOTAN_HAS_KASUMI 20131128 +#define BOTAN_HAS_KDF1 20131128 +#define BOTAN_HAS_KDF1_18033 20160128 +#define BOTAN_HAS_KDF2 20131128 +#define BOTAN_HAS_KDF_BASE 20131128 +#define BOTAN_HAS_KECCAK 20131128 +#define BOTAN_HAS_KEYPAIR_TESTING 20131128 +#define BOTAN_HAS_LION 20131128 +#define BOTAN_HAS_LOCKING_ALLOCATOR 20131128 +#define BOTAN_HAS_MAC 20150626 +#define BOTAN_HAS_MCEIES 20150706 +#define BOTAN_HAS_MCELIECE 20150922 +#define BOTAN_HAS_MD4 20131128 +#define BOTAN_HAS_MD5 20131128 +#define BOTAN_HAS_MDX_HASH_FUNCTION 20131128 +#define BOTAN_HAS_MEM_POOL 20180309 +#define BOTAN_HAS_MGF1 20140118 +#define BOTAN_HAS_MISTY1 20131128 +#define BOTAN_HAS_MODES 20150626 +#define BOTAN_HAS_MODE_CBC 20131128 +#define BOTAN_HAS_MODE_CFB 20131128 +#define BOTAN_HAS_MODE_XTS 20131128 +#define BOTAN_HAS_NEWHOPE 20161018 +#define BOTAN_HAS_NIST_KEYWRAP 20171119 +#define BOTAN_HAS_NOEKEON 20131128 +#define BOTAN_HAS_NOEKEON_SIMD 20160903 +#define BOTAN_HAS_NUMBERTHEORY 20131128 +#define BOTAN_HAS_OCSP 20161118 +#define BOTAN_HAS_OFB 20131128 +#define BOTAN_HAS_PACKAGE_TRANSFORM 20131128 +#define BOTAN_HAS_PARALLEL_HASH 20131128 +#define BOTAN_HAS_PASSHASH9 20131128 +#define BOTAN_HAS_PBKDF 20180902 +#define BOTAN_HAS_PBKDF1 20131128 +#define BOTAN_HAS_PBKDF2 20180902 +#define BOTAN_HAS_PBKDF_BCRYPT 20190531 +#define BOTAN_HAS_PEM_CODEC 20131128 +#define BOTAN_HAS_PGP_S2K 20170527 +#define BOTAN_HAS_PIPE_UNIXFD_IO 20131128 +#define BOTAN_HAS_PKCS11 20160219 +#define BOTAN_HAS_PKCS5_PBES2 20141119 +#define BOTAN_HAS_PK_PADDING 20131128 +#define BOTAN_HAS_POLY1305 20141227 +#define BOTAN_HAS_POLY_DBL 20170927 +#define BOTAN_HAS_PROCESSOR_RNG 20200508 +#define BOTAN_HAS_PSK_DB 20171119 +#define BOTAN_HAS_PUBLIC_KEY_CRYPTO 20131128 +#define BOTAN_HAS_RC4 20131128 +#define BOTAN_HAS_RDRAND_RNG 20160619 +#define BOTAN_HAS_RFC3394_KEYWRAP 20131128 +#define BOTAN_HAS_RFC6979_GENERATOR 20140321 +#define BOTAN_HAS_RIPEMD_160 20131128 +#define BOTAN_HAS_ROUGHTIME 20190220 +#define BOTAN_HAS_RSA 20160730 +#define BOTAN_HAS_SALSA20 20171114 +#define BOTAN_HAS_SCRYPT 20180902 +#define BOTAN_HAS_SEED 20131128 +#define BOTAN_HAS_SERPENT 20131128 +#define BOTAN_HAS_SERPENT_AVX2 20180824 +#define BOTAN_HAS_SERPENT_SIMD 20160903 +#define BOTAN_HAS_SHA1 20131128 +#define BOTAN_HAS_SHA1_SSE2 20160803 +#define BOTAN_HAS_SHA1_X86_SHA_NI 20170518 +#define BOTAN_HAS_SHA2_32 20131128 +#define BOTAN_HAS_SHA2_32_X86 20170518 +#define BOTAN_HAS_SHA2_32_X86_BMI2 20180526 +#define BOTAN_HAS_SHA2_64 20131128 +#define BOTAN_HAS_SHA2_64_BMI2 20190117 +#define BOTAN_HAS_SHA3 20161018 +#define BOTAN_HAS_SHA3_BMI2 20190117 +#define BOTAN_HAS_SHACAL2 20170813 +#define BOTAN_HAS_SHACAL2_AVX2 20180826 +#define BOTAN_HAS_SHACAL2_SIMD 20170813 +#define BOTAN_HAS_SHACAL2_X86 20170814 +#define BOTAN_HAS_SHAKE 20161009 +#define BOTAN_HAS_SHAKE_CIPHER 20161018 +#define BOTAN_HAS_SIMD_32 20131128 +#define BOTAN_HAS_SIMD_AVX2 20180824 +#define BOTAN_HAS_SIPHASH 20150110 +#define BOTAN_HAS_SKEIN_512 20131128 +#define BOTAN_HAS_SM2 20180801 +#define BOTAN_HAS_SM3 20170402 +#define BOTAN_HAS_SM4 20170716 +#define BOTAN_HAS_SOCKETS 20171216 +#define BOTAN_HAS_SODIUM_API 20190615 +#define BOTAN_HAS_SP800_108 20160128 +#define BOTAN_HAS_SP800_56A 20170501 +#define BOTAN_HAS_SP800_56C 20160211 +#define BOTAN_HAS_SRP6 20161017 +#define BOTAN_HAS_STATEFUL_RNG 20160819 +#define BOTAN_HAS_STREAM_CIPHER 20131128 +#define BOTAN_HAS_STREEBOG 20170623 +#define BOTAN_HAS_SYSTEM_RNG 20141202 +#define BOTAN_HAS_THREAD_UTILS 20190922 +#define BOTAN_HAS_THREEFISH_512 20131224 +#define BOTAN_HAS_THREEFISH_512_AVX2 20160903 +#define BOTAN_HAS_THRESHOLD_SECRET_SHARING 20131128 +#define BOTAN_HAS_TIGER 20131128 +#define BOTAN_HAS_TLS 20191210 +#define BOTAN_HAS_TLS_CBC 20161008 +#define BOTAN_HAS_TLS_SESSION_MANAGER_SQL_DB 20141219 +#define BOTAN_HAS_TLS_V10 20191109 +#define BOTAN_HAS_TLS_V10_PRF 20131128 +#define BOTAN_HAS_TLS_V12_PRF 20131128 +#define BOTAN_HAS_TOTP 20180816 +#define BOTAN_HAS_TWOFISH 20131128 +#define BOTAN_HAS_UTIL_FUNCTIONS 20180903 +#define BOTAN_HAS_UUID 20180930 +#define BOTAN_HAS_WHIRLPOOL 20131128 +#define BOTAN_HAS_X25519 20180910 +#define BOTAN_HAS_X509 20180911 +#define BOTAN_HAS_X509_CERTIFICATES 20151023 +#define BOTAN_HAS_X942_PRF 20131128 +#define BOTAN_HAS_XMSS_RFC8391 20201101 +#define BOTAN_HAS_XTEA 20131128 + + +/* +* Local/misc configuration options (if any) follow +*/ + + +/* +* Things you can edit (but probably shouldn't) +*/ + +#if !defined(BOTAN_DEPRECATED_PUBLIC_MEMBER_VARIABLES) + + #if defined(BOTAN_NO_DEPRECATED) + #define BOTAN_DEPRECATED_PUBLIC_MEMBER_VARIABLES private + #else + #define BOTAN_DEPRECATED_PUBLIC_MEMBER_VARIABLES public + #endif + +#endif + +/* How much to allocate for a buffer of no particular size */ +#define BOTAN_DEFAULT_BUFFER_SIZE 1024 + +/* +* Total maximum amount of RAM (in KiB) we will lock into memory, even +* if the OS would let us lock more +*/ +#define BOTAN_MLOCK_ALLOCATOR_MAX_LOCKED_KB 512 + +/* +* If BOTAN_MEM_POOL_USE_MMU_PROTECTIONS is defined, the Memory_Pool +* class used for mlock'ed memory will use OS calls to set page +* permissions so as to prohibit access to pages on the free list, then +* enable read/write access when the page is set to be used. This will +* turn (some) use after free bugs into a crash. +* +* The additional syscalls have a substantial performance impact, which +* is why this option is not enabled by default. +*/ +#if defined(BOTAN_HAS_VALGRIND) || defined(BOTAN_ENABLE_DEBUG_ASSERTS) + #define BOTAN_MEM_POOL_USE_MMU_PROTECTIONS +#endif + +/* +* If enabled uses memset via volatile function pointer to zero memory, +* otherwise does a byte at a time write via a volatile pointer. +*/ +#define BOTAN_USE_VOLATILE_MEMSET_FOR_ZERO 1 + +/* +* Normally blinding is performed by choosing a random starting point (plus +* its inverse, of a form appropriate to the algorithm being blinded), and +* then choosing new blinding operands by successive squaring of both +* values. This is much faster than computing a new starting point but +* introduces some possible corelation +* +* To avoid possible leakage problems in long-running processes, the blinder +* periodically reinitializes the sequence. This value specifies how often +* a new sequence should be started. +*/ +#define BOTAN_BLINDING_REINIT_INTERVAL 64 + +/* +* Userspace RNGs like HMAC_DRBG will reseed after a specified number +* of outputs are generated. Set to zero to disable automatic reseeding. +*/ +#define BOTAN_RNG_DEFAULT_RESEED_INTERVAL 1024 +#define BOTAN_RNG_RESEED_POLL_BITS 256 + +#define BOTAN_RNG_AUTO_RESEED_TIMEOUT std::chrono::milliseconds(10) +#define BOTAN_RNG_RESEED_DEFAULT_TIMEOUT std::chrono::milliseconds(50) + +/* +* Specifies (in order) the list of entropy sources that will be used +* to seed an in-memory RNG. +*/ +#define BOTAN_ENTROPY_DEFAULT_SOURCES \ + { "rdseed", "hwrng", "p9_darn", "getentropy", "dev_random", \ + "system_rng", "proc_walk", "system_stats" } + +/* Multiplier on a block cipher's native parallelism */ +#define BOTAN_BLOCK_CIPHER_PAR_MULT 4 + +/* +* These control the RNG used by the system RNG interface +*/ +#define BOTAN_SYSTEM_RNG_DEVICE "/dev/urandom" +#define BOTAN_SYSTEM_RNG_POLL_DEVICES { "/dev/urandom", "/dev/random" } + +/* +* This directory will be monitored by ProcWalking_EntropySource and +* the contents provided as entropy inputs to the RNG. May also be +* usefully set to something like "/sys", depending on the system being +* deployed to. Set to an empty string to disable. +*/ +#define BOTAN_ENTROPY_PROC_FS_PATH "/proc" + +/* +* These paramaters control how many bytes to read from the system +* PRNG, and how long to block if applicable. The timeout only applies +* to reading /dev/urandom and company. +*/ +#define BOTAN_SYSTEM_RNG_POLL_REQUEST 64 +#define BOTAN_SYSTEM_RNG_POLL_TIMEOUT_MS 20 + +/* +* When a PBKDF is self-tuning parameters, it will attempt to take about this +* amount of time to self-benchmark. +*/ +#define BOTAN_PBKDF_TUNING_TIME std::chrono::milliseconds(10) + +/* +* If no way of dynamically determining the cache line size for the +* system exists, this value is used as the default. Used by the side +* channel countermeasures rather than for alignment purposes, so it is +* better to be on the smaller side if the exact value cannot be +* determined. Typically 32 or 64 bytes on modern CPUs. +*/ +#if !defined(BOTAN_TARGET_CPU_DEFAULT_CACHE_LINE_SIZE) + #define BOTAN_TARGET_CPU_DEFAULT_CACHE_LINE_SIZE 32 +#endif + +/** +* Controls how AutoSeeded_RNG is instantiated +*/ +#if !defined(BOTAN_AUTO_RNG_HMAC) + + #if defined(BOTAN_HAS_SHA2_64) + #define BOTAN_AUTO_RNG_HMAC "HMAC(SHA-384)" + #elif defined(BOTAN_HAS_SHA2_32) + #define BOTAN_AUTO_RNG_HMAC "HMAC(SHA-256)" + #elif defined(BOTAN_HAS_SHA3) + #define BOTAN_AUTO_RNG_HMAC "HMAC(SHA-3(256))" + #elif defined(BOTAN_HAS_SHA1) + #define BOTAN_AUTO_RNG_HMAC "HMAC(SHA-1)" + #endif + /* Otherwise, no hash found: leave BOTAN_AUTO_RNG_HMAC undefined */ + +#endif + +/* Check for a common build problem */ + +#if defined(BOTAN_TARGET_ARCH_IS_X86_64) && ((defined(_MSC_VER) && !defined(_WIN64)) || \ + (defined(__clang__) && !defined(__x86_64__)) || \ + (defined(__GNUG__) && !defined(__x86_64__))) + #error "Trying to compile Botan configured as x86_64 with non-x86_64 compiler." +#endif + +#if defined(BOTAN_TARGET_ARCH_IS_X86_32) && ((defined(_MSC_VER) && defined(_WIN64)) || \ + (defined(__clang__) && !defined(__i386__)) || \ + (defined(__GNUG__) && !defined(__i386__))) + + #error "Trying to compile Botan configured as x86_32 with non-x86_32 compiler." +#endif + +#include + +#endif + diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/calendar.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/calendar.h new file mode 100644 index 00000000..83759070 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/calendar.h @@ -0,0 +1,91 @@ +/* +* Calendar Functions +* (C) 1999-2009,2015 Jack Lloyd +* (C) 2015 Simon Warta (Kullo GmbH) +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CALENDAR_H_ +#define BOTAN_CALENDAR_H_ + +#include +#include +#include + +namespace Botan { + +/** +* Struct representing a particular date and time +*/ +class BOTAN_PUBLIC_API(2,0) calendar_point + { + public: + + /** The year */ + uint32_t get_year() const { return year; } + + /** The month, 1 through 12 for Jan to Dec */ + uint32_t get_month() const { return month; } + + /** The day of the month, 1 through 31 (or 28 or 30 based on month */ + uint32_t get_day() const { return day; } + + /** Hour in 24-hour form, 0 to 23 */ + uint32_t get_hour() const { return hour; } + + /** Minutes in the hour, 0 to 60 */ + uint32_t get_minutes() const { return minutes; } + + /** Seconds in the minute, 0 to 60, but might be slightly + larger to deal with leap seconds on some systems + */ + uint32_t get_seconds() const { return seconds; } + + /** + * Initialize a calendar_point + * @param y the year + * @param mon the month + * @param d the day + * @param h the hour + * @param min the minute + * @param sec the second + */ + calendar_point(uint32_t y, uint32_t mon, uint32_t d, uint32_t h, uint32_t min, uint32_t sec) : + year(y), month(mon), day(d), hour(h), minutes(min), seconds(sec) {} + + /** + * Returns an STL timepoint object + */ + std::chrono::system_clock::time_point to_std_timepoint() const; + + /** + * Returns a human readable string of the struct's components. + * Formatting might change over time. Currently it is RFC339 'iso-date-time'. + */ + std::string to_string() const; + + BOTAN_DEPRECATED_PUBLIC_MEMBER_VARIABLES: + /* + The member variables are public for historical reasons. Use the get_xxx() functions + defined above. These members will be made private in a future major release. + */ + uint32_t year; + uint32_t month; + uint32_t day; + uint32_t hour; + uint32_t minutes; + uint32_t seconds; + }; + +/** +* Convert a time_point to a calendar_point +* @param time_point a time point from the system clock +* @return calendar_point object representing this time point +*/ +BOTAN_PUBLIC_API(2,0) calendar_point calendar_value( + const std::chrono::system_clock::time_point& time_point); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/camellia.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/camellia.h new file mode 100644 index 00000000..4995eb0c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/camellia.h @@ -0,0 +1,73 @@ +/* +* Camellia +* (C) 2012 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CAMELLIA_H_ +#define BOTAN_CAMELLIA_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(camellia.h) + +namespace Botan { + +/** +* Camellia-128 +*/ +class BOTAN_PUBLIC_API(2,0) Camellia_128 final : public Block_Cipher_Fixed_Params<16, 16> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "Camellia-128"; } + BlockCipher* clone() const override { return new Camellia_128; } + private: + void key_schedule(const uint8_t key[], size_t length) override; + + secure_vector m_SK; + }; + +/** +* Camellia-192 +*/ +class BOTAN_PUBLIC_API(2,0) Camellia_192 final : public Block_Cipher_Fixed_Params<16, 24> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "Camellia-192"; } + BlockCipher* clone() const override { return new Camellia_192; } + private: + void key_schedule(const uint8_t key[], size_t length) override; + + secure_vector m_SK; + }; + +/** +* Camellia-256 +*/ +class BOTAN_PUBLIC_API(2,0) Camellia_256 final : public Block_Cipher_Fixed_Params<16, 32> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "Camellia-256"; } + BlockCipher* clone() const override { return new Camellia_256; } + private: + void key_schedule(const uint8_t key[], size_t length) override; + + secure_vector m_SK; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cascade.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cascade.h new file mode 100644 index 00000000..26f51338 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cascade.h @@ -0,0 +1,57 @@ +/* +* Block Cipher Cascade +* (C) 2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CASCADE_H_ +#define BOTAN_CASCADE_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(cascade.h) + +namespace Botan { + +/** +* Block Cipher Cascade +*/ +class BOTAN_PUBLIC_API(2,0) Cascade_Cipher final : public BlockCipher + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + size_t block_size() const override { return m_block; } + + Key_Length_Specification key_spec() const override + { + return Key_Length_Specification(m_cipher1->maximum_keylength() + + m_cipher2->maximum_keylength()); + } + + void clear() override; + std::string name() const override; + BlockCipher* clone() const override; + + /** + * Create a cascade of two block ciphers + * @param cipher1 the first cipher + * @param cipher2 the second cipher + */ + Cascade_Cipher(BlockCipher* cipher1, BlockCipher* cipher2); + + Cascade_Cipher(const Cascade_Cipher&) = delete; + Cascade_Cipher& operator=(const Cascade_Cipher&) = delete; + private: + void key_schedule(const uint8_t[], size_t) override; + + size_t m_block; + std::unique_ptr m_cipher1, m_cipher2; + }; + + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cast128.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cast128.h new file mode 100644 index 00000000..a5f2a640 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cast128.h @@ -0,0 +1,42 @@ +/* +* CAST-128 +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CAST128_H_ +#define BOTAN_CAST128_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(cast128.h) + +namespace Botan { + +/** +* CAST-128 +*/ +class BOTAN_PUBLIC_API(2,0) CAST_128 final : public Block_Cipher_Fixed_Params<8, 11, 16> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "CAST-128"; } + BlockCipher* clone() const override { return new CAST_128; } + + private: + void key_schedule(const uint8_t[], size_t) override; + + static void cast_ks(secure_vector& ks, + secure_vector& user_key); + + secure_vector m_MK; + secure_vector m_RK; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cast256.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cast256.h new file mode 100644 index 00000000..3c301693 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cast256.h @@ -0,0 +1,38 @@ +/* +* CAST-256 +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CAST256_H_ +#define BOTAN_CAST256_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(cast256.h) + +namespace Botan { + +/** +* CAST-256 +*/ +class BOTAN_PUBLIC_API(2,0) CAST_256 final : public Block_Cipher_Fixed_Params<16, 4, 32, 4> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "CAST-256"; } + BlockCipher* clone() const override { return new CAST_256; } + private: + void key_schedule(const uint8_t[], size_t) override; + + secure_vector m_MK; + secure_vector m_RK; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cbc.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cbc.h new file mode 100644 index 00000000..7a488dbd --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cbc.h @@ -0,0 +1,157 @@ +/* +* CBC mode +* (C) 1999-2007,2013 Jack Lloyd +* (C) 2016 Daniel Neus, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_MODE_CBC_H_ +#define BOTAN_MODE_CBC_H_ + +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(cbc.h) + +namespace Botan { + +/** +* CBC Mode +*/ +class BOTAN_PUBLIC_API(2,0) CBC_Mode : public Cipher_Mode + { + public: + std::string name() const override; + + size_t update_granularity() const override; + + Key_Length_Specification key_spec() const override; + + size_t default_nonce_length() const override; + + bool valid_nonce_length(size_t n) const override; + + void clear() override; + + void reset() override; + + protected: + CBC_Mode(BlockCipher* cipher, BlockCipherModePaddingMethod* padding); + + const BlockCipher& cipher() const { return *m_cipher; } + + const BlockCipherModePaddingMethod& padding() const + { + BOTAN_ASSERT_NONNULL(m_padding); + return *m_padding; + } + + size_t block_size() const { return m_block_size; } + + secure_vector& state() { return m_state; } + + uint8_t* state_ptr() { return m_state.data(); } + + private: + void start_msg(const uint8_t nonce[], size_t nonce_len) override; + + void key_schedule(const uint8_t key[], size_t length) override; + + std::unique_ptr m_cipher; + std::unique_ptr m_padding; + secure_vector m_state; + size_t m_block_size; + }; + +/** +* CBC Encryption +*/ +class BOTAN_PUBLIC_API(2,0) CBC_Encryption : public CBC_Mode + { + public: + /** + * @param cipher block cipher to use + * @param padding padding method to use + */ + CBC_Encryption(BlockCipher* cipher, BlockCipherModePaddingMethod* padding) : + CBC_Mode(cipher, padding) {} + + size_t process(uint8_t buf[], size_t size) override; + + void finish(secure_vector& final_block, size_t offset = 0) override; + + size_t output_length(size_t input_length) const override; + + size_t minimum_final_size() const override; + }; + +/** +* CBC Encryption with ciphertext stealing (CBC-CS3 variant) +*/ +class BOTAN_PUBLIC_API(2,0) CTS_Encryption final : public CBC_Encryption + { + public: + /** + * @param cipher block cipher to use + */ + explicit CTS_Encryption(BlockCipher* cipher) : CBC_Encryption(cipher, nullptr) {} + + size_t output_length(size_t input_length) const override; + + void finish(secure_vector& final_block, size_t offset = 0) override; + + size_t minimum_final_size() const override; + + bool valid_nonce_length(size_t n) const override; + }; + +/** +* CBC Decryption +*/ +class BOTAN_PUBLIC_API(2,0) CBC_Decryption : public CBC_Mode + { + public: + /** + * @param cipher block cipher to use + * @param padding padding method to use + */ + CBC_Decryption(BlockCipher* cipher, BlockCipherModePaddingMethod* padding) : + CBC_Mode(cipher, padding), m_tempbuf(update_granularity()) {} + + size_t process(uint8_t buf[], size_t size) override; + + void finish(secure_vector& final_block, size_t offset = 0) override; + + size_t output_length(size_t input_length) const override; + + size_t minimum_final_size() const override; + + void reset() override; + + private: + secure_vector m_tempbuf; + }; + +/** +* CBC Decryption with ciphertext stealing (CBC-CS3 variant) +*/ +class BOTAN_PUBLIC_API(2,0) CTS_Decryption final : public CBC_Decryption + { + public: + /** + * @param cipher block cipher to use + */ + explicit CTS_Decryption(BlockCipher* cipher) : CBC_Decryption(cipher, nullptr) {} + + void finish(secure_vector& final_block, size_t offset = 0) override; + + size_t minimum_final_size() const override; + + bool valid_nonce_length(size_t n) const override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cbc_mac.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cbc_mac.h new file mode 100644 index 00000000..ed4eb2bd --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cbc_mac.h @@ -0,0 +1,50 @@ +/* +* CBC-MAC +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CBC_MAC_H_ +#define BOTAN_CBC_MAC_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(cbc_mac.h) + +namespace Botan { + +/** +* CBC-MAC +*/ +class BOTAN_PUBLIC_API(2,0) CBC_MAC final : public MessageAuthenticationCode + { + public: + std::string name() const override; + MessageAuthenticationCode* clone() const override; + size_t output_length() const override { return m_cipher->block_size(); } + void clear() override; + + Key_Length_Specification key_spec() const override + { + return m_cipher->key_spec(); + } + + /** + * @param cipher the block cipher to use + */ + explicit CBC_MAC(BlockCipher* cipher); + private: + void add_data(const uint8_t[], size_t) override; + void final_result(uint8_t[]) override; + void key_schedule(const uint8_t[], size_t) override; + + std::unique_ptr m_cipher; + secure_vector m_state; + size_t m_position = 0; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ccm.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ccm.h new file mode 100644 index 00000000..9b4bcecb --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ccm.h @@ -0,0 +1,130 @@ +/* +* CCM Mode +* (C) 2013 Jack Lloyd +* (C) 2016 Daniel Neus, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_AEAD_CCM_H_ +#define BOTAN_AEAD_CCM_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(ccm.h) + +namespace Botan { + +/** +* Base class for CCM encryption and decryption +* @see RFC 3610 +*/ +class BOTAN_PUBLIC_API(2,0) CCM_Mode : public AEAD_Mode + { + public: + size_t process(uint8_t buf[], size_t sz) override; + + void set_associated_data(const uint8_t ad[], size_t ad_len) override; + + bool associated_data_requires_key() const override { return false; } + + std::string name() const override; + + size_t update_granularity() const override; + + Key_Length_Specification key_spec() const override; + + bool valid_nonce_length(size_t) const override; + + size_t default_nonce_length() const override; + + void clear() override; + + void reset() override; + + size_t tag_size() const override { return m_tag_size; } + + protected: + CCM_Mode(BlockCipher* cipher, size_t tag_size, size_t L); + + size_t L() const { return m_L; } + + const BlockCipher& cipher() const { return *m_cipher; } + + void encode_length(uint64_t len, uint8_t out[]); + + void inc(secure_vector& C); + + const secure_vector& ad_buf() const { return m_ad_buf; } + + secure_vector& msg_buf() { return m_msg_buf; } + + secure_vector format_b0(size_t msg_size); + secure_vector format_c0(); + private: + void start_msg(const uint8_t nonce[], size_t nonce_len) override; + + void key_schedule(const uint8_t key[], size_t length) override; + + const size_t m_tag_size; + const size_t m_L; + + std::unique_ptr m_cipher; + secure_vector m_nonce, m_msg_buf, m_ad_buf; + }; + +/** +* CCM Encryption +*/ +class BOTAN_PUBLIC_API(2,0) CCM_Encryption final : public CCM_Mode + { + public: + /** + * @param cipher a 128-bit block cipher + * @param tag_size is how big the auth tag will be (even values + * between 4 and 16 are accepted) + * @param L length of L parameter. The total message length + * must be less than 2**L bytes, and the nonce is 15-L bytes. + */ + CCM_Encryption(BlockCipher* cipher, size_t tag_size = 16, size_t L = 3) : + CCM_Mode(cipher, tag_size, L) {} + + void finish(secure_vector& final_block, size_t offset = 0) override; + + size_t output_length(size_t input_length) const override + { return input_length + tag_size(); } + + size_t minimum_final_size() const override { return 0; } + }; + +/** +* CCM Decryption +*/ +class BOTAN_PUBLIC_API(2,0) CCM_Decryption final : public CCM_Mode + { + public: + /** + * @param cipher a 128-bit block cipher + * @param tag_size is how big the auth tag will be (even values + * between 4 and 16 are accepted) + * @param L length of L parameter. The total message length + * must be less than 2**L bytes, and the nonce is 15-L bytes. + */ + CCM_Decryption(BlockCipher* cipher, size_t tag_size = 16, size_t L = 3) : + CCM_Mode(cipher, tag_size, L) {} + + void finish(secure_vector& final_block, size_t offset = 0) override; + + size_t output_length(size_t input_length) const override + { + BOTAN_ASSERT(input_length >= tag_size(), "Sufficient input"); + return input_length - tag_size(); + } + + size_t minimum_final_size() const override { return tag_size(); } + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cecpq1.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cecpq1.h new file mode 100644 index 00000000..a722899c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cecpq1.h @@ -0,0 +1,38 @@ +/* +* CECPQ1 (x25519 + NewHope) +* (C) 2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CECPQ1_H_ +#define BOTAN_CECPQ1_H_ + +#include +#include + +namespace Botan { + +class CECPQ1_key final + { + public: + secure_vector m_x25519; + newhope_poly m_newhope; + }; + +void BOTAN_PUBLIC_API(2,0) CECPQ1_offer(uint8_t* offer_message, + CECPQ1_key* offer_key_output, + RandomNumberGenerator& rng); + +void BOTAN_PUBLIC_API(2,0) CECPQ1_accept(uint8_t* shared_key, + uint8_t* accept_message, + const uint8_t* offer_message, + RandomNumberGenerator& rng); + +void BOTAN_PUBLIC_API(2,0) CECPQ1_finish(uint8_t* shared_key, + const CECPQ1_key& offer_key, + const uint8_t* accept_message); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cert_status.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cert_status.h new file mode 100644 index 00000000..f330ff34 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cert_status.h @@ -0,0 +1,11 @@ +/* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_X509_PATH_RESULT_H_ +#define BOTAN_X509_PATH_RESULT_H_ + +#include +BOTAN_DEPRECATED_HEADER(cert_status.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor.h new file mode 100644 index 00000000..6901589d --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor.h @@ -0,0 +1,165 @@ +/* +* Certificate Store +* (C) 1999-2010,2013 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CERT_STORE_H_ +#define BOTAN_CERT_STORE_H_ + +#include +#include + +namespace Botan { + +/** +* Certificate Store Interface +*/ +class BOTAN_PUBLIC_API(2,0) Certificate_Store + { + public: + virtual ~Certificate_Store(); + + /** + * Find a certificate by Subject DN and (optionally) key identifier + * @param subject_dn the subject's distinguished name + * @param key_id an optional key id + * @return a matching certificate or nullptr otherwise + * If more than one certificate in the certificate store matches, then + * a single value is selected arbitrarily. + */ + virtual std::shared_ptr + find_cert(const X509_DN& subject_dn, const std::vector& key_id) const; + + /** + * Find all certificates with a given Subject DN. + * Subject DN and even the key identifier might not be unique. + */ + virtual std::vector> find_all_certs( + const X509_DN& subject_dn, const std::vector& key_id) const = 0; + + + /** + * Find a certificate by searching for one with a matching SHA-1 hash of + * public key. Used for OCSP. + * @param key_hash SHA-1 hash of the subject's public key + * @return a matching certificate or nullptr otherwise + */ + virtual std::shared_ptr + find_cert_by_pubkey_sha1(const std::vector& key_hash) const = 0; + + /** + * Find a certificate by searching for one with a matching SHA-256 hash of + * raw subject name. Used for OCSP. + * @param subject_hash SHA-256 hash of the subject's raw name + * @return a matching certificate or nullptr otherwise + */ + virtual std::shared_ptr + find_cert_by_raw_subject_dn_sha256(const std::vector& subject_hash) const = 0; + + /** + * Finds a CRL for the given certificate + * @param subject the subject certificate + * @return the CRL for subject or nullptr otherwise + */ + virtual std::shared_ptr find_crl_for(const X509_Certificate& subject) const; + + /** + * @return whether the certificate is known + * @param cert certififcate to be searched + */ + bool certificate_known(const X509_Certificate& cert) const + { + return find_cert(cert.subject_dn(), cert.subject_key_id()) != nullptr; + } + + // remove this (used by TLS::Server) + virtual std::vector all_subjects() const = 0; + }; + +/** +* In Memory Certificate Store +*/ +class BOTAN_PUBLIC_API(2,0) Certificate_Store_In_Memory final : public Certificate_Store + { + public: + /** + * Attempt to parse all files in dir (including subdirectories) + * as certificates. Ignores errors. + */ + explicit Certificate_Store_In_Memory(const std::string& dir); + + /** + * Adds given certificate to the store. + */ + explicit Certificate_Store_In_Memory(const X509_Certificate& cert); + + /** + * Create an empty store. + */ + Certificate_Store_In_Memory() = default; + + /** + * Add a certificate to the store. + * @param cert certificate to be added + */ + void add_certificate(const X509_Certificate& cert); + + /** + * Add a certificate already in a shared_ptr to the store. + * @param cert certificate to be added + */ + void add_certificate(std::shared_ptr cert); + + /** + * Add a certificate revocation list (CRL) to the store. + * @param crl CRL to be added + */ + void add_crl(const X509_CRL& crl); + + /** + * Add a certificate revocation list (CRL) to the store as a shared_ptr + * @param crl CRL to be added + */ + void add_crl(std::shared_ptr crl); + + /** + * @return DNs for all certificates managed by the store + */ + std::vector all_subjects() const override; + + /* + * Find a certificate by Subject DN and (optionally) key identifier + * @return the first certificate that matches + */ + std::shared_ptr find_cert( + const X509_DN& subject_dn, + const std::vector& key_id) const override; + + /* + * Find all certificates with a given Subject DN. + * Subject DN and even the key identifier might not be unique. + */ + std::vector> find_all_certs( + const X509_DN& subject_dn, const std::vector& key_id) const override; + + std::shared_ptr + find_cert_by_pubkey_sha1(const std::vector& key_hash) const override; + + std::shared_ptr + find_cert_by_raw_subject_dn_sha256(const std::vector& subject_hash) const override; + + /** + * Finds a CRL for the given certificate + */ + std::shared_ptr find_crl_for(const X509_Certificate& subject) const override; + private: + // TODO: Add indexing on the DN and key id to avoid linear search + std::vector> m_certs; + std::vector> m_crls; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor_flatfile.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor_flatfile.h new file mode 100644 index 00000000..1608aaa1 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor_flatfile.h @@ -0,0 +1,77 @@ +/* +* Certificate Store +* (C) 1999-2019 Jack Lloyd +* (C) 2019 Patrick Schmidt +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CERT_STORE_FLATFILE_H_ +#define BOTAN_CERT_STORE_FLATFILE_H_ + +#include + +#include +#include +#include + +namespace Botan { +/** +* Certificate Store that is backed by a file of PEMs of trusted CAs. +*/ +class BOTAN_PUBLIC_API(2, 11) Flatfile_Certificate_Store final : public Certificate_Store + { + public: + /** + * Construct a new Certificate_Store given a file path to a file including + * PEMs of trusted self-signed CAs. + * + * @param file the name of the file to read certificates from + * @param ignore_non_ca if true, certs that are not self-signed CA certs will + * be ignored. Otherwise (if false), an exception will be thrown instead. + */ + Flatfile_Certificate_Store(const std::string& file, bool ignore_non_ca = false); + + Flatfile_Certificate_Store(const Flatfile_Certificate_Store&) = default; + Flatfile_Certificate_Store(Flatfile_Certificate_Store&&) = default; + Flatfile_Certificate_Store& operator=(const Flatfile_Certificate_Store&) = default; + Flatfile_Certificate_Store& operator=(Flatfile_Certificate_Store&&) = default; + + /** + * @return DNs for all certificates managed by the store + */ + std::vector all_subjects() const override; + + /** + * Find all certificates with a given Subject DN. + * Subject DN and even the key identifier might not be unique. + */ + std::vector> find_all_certs( + const X509_DN& subject_dn, const std::vector& key_id) const override; + + /** + * Find a certificate by searching for one with a matching SHA-1 hash of + * public key. + * @return a matching certificate or nullptr otherwise + */ + std::shared_ptr + find_cert_by_pubkey_sha1(const std::vector& key_hash) const override; + + std::shared_ptr + find_cert_by_raw_subject_dn_sha256(const std::vector& subject_hash) const override; + + /** + * Fetching CRLs is not supported by this certificate store. This will + * always return an empty list. + */ + std::shared_ptr find_crl_for(const X509_Certificate& subject) const override; + + private: + std::vector m_all_subjects; + std::map>> m_dn_to_cert; + std::map, std::shared_ptr> m_pubkey_sha1_to_cert; + std::map, std::shared_ptr> m_subject_dn_sha256_to_cert; + }; +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor_macos.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor_macos.h new file mode 100644 index 00000000..e7416e63 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor_macos.h @@ -0,0 +1,81 @@ +/* +* Certificate Store +* (C) 1999-2019 Jack Lloyd +* (C) 2019 René Meusel +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CERT_STORE_SYSTEM_MACOS_H_ +#define BOTAN_CERT_STORE_SYSTEM_MACOS_H_ + +#include + +#include + +namespace Botan { + +class Certificate_Store_MacOS_Impl; + +/** +* Certificate Store that is backed by the system trust store on macOS. This +* opens a handle to the macOS keychain and serves certificate queries directly +* from there. +*/ +class BOTAN_PUBLIC_API(2, 10) Certificate_Store_MacOS final : public Certificate_Store + { + public: + Certificate_Store_MacOS(); + + Certificate_Store_MacOS(const Certificate_Store_MacOS&) = default; + Certificate_Store_MacOS(Certificate_Store_MacOS&&) = default; + Certificate_Store_MacOS& operator=(const Certificate_Store_MacOS&) = default; + Certificate_Store_MacOS& operator=(Certificate_Store_MacOS&&) = default; + + /** + * @return DNs for all certificates managed by the store + */ + std::vector all_subjects() const override; + + /** + * Find a certificate by Subject DN and (optionally) key identifier + * @return the first certificate that matches + */ + std::shared_ptr find_cert( + const X509_DN& subject_dn, + const std::vector& key_id) const override; + + /** + * Find all certificates with a given Subject DN. + * Subject DN and even the key identifier might not be unique. + */ + std::vector> find_all_certs( + const X509_DN& subject_dn, const std::vector& key_id) const override; + + /** + * Find a certificate by searching for one with a matching SHA-1 hash of + * public key. + * @return a matching certificate or nullptr otherwise + */ + std::shared_ptr + find_cert_by_pubkey_sha1(const std::vector& key_hash) const override; + + /** + * @throws Botan::Not_Implemented + */ + std::shared_ptr + find_cert_by_raw_subject_dn_sha256(const std::vector& subject_hash) const override; + + /** + * Fetching CRLs is not supported by the keychain on macOS. This will + * always return an empty list. + */ + std::shared_ptr find_crl_for(const X509_Certificate& subject) const override; + + private: + std::shared_ptr m_impl; + }; + +} + +#endif \ No newline at end of file diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor_sql.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor_sql.h new file mode 100644 index 00000000..fd80eb19 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor_sql.h @@ -0,0 +1,119 @@ +/* +* Certificate Store in SQL +* (C) 2016 Kai Michaelis, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CERT_STORE_SQL_H_ +#define BOTAN_CERT_STORE_SQL_H_ + +#include +#include +#include +#include +#include + +namespace Botan { + +class Private_Key; +class RandomNumberGenerator; + +/** + * Certificate and private key store backed by an SQL database. + */ +class BOTAN_PUBLIC_API(2,0) Certificate_Store_In_SQL : public Certificate_Store + { + public: + /** + * Create/open a certificate store. + * @param db underlying database storage + * @param passwd password to encrypt private keys in the database + * @param rng used for encrypting keys + * @param table_prefix optional prefix for db table names + */ + explicit Certificate_Store_In_SQL(const std::shared_ptr db, + const std::string& passwd, + RandomNumberGenerator& rng, + const std::string& table_prefix = ""); + + /** + * Returns the first certificate with matching subject DN and optional key ID. + */ + std::shared_ptr + find_cert(const X509_DN& subject_dn, const std::vector& key_id) const override; + + /* + * Find all certificates with a given Subject DN. + * Subject DN and even the key identifier might not be unique. + */ + std::vector> find_all_certs( + const X509_DN& subject_dn, const std::vector& key_id) const override; + + std::shared_ptr + find_cert_by_pubkey_sha1(const std::vector& key_hash) const override; + + std::shared_ptr + find_cert_by_raw_subject_dn_sha256(const std::vector& subject_hash) const override; + + /** + * Returns all subject DNs known to the store instance. + */ + std::vector all_subjects() const override; + + /** + * Inserts "cert" into the store, returns false if the certificate is + * already known and true if insertion was successful. + */ + bool insert_cert(const X509_Certificate& cert); + + /** + * Removes "cert" from the store. Returns false if the certificate could not + * be found and true if removal was successful. + */ + bool remove_cert(const X509_Certificate& cert); + + /// Returns the private key for "cert" or an empty shared_ptr if none was found. + std::shared_ptr find_key(const X509_Certificate&) const; + + /// Returns all certificates for private key "key". + std::vector> + find_certs_for_key(const Private_Key& key) const; + + /** + * Inserts "key" for "cert" into the store, returns false if the key is + * already known and true if insertion was successful. + */ + bool insert_key(const X509_Certificate& cert, const Private_Key& key); + + /// Removes "key" from the store. + void remove_key(const Private_Key& key); + + /// Marks "cert" as revoked starting from "time". + void revoke_cert(const X509_Certificate&, CRL_Code, const X509_Time& time = X509_Time()); + + /// Reverses the revokation for "cert". + void affirm_cert(const X509_Certificate&); + + /** + * Generates Certificate Revocation Lists for all certificates marked as revoked. + * A CRL is returned for each unique issuer DN. + */ + std::vector generate_crls() const; + + /** + * Generates a CRL for all certificates issued by the given issuer. + */ + std::shared_ptr + find_crl_for(const X509_Certificate& issuer) const override; + + private: + RandomNumberGenerator& m_rng; + std::shared_ptr m_database; + std::string m_prefix; + std::string m_password; + mutex_type m_mutex; + }; + +} +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor_system.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor_system.h new file mode 100644 index 00000000..3a0fc615 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/certstor_system.h @@ -0,0 +1,42 @@ +/* +* (C) 2019 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SYSTEM_CERT_STORE_H_ +#define BOTAN_SYSTEM_CERT_STORE_H_ + +#include + +namespace Botan { + +class BOTAN_PUBLIC_API(2,11) System_Certificate_Store final : public Certificate_Store + { + public: + + System_Certificate_Store(); + + std::shared_ptr + find_cert(const X509_DN& subject_dn, const std::vector& key_id) const override; + + std::vector> + find_all_certs(const X509_DN& subject_dn, const std::vector& key_id) const override; + + std::shared_ptr + find_cert_by_pubkey_sha1(const std::vector& key_hash) const override; + + std::shared_ptr + find_cert_by_raw_subject_dn_sha256(const std::vector& subject_hash) const override; + + std::shared_ptr find_crl_for(const X509_Certificate& subject) const override; + + std::vector all_subjects() const override; + + private: + std::shared_ptr m_system_store; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cfb.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cfb.h new file mode 100644 index 00000000..1f9e5548 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cfb.h @@ -0,0 +1,106 @@ +/* +* CFB mode +* (C) 1999-2007,2013 Jack Lloyd +* (C) 2016 Daniel Neus, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_MODE_CFB_H_ +#define BOTAN_MODE_CFB_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(cfb.h) + +namespace Botan { + +/** +* CFB Mode +*/ +class BOTAN_PUBLIC_API(2,0) CFB_Mode : public Cipher_Mode + { + public: + std::string name() const override final; + + size_t update_granularity() const override final; + + size_t minimum_final_size() const override final; + + Key_Length_Specification key_spec() const override final; + + size_t output_length(size_t input_length) const override final; + + size_t default_nonce_length() const override final; + + bool valid_nonce_length(size_t n) const override final; + + void clear() override final; + + void reset() override final; + protected: + CFB_Mode(BlockCipher* cipher, size_t feedback_bits); + + void shift_register(); + + size_t feedback() const { return m_feedback_bytes; } + const BlockCipher& cipher() const { return *m_cipher; } + size_t block_size() const { return m_block_size; } + + secure_vector m_state; + secure_vector m_keystream; + size_t m_keystream_pos = 0; + + private: + void start_msg(const uint8_t nonce[], size_t nonce_len) override; + void key_schedule(const uint8_t key[], size_t length) override; + + std::unique_ptr m_cipher; + const size_t m_block_size; + const size_t m_feedback_bytes; + }; + +/** +* CFB Encryption +*/ +class BOTAN_PUBLIC_API(2,0) CFB_Encryption final : public CFB_Mode + { + public: + /** + * If feedback_bits is zero, cipher->block_size() bytes will be used. + * @param cipher block cipher to use + * @param feedback_bits number of bits fed back into the shift register, + * must be a multiple of 8 + */ + CFB_Encryption(BlockCipher* cipher, size_t feedback_bits) : + CFB_Mode(cipher, feedback_bits) {} + + size_t process(uint8_t buf[], size_t size) override; + + void finish(secure_vector& final_block, size_t offset = 0) override; + }; + +/** +* CFB Decryption +*/ +class BOTAN_PUBLIC_API(2,0) CFB_Decryption final : public CFB_Mode + { + public: + /** + * If feedback_bits is zero, cipher->block_size() bytes will be used. + * @param cipher block cipher to use + * @param feedback_bits number of bits fed back into the shift register, + * must be a multiple of 8 + */ + CFB_Decryption(BlockCipher* cipher, size_t feedback_bits) : + CFB_Mode(cipher, feedback_bits) {} + + size_t process(uint8_t buf[], size_t size) override; + + void finish(secure_vector& final_block, size_t offset = 0) override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/chacha.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/chacha.h new file mode 100644 index 00000000..1749127f --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/chacha.h @@ -0,0 +1,82 @@ +/* +* ChaCha20 +* (C) 2014,2018 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CHACHA_H_ +#define BOTAN_CHACHA_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(chacha.h) + +namespace Botan { + +/** +* DJB's ChaCha (https://cr.yp.to/chacha.html) +*/ +class BOTAN_PUBLIC_API(2,0) ChaCha final : public StreamCipher + { + public: + /** + * @param rounds number of rounds + * @note Currently only 8, 12 or 20 rounds are supported, all others + * will throw an exception + */ + explicit ChaCha(size_t rounds = 20); + + std::string provider() const override; + + void cipher(const uint8_t in[], uint8_t out[], size_t length) override; + + void write_keystream(uint8_t out[], size_t len) override; + + void set_iv(const uint8_t iv[], size_t iv_len) override; + + /* + * ChaCha accepts 0, 8, 12 or 24 byte IVs. + * The default IV is a 8 zero bytes. + * An IV of length 0 is treated the same as the default zero IV. + * An IV of length 24 selects XChaCha mode + */ + bool valid_iv_length(size_t iv_len) const override; + + size_t default_iv_length() const override; + + Key_Length_Specification key_spec() const override; + + void clear() override; + + StreamCipher* clone() const override; + + std::string name() const override; + + void seek(uint64_t offset) override; + + private: + void key_schedule(const uint8_t key[], size_t key_len) override; + + void initialize_state(); + + void chacha_x8(uint8_t output[64*8], uint32_t state[16], size_t rounds); + +#if defined(BOTAN_HAS_CHACHA_SIMD32) + void chacha_simd32_x4(uint8_t output[64*4], uint32_t state[16], size_t rounds); +#endif + +#if defined(BOTAN_HAS_CHACHA_AVX2) + void chacha_avx2_x8(uint8_t output[64*8], uint32_t state[16], size_t rounds); +#endif + + size_t m_rounds; + secure_vector m_key; + secure_vector m_state; + secure_vector m_buffer; + size_t m_position = 0; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/chacha20poly1305.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/chacha20poly1305.h new file mode 100644 index 00000000..dbba58cc --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/chacha20poly1305.h @@ -0,0 +1,104 @@ +/* +* ChaCha20Poly1305 AEAD +* (C) 2014 Jack Lloyd +* (C) 2016 Daniel Neus, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_AEAD_CHACHA20_POLY1305_H_ +#define BOTAN_AEAD_CHACHA20_POLY1305_H_ + +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(chacha20poly1305.h) + +namespace Botan { + +/** +* Base class +* See draft-irtf-cfrg-chacha20-poly1305-03 for specification +* If a nonce of 64 bits is used the older version described in +* draft-agl-tls-chacha20poly1305-04 is used instead. +* If a nonce of 192 bits is used, XChaCha20Poly1305 is selected. +*/ +class BOTAN_PUBLIC_API(2,0) ChaCha20Poly1305_Mode : public AEAD_Mode + { + public: + void set_associated_data(const uint8_t ad[], size_t ad_len) override; + + bool associated_data_requires_key() const override { return false; } + + std::string name() const override { return "ChaCha20Poly1305"; } + + size_t update_granularity() const override { return 64; } + + Key_Length_Specification key_spec() const override + { return Key_Length_Specification(32); } + + bool valid_nonce_length(size_t n) const override; + + size_t tag_size() const override { return 16; } + + void clear() override; + + void reset() override; + + protected: + std::unique_ptr m_chacha; + std::unique_ptr m_poly1305; + + ChaCha20Poly1305_Mode(); + + secure_vector m_ad; + size_t m_nonce_len = 0; + size_t m_ctext_len = 0; + + bool cfrg_version() const { return m_nonce_len == 12 || m_nonce_len == 24; } + void update_len(size_t len); + private: + void start_msg(const uint8_t nonce[], size_t nonce_len) override; + + void key_schedule(const uint8_t key[], size_t length) override; + }; + +/** +* ChaCha20Poly1305 Encryption +*/ +class BOTAN_PUBLIC_API(2,0) ChaCha20Poly1305_Encryption final : public ChaCha20Poly1305_Mode + { + public: + size_t output_length(size_t input_length) const override + { return input_length + tag_size(); } + + size_t minimum_final_size() const override { return 0; } + + size_t process(uint8_t buf[], size_t size) override; + + void finish(secure_vector& final_block, size_t offset = 0) override; + }; + +/** +* ChaCha20Poly1305 Decryption +*/ +class BOTAN_PUBLIC_API(2,0) ChaCha20Poly1305_Decryption final : public ChaCha20Poly1305_Mode + { + public: + size_t output_length(size_t input_length) const override + { + BOTAN_ASSERT(input_length >= tag_size(), "Sufficient input"); + return input_length - tag_size(); + } + + size_t minimum_final_size() const override { return tag_size(); } + + size_t process(uint8_t buf[], size_t size) override; + + void finish(secure_vector& final_block, size_t offset = 0) override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/chacha_rng.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/chacha_rng.h new file mode 100644 index 00000000..c50c2d0c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/chacha_rng.h @@ -0,0 +1,125 @@ +/* +* ChaCha_RNG +* (C) 2017 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CHACHA_RNG_H_ +#define BOTAN_CHACHA_RNG_H_ + +#include +#include +#include + +namespace Botan { + +class Entropy_Sources; + +/** +* ChaCha_RNG is a very fast but completely ad-hoc RNG created by +* creating a 256-bit random value and using it as a key for ChaCha20. +* +* The RNG maintains two 256-bit keys, one for HMAC_SHA256 (HK) and the +* other for ChaCha20 (CK). To compute a new key in response to +* reseeding request or add_entropy calls, ChaCha_RNG computes +* CK' = HMAC_SHA256(HK, input_material) +* Then a new HK' is computed by running ChaCha20 with the new key to +* output 32 bytes: +* HK' = ChaCha20(CK') +* +* Now output can be produced by continuing to produce output with ChaCha20 +* under CK' +* +* The first HK (before seeding occurs) is taken as the all zero value. +* +* @warning This RNG construction is probably fine but is non-standard. +* The primary reason to use it is in cases where the other RNGs are +* not fast enough. +*/ +class BOTAN_PUBLIC_API(2,3) ChaCha_RNG final : public Stateful_RNG + { + public: + /** + * Automatic reseeding is disabled completely, as it has no access to + * any source for seed material. + * + * If a fork is detected, the RNG will be unable to reseed itself + * in response. In this case, an exception will be thrown rather + * than generating duplicated output. + */ + ChaCha_RNG(); + + /** + * Provide an initial seed to the RNG, without providing an + * underlying RNG or entropy source. Automatic reseeding is + * disabled completely, as it has no access to any source for + * seed material. + * + * If a fork is detected, the RNG will be unable to reseed itself + * in response. In this case, an exception will be thrown rather + * than generating duplicated output. + * + * @param seed the seed material, should be at least 256 bits + */ + ChaCha_RNG(const secure_vector& seed); + + /** + * Automatic reseeding from @p underlying_rng will take place after + * @p reseed_interval many requests or after a fork was detected. + * + * @param underlying_rng is a reference to some RNG which will be used + * to perform the periodic reseeding + * @param reseed_interval specifies a limit of how many times + * the RNG will be called before automatic reseeding is performed + */ + ChaCha_RNG(RandomNumberGenerator& underlying_rng, + size_t reseed_interval = BOTAN_RNG_DEFAULT_RESEED_INTERVAL); + + /** + * Automatic reseeding from @p entropy_sources will take place after + * @p reseed_interval many requests or after a fork was detected. + * + * @param entropy_sources will be polled to perform reseeding periodically + * @param reseed_interval specifies a limit of how many times + * the RNG will be called before automatic reseeding is performed. + */ + ChaCha_RNG(Entropy_Sources& entropy_sources, + size_t reseed_interval = BOTAN_RNG_DEFAULT_RESEED_INTERVAL); + + /** + * Automatic reseeding from @p underlying_rng and @p entropy_sources + * will take place after @p reseed_interval many requests or after + * a fork was detected. + * + * @param underlying_rng is a reference to some RNG which will be used + * to perform the periodic reseeding + * @param entropy_sources will be polled to perform reseeding periodically + * @param reseed_interval specifies a limit of how many times + * the RNG will be called before automatic reseeding is performed. + */ + ChaCha_RNG(RandomNumberGenerator& underlying_rng, + Entropy_Sources& entropy_sources, + size_t reseed_interval = BOTAN_RNG_DEFAULT_RESEED_INTERVAL); + + std::string name() const override { return "ChaCha_RNG"; } + + size_t security_level() const override; + + size_t max_number_of_bytes_per_request() const override { return 0; } + + private: + void update(const uint8_t input[], size_t input_len) override; + + void generate_output(uint8_t output[], size_t output_len, + const uint8_t input[], size_t input_len) override; + + void clear_state() override; + + std::unique_ptr m_hmac; + std::unique_ptr m_chacha; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/charset.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/charset.h new file mode 100644 index 00000000..6e7ce30c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/charset.h @@ -0,0 +1,80 @@ +/* +* Character Set Handling +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CHARSET_H_ +#define BOTAN_CHARSET_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(charset.h) + +namespace Botan { + +/** +* Convert a sequence of UCS-2 (big endian) characters to a UTF-8 string +* This is used for ASN.1 BMPString type +* @param ucs2 the sequence of UCS-2 characters +* @param len length of ucs2 in bytes, must be a multiple of 2 +*/ +std::string BOTAN_UNSTABLE_API ucs2_to_utf8(const uint8_t ucs2[], size_t len); + +/** +* Convert a sequence of UCS-4 (big endian) characters to a UTF-8 string +* This is used for ASN.1 UniversalString type +* @param ucs4 the sequence of UCS-4 characters +* @param len length of ucs4 in bytes, must be a multiple of 4 +*/ +std::string BOTAN_UNSTABLE_API ucs4_to_utf8(const uint8_t ucs4[], size_t len); + +/** +* Convert a UTF-8 string to Latin-1 +* If a character outside the Latin-1 range is encountered, an exception is thrown. +*/ +std::string BOTAN_UNSTABLE_API utf8_to_latin1(const std::string& utf8); + +/** +* The different charsets (nominally) supported by Botan. +*/ +enum Character_Set { + LOCAL_CHARSET, + UCS2_CHARSET, + UTF8_CHARSET, + LATIN1_CHARSET +}; + +namespace Charset { + +/* +* Character set conversion - avoid this. +* For specific conversions, use the functions above like +* ucs2_to_utf8 and utf8_to_latin1 +* +* If you need something more complex than that, use a real library +* such as iconv, Boost.Locale, or ICU +*/ +std::string BOTAN_PUBLIC_API(2,0) + BOTAN_DEPRECATED("Avoid. See comment in header.") + transcode(const std::string& str, + Character_Set to, + Character_Set from); + +/* +* Simple character classifier functions +*/ +bool BOTAN_PUBLIC_API(2,0) is_digit(char c); +bool BOTAN_PUBLIC_API(2,0) is_space(char c); +bool BOTAN_PUBLIC_API(2,0) caseless_cmp(char x, char y); + +uint8_t BOTAN_PUBLIC_API(2,0) char2digit(char c); +char BOTAN_PUBLIC_API(2,0) digit2char(uint8_t b); + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cipher_filter.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cipher_filter.h new file mode 100644 index 00000000..84fc58b6 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cipher_filter.h @@ -0,0 +1,14 @@ +/* +* Filter interface for ciphers +* (C) 2013,2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CIPHER_FILTER_H_ +#define BOTAN_CIPHER_FILTER_H_ + +#include +BOTAN_DEPRECATED_HEADER(cipher_filter.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cipher_mode.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cipher_mode.h new file mode 100644 index 00000000..9bf0b681 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cipher_mode.h @@ -0,0 +1,198 @@ +/* +* Cipher Modes +* (C) 2013,2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CIPHER_MODE_H_ +#define BOTAN_CIPHER_MODE_H_ + +#include +#include +#include +#include +#include + +namespace Botan { + +/** +* The two possible directions for cipher filters, determining whether they +* actually perform encryption or decryption. +*/ +enum Cipher_Dir : int { ENCRYPTION, DECRYPTION }; + +/** +* Interface for cipher modes +*/ +class BOTAN_PUBLIC_API(2,0) Cipher_Mode : public SymmetricAlgorithm + { + public: + /** + * @return list of available providers for this algorithm, empty if not available + * @param algo_spec algorithm name + */ + static std::vector providers(const std::string& algo_spec); + + /** + * Create an AEAD mode + * @param algo the algorithm to create + * @param direction specify if this should be an encryption or decryption AEAD + * @param provider optional specification for provider to use + * @return an AEAD mode or a null pointer if not available + */ + static std::unique_ptr create(const std::string& algo, + Cipher_Dir direction, + const std::string& provider = ""); + + /** + * Create an AEAD mode, or throw + * @param algo the algorithm to create + * @param direction specify if this should be an encryption or decryption AEAD + * @param provider optional specification for provider to use + * @return an AEAD mode, or throw an exception + */ + static std::unique_ptr create_or_throw(const std::string& algo, + Cipher_Dir direction, + const std::string& provider = ""); + + /* + * Prepare for processing a message under the specified nonce + */ + virtual void start_msg(const uint8_t nonce[], size_t nonce_len) = 0; + + /** + * Begin processing a message. + * @param nonce the per message nonce + */ + template + void start(const std::vector& nonce) + { + start_msg(nonce.data(), nonce.size()); + } + + /** + * Begin processing a message. + * @param nonce the per message nonce + * @param nonce_len length of nonce + */ + void start(const uint8_t nonce[], size_t nonce_len) + { + start_msg(nonce, nonce_len); + } + + /** + * Begin processing a message. + */ + void start() + { + return start_msg(nullptr, 0); + } + + /** + * Process message blocks + * + * Input must be a multiple of update_granularity + * + * Processes msg in place and returns bytes written. Normally + * this will be either msg_len (indicating the entire message was + * processed) or for certain AEAD modes zero (indicating that the + * mode requires the entire message be processed in one pass). + * + * @param msg the message to be processed + * @param msg_len length of the message in bytes + */ + virtual size_t process(uint8_t msg[], size_t msg_len) = 0; + + /** + * Process some data. Input must be in size update_granularity() uint8_t blocks. + * @param buffer in/out parameter which will possibly be resized + * @param offset an offset into blocks to begin processing + */ + void update(secure_vector& buffer, size_t offset = 0) + { + BOTAN_ASSERT(buffer.size() >= offset, "Offset ok"); + uint8_t* buf = buffer.data() + offset; + const size_t buf_size = buffer.size() - offset; + + const size_t written = process(buf, buf_size); + buffer.resize(offset + written); + } + + /** + * Complete processing of a message. + * + * @param final_block in/out parameter which must be at least + * minimum_final_size() bytes, and will be set to any final output + * @param offset an offset into final_block to begin processing + */ + virtual void finish(secure_vector& final_block, size_t offset = 0) = 0; + + /** + * Returns the size of the output if this transform is used to process a + * message with input_length bytes. In most cases the answer is precise. + * If it is not possible to precise (namely for CBC decryption) instead a + * lower bound is returned. + */ + virtual size_t output_length(size_t input_length) const = 0; + + /** + * @return size of required blocks to update + */ + virtual size_t update_granularity() const = 0; + + /** + * @return required minimium size to finalize() - may be any + * length larger than this. + */ + virtual size_t minimum_final_size() const = 0; + + /** + * @return the default size for a nonce + */ + virtual size_t default_nonce_length() const = 0; + + /** + * @return true iff nonce_len is a valid length for the nonce + */ + virtual bool valid_nonce_length(size_t nonce_len) const = 0; + + /** + * Resets just the message specific state and allows encrypting again under the existing key + */ + virtual void reset() = 0; + + /** + * @return true iff this mode provides authentication as well as + * confidentiality. + */ + virtual bool authenticated() const { return false; } + + /** + * @return the size of the authentication tag used (in bytes) + */ + virtual size_t tag_size() const { return 0; } + + /** + * @return provider information about this implementation. Default is "base", + * might also return "sse2", "avx2", "openssl", or some other arbitrary string. + */ + virtual std::string provider() const { return "base"; } + }; + +/** +* Get a cipher mode by name (eg "AES-128/CBC" or "Serpent/XTS") +* @param algo_spec cipher name +* @param direction ENCRYPTION or DECRYPTION +* @param provider provider implementation to choose +*/ +inline Cipher_Mode* get_cipher_mode(const std::string& algo_spec, + Cipher_Dir direction, + const std::string& provider = "") + { + return Cipher_Mode::create(algo_spec, direction, provider).release(); + } + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cmac.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cmac.h new file mode 100644 index 00000000..f7316759 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cmac.h @@ -0,0 +1,67 @@ +/* +* CMAC +* (C) 1999-2007,2014 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CMAC_H_ +#define BOTAN_CMAC_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(cmac.h) + +namespace Botan { + +/** +* CMAC, also known as OMAC1 +*/ +class BOTAN_PUBLIC_API(2,0) CMAC final : public MessageAuthenticationCode + { + public: + std::string name() const override; + size_t output_length() const override { return m_block_size; } + MessageAuthenticationCode* clone() const override; + + void clear() override; + + Key_Length_Specification key_spec() const override + { + return m_cipher->key_spec(); + } + + /** + * CMAC's polynomial doubling operation + * + * This function was only exposed for use elsewhere in the library, but it is not + * longer used. This function will be removed in a future release. + * + * @param in the input + */ + static secure_vector + BOTAN_DEPRECATED("This was only for internal use and is no longer used") + poly_double(const secure_vector& in); + + /** + * @param cipher the block cipher to use + */ + explicit CMAC(BlockCipher* cipher); + + CMAC(const CMAC&) = delete; + CMAC& operator=(const CMAC&) = delete; + private: + void add_data(const uint8_t[], size_t) override; + void final_result(uint8_t[]) override; + void key_schedule(const uint8_t[], size_t) override; + + std::unique_ptr m_cipher; + secure_vector m_buffer, m_state, m_B, m_P; + const size_t m_block_size; + size_t m_position; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/comb4p.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/comb4p.h new file mode 100644 index 00000000..518314c1 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/comb4p.h @@ -0,0 +1,61 @@ +/* +* Comb4P hash combiner +* (C) 2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_COMB4P_H_ +#define BOTAN_COMB4P_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(comb4p.h) + +namespace Botan { + +/** +* Combines two hash functions using a Feistel scheme. Described in +* "On the Security of Hash Function Combiners", Anja Lehmann +*/ +class BOTAN_PUBLIC_API(2,0) Comb4P final : public HashFunction + { + public: + /** + * @param h1 the first hash + * @param h2 the second hash + */ + Comb4P(HashFunction* h1, HashFunction* h2); + + size_t hash_block_size() const override; + + size_t output_length() const override + { + return m_hash1->output_length() + m_hash2->output_length(); + } + + HashFunction* clone() const override + { + return new Comb4P(m_hash1->clone(), m_hash2->clone()); + } + + std::unique_ptr copy_state() const override; + + std::string name() const override + { + return "Comb4P(" + m_hash1->name() + "," + m_hash2->name() + ")"; + } + + void clear() override; + private: + Comb4P() = default; + + void add_data(const uint8_t input[], size_t length) override; + void final_result(uint8_t out[]) override; + + std::unique_ptr m_hash1, m_hash2; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/comp_filter.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/comp_filter.h new file mode 100644 index 00000000..86b587ac --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/comp_filter.h @@ -0,0 +1,15 @@ +/* +* Filter interface for compression +* (C) 2014,2015,2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_COMPRESSION_FILTER_H_ +#define BOTAN_COMPRESSION_FILTER_H_ + +BOTAN_DEPRECATED_HEADER(comp_filter.h) + +#include + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/compiler.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/compiler.h new file mode 100644 index 00000000..832ab8f2 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/compiler.h @@ -0,0 +1,225 @@ +/* +* Define useful compiler-specific macros +* (C) 2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +/* This header is included in both C++ and C (via ffi.h) and should only + contain macro definitions. Avoid C++ style // comments in this file. +*/ + +#ifndef BOTAN_UTIL_COMPILER_FLAGS_H_ +#define BOTAN_UTIL_COMPILER_FLAGS_H_ + +/* Should we use GCC-style inline assembler? */ +#if defined(BOTAN_BUILD_COMPILER_IS_GCC) || \ + defined(BOTAN_BUILD_COMPILER_IS_CLANG) || \ + defined(BOTAN_BUILD_COMPILER_IS_XLC) || \ + defined(BOTAN_BUILD_COMPILER_IS_SUN_STUDIO) + + #define BOTAN_USE_GCC_INLINE_ASM +#endif + +/** +* Used to annotate API exports which are public and supported. +* These APIs will not be broken/removed unless strictly required for +* functionality or security, and only in new major versions. +* @param maj The major version this public API was released in +* @param min The minor version this public API was released in +*/ +#define BOTAN_PUBLIC_API(maj,min) BOTAN_DLL + +/** +* Used to annotate API exports which are public, but are now deprecated +* and which will be removed in a future major release. +*/ +#define BOTAN_DEPRECATED_API(msg) BOTAN_DLL BOTAN_DEPRECATED(msg) + +/** +* Used to annotate API exports which are public and can be used by +* applications if needed, but which are intentionally not documented, +* and which may change incompatibly in a future major version. +*/ +#define BOTAN_UNSTABLE_API BOTAN_DLL + +/** +* Used to annotate API exports which are exported but only for the +* purposes of testing. They should not be used by applications and +* may be removed or changed without notice. +*/ +#define BOTAN_TEST_API BOTAN_DLL + +/* +* Define BOTAN_GCC_VERSION +*/ +#if defined(__GNUC__) && !defined(__clang__) + #define BOTAN_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__ * 10 + __GNUC_PATCHLEVEL__) +#else + #define BOTAN_GCC_VERSION 0 +#endif + +/* +* Define BOTAN_CLANG_VERSION +*/ +#if defined(__clang__) + #define BOTAN_CLANG_VERSION (__clang_major__ * 10 + __clang_minor__) +#else + #define BOTAN_CLANG_VERSION 0 +#endif + +/* +* Define BOTAN_FUNC_ISA +*/ +#if (defined(__GNUC__) && !defined(__clang__)) || (BOTAN_CLANG_VERSION > 38) + #define BOTAN_FUNC_ISA(isa) __attribute__ ((target(isa))) +#else + #define BOTAN_FUNC_ISA(isa) +#endif + +/* +* Define BOTAN_WARN_UNUSED_RESULT +*/ +#if defined(__GNUC__) || defined(__clang__) + #define BOTAN_WARN_UNUSED_RESULT __attribute__ ((warn_unused_result)) +#else + #define BOTAN_WARN_UNUSED_RESULT +#endif + +/* +* Define BOTAN_MALLOC_FN +*/ +#if defined(__ibmxl__) + /* XLC pretends to be both Clang and GCC, but is neither */ + #define BOTAN_MALLOC_FN __attribute__ ((malloc)) +#elif defined(__GNUC__) + #define BOTAN_MALLOC_FN __attribute__ ((malloc, alloc_size(1,2))) +#elif defined(_MSC_VER) + #define BOTAN_MALLOC_FN __declspec(restrict) +#else + #define BOTAN_MALLOC_FN +#endif + +/* +* Define BOTAN_DEPRECATED +*/ +#if !defined(BOTAN_NO_DEPRECATED_WARNINGS) && !defined(BOTAN_IS_BEING_BUILT) && !defined(BOTAN_AMALGAMATION_H_) + + #if defined(__clang__) + #define BOTAN_DEPRECATED(msg) __attribute__ ((deprecated(msg))) + #define BOTAN_DEPRECATED_HEADER(hdr) _Pragma("message \"this header is deprecated\"") + #define BOTAN_FUTURE_INTERNAL_HEADER(hdr) _Pragma("message \"this header will be made internal in the future\"") + + #elif defined(_MSC_VER) + #define BOTAN_DEPRECATED(msg) __declspec(deprecated(msg)) + #define BOTAN_DEPRECATED_HEADER(hdr) __pragma(message("this header is deprecated")) + #define BOTAN_FUTURE_INTERNAL_HEADER(hdr) __pragma(message("this header will be made internal in the future")) + + #elif defined(__GNUC__) + /* msg supported since GCC 4.5, earliest we support is 4.8 */ + #define BOTAN_DEPRECATED(msg) __attribute__ ((deprecated(msg))) + #define BOTAN_DEPRECATED_HEADER(hdr) _Pragma("GCC warning \"this header is deprecated\"") + #define BOTAN_FUTURE_INTERNAL_HEADER(hdr) _Pragma("GCC warning \"this header will be made internal in the future\"") + #endif + +#endif + +#if !defined(BOTAN_DEPRECATED) + #define BOTAN_DEPRECATED(msg) +#endif + +#if !defined(BOTAN_DEPRECATED_HEADER) + #define BOTAN_DEPRECATED_HEADER(hdr) +#endif + +#if !defined(BOTAN_FUTURE_INTERNAL_HEADER) + #define BOTAN_FUTURE_INTERNAL_HEADER(hdr) +#endif + +/* +* Define BOTAN_NORETURN +*/ +#if !defined(BOTAN_NORETURN) + + #if defined (__clang__) || defined (__GNUC__) + #define BOTAN_NORETURN __attribute__ ((__noreturn__)) + + #elif defined (_MSC_VER) + #define BOTAN_NORETURN __declspec(noreturn) + + #else + #define BOTAN_NORETURN + #endif + +#endif + +/* +* Define BOTAN_THREAD_LOCAL +*/ +#if !defined(BOTAN_THREAD_LOCAL) + + #if defined(BOTAN_TARGET_OS_HAS_THREADS) && defined(BOTAN_TARGET_OS_HAS_THREAD_LOCAL) + #define BOTAN_THREAD_LOCAL thread_local + #else + #define BOTAN_THREAD_LOCAL /**/ + #endif + +#endif + +/* +* Define BOTAN_IF_CONSTEXPR +*/ +#if !defined(BOTAN_IF_CONSTEXPR) + #if __cplusplus >= 201703 + #define BOTAN_IF_CONSTEXPR if constexpr + #else + #define BOTAN_IF_CONSTEXPR if + #endif +#endif + +/* +* Define BOTAN_PARALLEL_FOR +*/ +#if !defined(BOTAN_PARALLEL_FOR) + +#if defined(BOTAN_TARGET_HAS_OPENMP) + #define BOTAN_PARALLEL_FOR _Pragma("omp parallel for") for +#else + #define BOTAN_PARALLEL_FOR for +#endif + +#endif + +/* +* Define BOTAN_FORCE_INLINE +*/ +#if !defined(BOTAN_FORCE_INLINE) + + #if defined (__clang__) || defined (__GNUC__) + #define BOTAN_FORCE_INLINE __attribute__ ((__always_inline__)) inline + + #elif defined (_MSC_VER) + #define BOTAN_FORCE_INLINE __forceinline + + #else + #define BOTAN_FORCE_INLINE inline + #endif + +#endif + +/* +* Define BOTAN_PARALLEL_SIMD_FOR +*/ +#if !defined(BOTAN_PARALLEL_SIMD_FOR) + +#if defined(BOTAN_TARGET_HAS_OPENMP) + #define BOTAN_PARALLEL_SIMD_FOR _Pragma("omp simd") for +#elif defined(BOTAN_BUILD_COMPILER_IS_GCC) && (BOTAN_GCC_VERSION >= 490) + #define BOTAN_PARALLEL_SIMD_FOR _Pragma("GCC ivdep") for +#else + #define BOTAN_PARALLEL_SIMD_FOR for +#endif + +#endif + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cpuid.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cpuid.h new file mode 100644 index 00000000..04d0bbd1 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cpuid.h @@ -0,0 +1,484 @@ +/* +* Runtime CPU detection +* (C) 2009,2010,2013,2017 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CPUID_H_ +#define BOTAN_CPUID_H_ + +#include +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(cpuid.h) + +namespace Botan { + +/** +* A class handling runtime CPU feature detection. It is limited to +* just the features necessary to implement CPU specific code in Botan, +* rather than being a general purpose utility. +* +* This class supports: +* +* - x86 features using CPUID. x86 is also the only processor with +* accurate cache line detection currently. +* +* - PowerPC AltiVec detection on Linux, NetBSD, OpenBSD, and macOS +* +* - ARM NEON and crypto extensions detection. On Linux and Android +* systems which support getauxval, that is used to access CPU +* feature information. Otherwise a relatively portable but +* thread-unsafe mechanism involving executing probe functions which +* catching SIGILL signal is used. +*/ +class BOTAN_PUBLIC_API(2,1) CPUID final + { + public: + /** + * Probe the CPU and see what extensions are supported + */ + static void initialize(); + + static bool has_simd_32(); + + /** + * Deprecated equivalent to + * o << "CPUID flags: " << CPUID::to_string() << "\n"; + */ + BOTAN_DEPRECATED("Use CPUID::to_string") + static void print(std::ostream& o); + + /** + * Return a possibly empty string containing list of known CPU + * extensions. Each name will be seperated by a space, and the ordering + * will be arbitrary. This list only contains values that are useful to + * Botan (for example FMA instructions are not checked). + * + * Example outputs "sse2 ssse3 rdtsc", "neon arm_aes", "altivec" + */ + static std::string to_string(); + + /** + * Return a best guess of the cache line size + */ + static size_t cache_line_size() + { + return state().cache_line_size(); + } + + static bool is_little_endian() + { +#if defined(BOTAN_TARGET_CPU_IS_LITTLE_ENDIAN) + return true; +#elif defined(BOTAN_TARGET_CPU_IS_BIG_ENDIAN) + return false; +#else + return state().endian_status() == Endian_Status::Little; +#endif + } + + static bool is_big_endian() + { +#if defined(BOTAN_TARGET_CPU_IS_BIG_ENDIAN) + return true; +#elif defined(BOTAN_TARGET_CPU_IS_LITTLE_ENDIAN) + return false; +#else + return state().endian_status() == Endian_Status::Big; +#endif + } + + enum CPUID_bits : uint64_t { +#if defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) + // These values have no relation to cpuid bitfields + + // SIMD instruction sets + CPUID_SSE2_BIT = (1ULL << 0), + CPUID_SSSE3_BIT = (1ULL << 1), + CPUID_SSE41_BIT = (1ULL << 2), + CPUID_SSE42_BIT = (1ULL << 3), + CPUID_AVX2_BIT = (1ULL << 4), + CPUID_AVX512F_BIT = (1ULL << 5), + + CPUID_AVX512DQ_BIT = (1ULL << 6), + CPUID_AVX512BW_BIT = (1ULL << 7), + + // Ice Lake profile: AVX-512 F, DQ, BW, IFMA, VBMI, VBMI2, BITALG + CPUID_AVX512_ICL_BIT = (1ULL << 11), + + // Crypto-specific ISAs + CPUID_AESNI_BIT = (1ULL << 16), + CPUID_CLMUL_BIT = (1ULL << 17), + CPUID_RDRAND_BIT = (1ULL << 18), + CPUID_RDSEED_BIT = (1ULL << 19), + CPUID_SHA_BIT = (1ULL << 20), + CPUID_AVX512_AES_BIT = (1ULL << 21), + CPUID_AVX512_CLMUL_BIT = (1ULL << 22), + + // Misc useful instructions + CPUID_RDTSC_BIT = (1ULL << 48), + CPUID_ADX_BIT = (1ULL << 49), + CPUID_BMI1_BIT = (1ULL << 50), + CPUID_BMI2_BIT = (1ULL << 51), +#endif + +#if defined(BOTAN_TARGET_CPU_IS_PPC_FAMILY) + CPUID_ALTIVEC_BIT = (1ULL << 0), + CPUID_POWER_CRYPTO_BIT = (1ULL << 1), + CPUID_DARN_BIT = (1ULL << 2), +#endif + +#if defined(BOTAN_TARGET_CPU_IS_ARM_FAMILY) + CPUID_ARM_NEON_BIT = (1ULL << 0), + CPUID_ARM_SVE_BIT = (1ULL << 1), + CPUID_ARM_AES_BIT = (1ULL << 16), + CPUID_ARM_PMULL_BIT = (1ULL << 17), + CPUID_ARM_SHA1_BIT = (1ULL << 18), + CPUID_ARM_SHA2_BIT = (1ULL << 19), + CPUID_ARM_SHA3_BIT = (1ULL << 20), + CPUID_ARM_SHA2_512_BIT = (1ULL << 21), + CPUID_ARM_SM3_BIT = (1ULL << 22), + CPUID_ARM_SM4_BIT = (1ULL << 23), +#endif + + CPUID_INITIALIZED_BIT = (1ULL << 63) + }; + +#if defined(BOTAN_TARGET_CPU_IS_PPC_FAMILY) + /** + * Check if the processor supports AltiVec/VMX + */ + static bool has_altivec() + { return has_cpuid_bit(CPUID_ALTIVEC_BIT); } + + /** + * Check if the processor supports POWER8 crypto extensions + */ + static bool has_power_crypto() + { return has_cpuid_bit(CPUID_POWER_CRYPTO_BIT); } + + /** + * Check if the processor supports POWER9 DARN RNG + */ + static bool has_darn_rng() + { return has_cpuid_bit(CPUID_DARN_BIT); } + +#endif + +#if defined(BOTAN_TARGET_CPU_IS_ARM_FAMILY) + /** + * Check if the processor supports NEON SIMD + */ + static bool has_neon() + { return has_cpuid_bit(CPUID_ARM_NEON_BIT); } + + /** + * Check if the processor supports ARMv8 SVE + */ + static bool has_arm_sve() + { return has_cpuid_bit(CPUID_ARM_SVE_BIT); } + + /** + * Check if the processor supports ARMv8 SHA1 + */ + static bool has_arm_sha1() + { return has_cpuid_bit(CPUID_ARM_SHA1_BIT); } + + /** + * Check if the processor supports ARMv8 SHA2 + */ + static bool has_arm_sha2() + { return has_cpuid_bit(CPUID_ARM_SHA2_BIT); } + + /** + * Check if the processor supports ARMv8 AES + */ + static bool has_arm_aes() + { return has_cpuid_bit(CPUID_ARM_AES_BIT); } + + /** + * Check if the processor supports ARMv8 PMULL + */ + static bool has_arm_pmull() + { return has_cpuid_bit(CPUID_ARM_PMULL_BIT); } + + /** + * Check if the processor supports ARMv8 SHA-512 + */ + static bool has_arm_sha2_512() + { return has_cpuid_bit(CPUID_ARM_SHA2_512_BIT); } + + /** + * Check if the processor supports ARMv8 SHA-3 + */ + static bool has_arm_sha3() + { return has_cpuid_bit(CPUID_ARM_SHA3_BIT); } + + /** + * Check if the processor supports ARMv8 SM3 + */ + static bool has_arm_sm3() + { return has_cpuid_bit(CPUID_ARM_SM3_BIT); } + + /** + * Check if the processor supports ARMv8 SM4 + */ + static bool has_arm_sm4() + { return has_cpuid_bit(CPUID_ARM_SM4_BIT); } + +#endif + +#if defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) + + /** + * Check if the processor supports RDTSC + */ + static bool has_rdtsc() + { return has_cpuid_bit(CPUID_RDTSC_BIT); } + + /** + * Check if the processor supports SSE2 + */ + static bool has_sse2() + { return has_cpuid_bit(CPUID_SSE2_BIT); } + + /** + * Check if the processor supports SSSE3 + */ + static bool has_ssse3() + { return has_cpuid_bit(CPUID_SSSE3_BIT); } + + /** + * Check if the processor supports SSE4.1 + */ + static bool has_sse41() + { return has_cpuid_bit(CPUID_SSE41_BIT); } + + /** + * Check if the processor supports SSE4.2 + */ + static bool has_sse42() + { return has_cpuid_bit(CPUID_SSE42_BIT); } + + /** + * Check if the processor supports AVX2 + */ + static bool has_avx2() + { return has_cpuid_bit(CPUID_AVX2_BIT); } + + /** + * Check if the processor supports AVX-512F + */ + static bool has_avx512f() + { return has_cpuid_bit(CPUID_AVX512F_BIT); } + + /** + * Check if the processor supports AVX-512DQ + */ + static bool has_avx512dq() + { return has_cpuid_bit(CPUID_AVX512DQ_BIT); } + + /** + * Check if the processor supports AVX-512BW + */ + static bool has_avx512bw() + { return has_cpuid_bit(CPUID_AVX512BW_BIT); } + + /** + * Check if the processor supports AVX-512 Ice Lake profile + */ + static bool has_avx512_icelake() + { return has_cpuid_bit(CPUID_AVX512_ICL_BIT); } + + /** + * Check if the processor supports AVX-512 AES (VAES) + */ + static bool has_avx512_aes() + { return has_cpuid_bit(CPUID_AVX512_AES_BIT); } + + /** + * Check if the processor supports AVX-512 VPCLMULQDQ + */ + static bool has_avx512_clmul() + { return has_cpuid_bit(CPUID_AVX512_CLMUL_BIT); } + + /** + * Check if the processor supports BMI1 + */ + static bool has_bmi1() + { return has_cpuid_bit(CPUID_BMI1_BIT); } + + /** + * Check if the processor supports BMI2 + */ + static bool has_bmi2() + { return has_cpuid_bit(CPUID_BMI2_BIT); } + + /** + * Check if the processor supports AES-NI + */ + static bool has_aes_ni() + { return has_cpuid_bit(CPUID_AESNI_BIT); } + + /** + * Check if the processor supports CLMUL + */ + static bool has_clmul() + { return has_cpuid_bit(CPUID_CLMUL_BIT); } + + /** + * Check if the processor supports Intel SHA extension + */ + static bool has_intel_sha() + { return has_cpuid_bit(CPUID_SHA_BIT); } + + /** + * Check if the processor supports ADX extension + */ + static bool has_adx() + { return has_cpuid_bit(CPUID_ADX_BIT); } + + /** + * Check if the processor supports RDRAND + */ + static bool has_rdrand() + { return has_cpuid_bit(CPUID_RDRAND_BIT); } + + /** + * Check if the processor supports RDSEED + */ + static bool has_rdseed() + { return has_cpuid_bit(CPUID_RDSEED_BIT); } +#endif + + /** + * Check if the processor supports byte-level vector permutes + * (SSSE3, NEON, Altivec) + */ + static bool has_vperm() + { +#if defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) + return has_ssse3(); +#elif defined(BOTAN_TARGET_CPU_IS_ARM_FAMILY) + return has_neon(); +#elif defined(BOTAN_TARGET_CPU_IS_PPC_FAMILY) + return has_altivec(); +#else + return false; +#endif + } + + /** + * Check if the processor supports hardware AES instructions + */ + static bool has_hw_aes() + { +#if defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) + return has_aes_ni(); +#elif defined(BOTAN_TARGET_CPU_IS_ARM_FAMILY) + return has_arm_aes(); +#elif defined(BOTAN_TARGET_CPU_IS_PPC_FAMILY) + return has_power_crypto(); +#else + return false; +#endif + } + + /** + * Check if the processor supports carryless multiply + * (CLMUL, PMULL) + */ + static bool has_carryless_multiply() + { +#if defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) + return has_clmul(); +#elif defined(BOTAN_TARGET_CPU_IS_ARM_FAMILY) + return has_arm_pmull(); +#elif defined(BOTAN_TARGET_ARCH_IS_PPC64) + return has_power_crypto(); +#else + return false; +#endif + } + + /* + * Clear a CPUID bit + * Call CPUID::initialize to reset + * + * This is only exposed for testing, don't use unless you know + * what you are doing. + */ + static void clear_cpuid_bit(CPUID_bits bit) + { + state().clear_cpuid_bit(static_cast(bit)); + } + + /* + * Don't call this function, use CPUID::has_xxx above + * It is only exposed for the tests. + */ + static bool has_cpuid_bit(CPUID_bits elem) + { + const uint64_t elem64 = static_cast(elem); + return state().has_bit(elem64); + } + + static std::vector bit_from_string(const std::string& tok); + private: + enum class Endian_Status : uint32_t { + Unknown = 0x00000000, + Big = 0x01234567, + Little = 0x67452301, + }; + + struct CPUID_Data + { + public: + CPUID_Data(); + + CPUID_Data(const CPUID_Data& other) = default; + CPUID_Data& operator=(const CPUID_Data& other) = default; + + void clear_cpuid_bit(uint64_t bit) + { + m_processor_features &= ~bit; + } + + bool has_bit(uint64_t bit) const + { + return (m_processor_features & bit) == bit; + } + + uint64_t processor_features() const { return m_processor_features; } + Endian_Status endian_status() const { return m_endian_status; } + size_t cache_line_size() const { return m_cache_line_size; } + + private: + static Endian_Status runtime_check_endian(); + +#if defined(BOTAN_TARGET_CPU_IS_PPC_FAMILY) || \ + defined(BOTAN_TARGET_CPU_IS_ARM_FAMILY) || \ + defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) + + static uint64_t detect_cpu_features(size_t* cache_line_size); + +#endif + uint64_t m_processor_features; + size_t m_cache_line_size; + Endian_Status m_endian_status; + }; + + static CPUID_Data& state() + { + static CPUID::CPUID_Data g_cpuid; + return g_cpuid; + } + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/crc24.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/crc24.h new file mode 100644 index 00000000..1809740a --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/crc24.h @@ -0,0 +1,41 @@ +/* +* CRC24 +* (C) 1999-2007 Jack Lloyd +* (C) 2017 [Ribose Inc](https://www.ribose.com). Performed by Krzysztof Kwiatkowski. +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CRC24_H_ +#define BOTAN_CRC24_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(crc24.h) + +namespace Botan { + +/** +* 24-bit cyclic redundancy check +*/ +class BOTAN_PUBLIC_API(2,0) CRC24 final : public HashFunction + { + public: + std::string name() const override { return "CRC24"; } + size_t output_length() const override { return 3; } + HashFunction* clone() const override { return new CRC24; } + std::unique_ptr copy_state() const override; + + void clear() override { m_crc = 0XCE04B7L; } + + CRC24() { clear(); } + ~CRC24() { clear(); } + private: + void add_data(const uint8_t[], size_t) override; + void final_result(uint8_t[]) override; + uint32_t m_crc; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/crc32.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/crc32.h new file mode 100644 index 00000000..f712b42c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/crc32.h @@ -0,0 +1,40 @@ +/* +* CRC32 +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CRC32_H_ +#define BOTAN_CRC32_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(crc32.h) + +namespace Botan { + +/** +* 32-bit cyclic redundancy check +*/ +class BOTAN_PUBLIC_API(2,0) CRC32 final : public HashFunction + { + public: + std::string name() const override { return "CRC32"; } + size_t output_length() const override { return 4; } + HashFunction* clone() const override { return new CRC32; } + std::unique_ptr copy_state() const override; + + void clear() override { m_crc = 0xFFFFFFFF; } + + CRC32() { clear(); } + ~CRC32() { clear(); } + private: + void add_data(const uint8_t[], size_t) override; + void final_result(uint8_t[]) override; + uint32_t m_crc; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/credentials_manager.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/credentials_manager.h new file mode 100644 index 00000000..627894a8 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/credentials_manager.h @@ -0,0 +1,196 @@ +/* +* Credentials Manager +* (C) 2011,2012 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CREDENTIALS_MANAGER_H_ +#define BOTAN_CREDENTIALS_MANAGER_H_ + +#include +#include +#include +#include +#include + +namespace Botan { + +class X509_DN; +class BigInt; + +/** +* Interface for a credentials manager. +* +* A type is a fairly static value that represents the general nature +* of the transaction occurring. Currently used values are "tls-client" +* and "tls-server". Context represents a hostname, email address, +* username, or other identifier. +*/ +class BOTAN_PUBLIC_API(2,0) Credentials_Manager + { + public: + virtual ~Credentials_Manager() = default; + + /** + * Return a list of the certificates of CAs that we trust in this + * type/context. + * + * @param type specifies the type of operation occurring + * + * @param context specifies a context relative to type. For instance + * for type "tls-client", context specifies the servers name. + */ + virtual std::vector trusted_certificate_authorities( + const std::string& type, + const std::string& context); + + /** + * Return a cert chain we can use, ordered from leaf to root, + * or else an empty vector. + * + * It is assumed that the caller can get the private key of the + * leaf with private_key_for + * + * @param cert_key_types specifies the key types desired ("RSA", + * "DSA", "ECDSA", etc), or empty if there + * is no preference by the caller. + * + * @param acceptable_CAs the CAs the requestor will accept (possibly empty) + * @param type specifies the type of operation occurring + * @param context specifies a context relative to type. + */ + virtual std::vector find_cert_chain( + const std::vector& cert_key_types, + const std::vector& acceptable_CAs, + const std::string& type, + const std::string& context); + + /** + * Return a cert chain we can use, ordered from leaf to root, + * or else an empty vector. + * + * This virtual function is deprecated, and will be removed in a + * future release. Use (and override) find_cert_chain instead. + * + * It is assumed that the caller can get the private key of the + * leaf with private_key_for + * + * @param cert_key_types specifies the key types desired ("RSA", + * "DSA", "ECDSA", etc), or empty if there + * is no preference by the caller. + * + * @param type specifies the type of operation occurring + * + * @param context specifies a context relative to type. + */ + virtual std::vector cert_chain( + const std::vector& cert_key_types, + const std::string& type, + const std::string& context); + + /** + * Return a cert chain we can use, ordered from leaf to root, + * or else an empty vector. + * + * It is assumed that the caller can get the private key of the + * leaf with private_key_for + * + * @param cert_key_type specifies the type of key requested + * ("RSA", "DSA", "ECDSA", etc) + * + * @param type specifies the type of operation occurring + * + * @param context specifies a context relative to type. + */ + std::vector cert_chain_single_type( + const std::string& cert_key_type, + const std::string& type, + const std::string& context); + + /** + * @return private key associated with this certificate if we should + * use it with this context. cert was returned by cert_chain + * @note this object should retain ownership of the returned key; + * it should not be deleted by the caller. + */ + virtual Private_Key* private_key_for(const X509_Certificate& cert, + const std::string& type, + const std::string& context); + + /** + * @param type specifies the type of operation occurring + * @param context specifies a context relative to type. + * @return true if we should attempt SRP authentication + */ + virtual bool attempt_srp(const std::string& type, + const std::string& context); + + /** + * @param type specifies the type of operation occurring + * @param context specifies a context relative to type. + * @return identifier for client-side SRP auth, if available + for this type/context. Should return empty string + if password auth not desired/available. + */ + virtual std::string srp_identifier(const std::string& type, + const std::string& context); + + /** + * @param type specifies the type of operation occurring + * @param context specifies a context relative to type. + * @param identifier specifies what identifier we want the + * password for. This will be a value previously returned + * by srp_identifier. + * @return password for client-side SRP auth, if available + for this identifier/type/context. + */ + virtual std::string srp_password(const std::string& type, + const std::string& context, + const std::string& identifier); + + /** + * Retrieve SRP verifier parameters + */ + virtual bool srp_verifier(const std::string& type, + const std::string& context, + const std::string& identifier, + std::string& group_name, + BigInt& verifier, + std::vector& salt, + bool generate_fake_on_unknown); + + /** + * @param type specifies the type of operation occurring + * @param context specifies a context relative to type. + * @return the PSK identity hint for this type/context + */ + virtual std::string psk_identity_hint(const std::string& type, + const std::string& context); + + /** + * @param type specifies the type of operation occurring + * @param context specifies a context relative to type. + * @param identity_hint was passed by the server (but may be empty) + * @return the PSK identity we want to use + */ + virtual std::string psk_identity(const std::string& type, + const std::string& context, + const std::string& identity_hint); + + /** + * @param type specifies the type of operation occurring + * @param context specifies a context relative to type. + * @param identity is a PSK identity previously returned by + psk_identity for the same type and context. + * @return the PSK used for identity, or throw an exception if no + * key exists + */ + virtual SymmetricKey psk(const std::string& type, + const std::string& context, + const std::string& identity); + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/crl_ent.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/crl_ent.h new file mode 100644 index 00000000..aa60d417 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/crl_ent.h @@ -0,0 +1,11 @@ +/* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CRL_ENTRY_H_ +#define BOTAN_CRL_ENTRY_H_ + +#include +BOTAN_DEPRECATED_HEADER(crl_ent.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cryptobox.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cryptobox.h new file mode 100644 index 00000000..977ef37d --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/cryptobox.h @@ -0,0 +1,79 @@ +/* +* Cryptobox Message Routines +* (C) 2009 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CRYPTOBOX_H_ +#define BOTAN_CRYPTOBOX_H_ + +#include +#include + +namespace Botan { + +class RandomNumberGenerator; + +/** +* This namespace holds various high-level crypto functions +*/ +namespace CryptoBox { + +/** +* Encrypt a message using a passphrase +* @param input the input data +* @param input_len the length of input in bytes +* @param passphrase the passphrase used to encrypt the message +* @param rng a ref to a random number generator, such as AutoSeeded_RNG +*/ +BOTAN_PUBLIC_API(2,0) std::string encrypt(const uint8_t input[], size_t input_len, + const std::string& passphrase, + RandomNumberGenerator& rng); + + +/** +* Decrypt a message encrypted with CryptoBox::encrypt +* @param input the input data +* @param input_len the length of input in bytes +* @param passphrase the passphrase used to encrypt the message +*/ +BOTAN_PUBLIC_API(2,3) +secure_vector +decrypt_bin(const uint8_t input[], size_t input_len, + const std::string& passphrase); + +/** +* Decrypt a message encrypted with CryptoBox::encrypt +* @param input the input data +* @param passphrase the passphrase used to encrypt the message +*/ +BOTAN_PUBLIC_API(2,3) +secure_vector +decrypt_bin(const std::string& input, + const std::string& passphrase); + +/** +* Decrypt a message encrypted with CryptoBox::encrypt +* @param input the input data +* @param input_len the length of input in bytes +* @param passphrase the passphrase used to encrypt the message +*/ +BOTAN_PUBLIC_API(2,0) +std::string decrypt(const uint8_t input[], size_t input_len, + const std::string& passphrase); + +/** +* Decrypt a message encrypted with CryptoBox::encrypt +* @param input the input data +* @param passphrase the passphrase used to encrypt the message +*/ +BOTAN_PUBLIC_API(2,0) +std::string decrypt(const std::string& input, + const std::string& passphrase); + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ctr.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ctr.h new file mode 100644 index 00000000..0687c606 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ctr.h @@ -0,0 +1,65 @@ +/* +* CTR-BE Mode +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CTR_BE_H_ +#define BOTAN_CTR_BE_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(ctr.h) + +namespace Botan { + +/** +* CTR-BE (Counter mode, big-endian) +*/ +class BOTAN_PUBLIC_API(2,0) CTR_BE final : public StreamCipher + { + public: + void cipher(const uint8_t in[], uint8_t out[], size_t length) override; + + void set_iv(const uint8_t iv[], size_t iv_len) override; + + size_t default_iv_length() const override; + + bool valid_iv_length(size_t iv_len) const override; + + Key_Length_Specification key_spec() const override; + + std::string name() const override; + + CTR_BE* clone() const override; + + void clear() override; + + /** + * @param cipher the block cipher to use + */ + explicit CTR_BE(BlockCipher* cipher); + + CTR_BE(BlockCipher* cipher, size_t ctr_size); + + void seek(uint64_t offset) override; + private: + void key_schedule(const uint8_t key[], size_t key_len) override; + void add_counter(const uint64_t counter); + + std::unique_ptr m_cipher; + + const size_t m_block_size; + const size_t m_ctr_size; + const size_t m_ctr_blocks; + + secure_vector m_counter, m_pad; + std::vector m_iv; + size_t m_pad_pos; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/curve25519.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/curve25519.h new file mode 100644 index 00000000..c2f8f42b --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/curve25519.h @@ -0,0 +1,123 @@ +/* +* Curve25519 +* (C) 2014 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CURVE_25519_H_ +#define BOTAN_CURVE_25519_H_ + +#include + +namespace Botan { + +class BOTAN_PUBLIC_API(2,0) Curve25519_PublicKey : public virtual Public_Key + { + public: + std::string algo_name() const override { return "Curve25519"; } + + size_t estimated_strength() const override { return 128; } + + size_t key_length() const override { return 255; } + + bool check_key(RandomNumberGenerator& rng, bool strong) const override; + + AlgorithmIdentifier algorithm_identifier() const override; + + std::vector public_key_bits() const override; + + std::vector public_value() const { return m_public; } + + /** + * Create a Curve25519 Public Key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits DER encoded public key bits + */ + Curve25519_PublicKey(const AlgorithmIdentifier& alg_id, + const std::vector& key_bits); + + /** + * Create a Curve25519 Public Key. + * @param pub 32-byte raw public key + */ + explicit Curve25519_PublicKey(const std::vector& pub) : m_public(pub) {} + + /** + * Create a Curve25519 Public Key. + * @param pub 32-byte raw public key + */ + explicit Curve25519_PublicKey(const secure_vector& pub) : + m_public(pub.begin(), pub.end()) {} + + protected: + Curve25519_PublicKey() = default; + std::vector m_public; + }; + +class BOTAN_PUBLIC_API(2,0) Curve25519_PrivateKey final : public Curve25519_PublicKey, + public virtual Private_Key, + public virtual PK_Key_Agreement_Key + { + public: + /** + * Construct a private key from the specified parameters. + * @param alg_id the X.509 algorithm identifier + * @param key_bits PKCS #8 structure + */ + Curve25519_PrivateKey(const AlgorithmIdentifier& alg_id, + const secure_vector& key_bits); + + /** + * Generate a private key. + * @param rng the RNG to use + */ + explicit Curve25519_PrivateKey(RandomNumberGenerator& rng); + + /** + * Construct a private key from the specified parameters. + * @param secret_key the private key + */ + explicit Curve25519_PrivateKey(const secure_vector& secret_key); + + std::vector public_value() const override { return Curve25519_PublicKey::public_value(); } + + secure_vector agree(const uint8_t w[], size_t w_len) const; + + const secure_vector& get_x() const { return m_private; } + + secure_vector private_key_bits() const override; + + bool check_key(RandomNumberGenerator& rng, bool strong) const override; + + std::unique_ptr + create_key_agreement_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + + private: + secure_vector m_private; + }; + +typedef Curve25519_PublicKey X25519_PublicKey; +typedef Curve25519_PrivateKey X25519_PrivateKey; + +/* +* The types above are just wrappers for curve25519_donna, plus defining +* encodings for public and private keys. +*/ +void BOTAN_PUBLIC_API(2,0) curve25519_donna(uint8_t mypublic[32], + const uint8_t secret[32], + const uint8_t basepoint[32]); + +/** +* Exponentiate by the x25519 base point +* @param mypublic output value +* @param secret random scalar +*/ +void BOTAN_PUBLIC_API(2,0) curve25519_basepoint(uint8_t mypublic[32], + const uint8_t secret[32]); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/curve_gfp.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/curve_gfp.h new file mode 100644 index 00000000..77c04ebf --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/curve_gfp.h @@ -0,0 +1,265 @@ +/* +* Elliptic curves over GF(p) +* +* (C) 2007 Martin Doering, Christoph Ludwig, Falko Strenzke +* 2010-2011,2012,2014 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_GFP_CURVE_H_ +#define BOTAN_GFP_CURVE_H_ + +#include +#include + +// Currently exposed in PointGFp +//BOTAN_FUTURE_INTERNAL_HEADER(curve_gfp.h) + +namespace Botan { + +class BOTAN_UNSTABLE_API CurveGFp_Repr + { + public: + virtual ~CurveGFp_Repr() = default; + + virtual const BigInt& get_p() const = 0; + virtual const BigInt& get_a() const = 0; + virtual const BigInt& get_b() const = 0; + + virtual size_t get_p_words() const = 0; + + virtual size_t get_ws_size() const = 0; + + virtual bool is_one(const BigInt& x) const = 0; + + virtual bool a_is_zero() const = 0; + + virtual bool a_is_minus_3() const = 0; + + /* + * Returns to_curve_rep(get_a()) + */ + virtual const BigInt& get_a_rep() const = 0; + + /* + * Returns to_curve_rep(get_b()) + */ + virtual const BigInt& get_b_rep() const = 0; + + /* + * Returns to_curve_rep(1) + */ + virtual const BigInt& get_1_rep() const = 0; + + virtual BigInt invert_element(const BigInt& x, secure_vector& ws) const = 0; + + virtual void to_curve_rep(BigInt& x, secure_vector& ws) const = 0; + + virtual void from_curve_rep(BigInt& x, secure_vector& ws) const = 0; + + void curve_mul(BigInt& z, const BigInt& x, const BigInt& y, + secure_vector& ws) const + { + BOTAN_DEBUG_ASSERT(x.sig_words() <= get_p_words()); + curve_mul_words(z, x.data(), x.size(), y, ws); + } + + virtual void curve_mul_words(BigInt& z, + const word x_words[], + const size_t x_size, + const BigInt& y, + secure_vector& ws) const = 0; + + void curve_sqr(BigInt& z, const BigInt& x, + secure_vector& ws) const + { + BOTAN_DEBUG_ASSERT(x.sig_words() <= get_p_words()); + curve_sqr_words(z, x.data(), x.size(), ws); + } + + virtual void curve_sqr_words(BigInt& z, + const word x_words[], + size_t x_size, + secure_vector& ws) const = 0; + }; + +/** +* This class represents an elliptic curve over GF(p) +* +* There should not be any reason for applications to use this type. +* If you need EC primitives use the interfaces EC_Group and PointGFp +* +* It is likely this class will be removed entirely in a future major +* release. +*/ +class BOTAN_UNSTABLE_API CurveGFp final + { + public: + + /** + * Create an uninitialized CurveGFp + */ + CurveGFp() = default; + + /** + * Construct the elliptic curve E: y^2 = x^3 + ax + b over GF(p) + * @param p prime number of the field + * @param a first coefficient + * @param b second coefficient + */ + CurveGFp(const BigInt& p, const BigInt& a, const BigInt& b) : + m_repr(choose_repr(p, a, b)) + { + } + + CurveGFp(const CurveGFp&) = default; + + CurveGFp& operator=(const CurveGFp&) = default; + + /** + * @return curve coefficient a + */ + const BigInt& get_a() const { return m_repr->get_a(); } + + /** + * @return curve coefficient b + */ + const BigInt& get_b() const { return m_repr->get_b(); } + + /** + * Get prime modulus of the field of the curve + * @return prime modulus of the field of the curve + */ + const BigInt& get_p() const { return m_repr->get_p(); } + + size_t get_p_words() const { return m_repr->get_p_words(); } + + size_t get_ws_size() const { return m_repr->get_ws_size(); } + + const BigInt& get_a_rep() const { return m_repr->get_a_rep(); } + + const BigInt& get_b_rep() const { return m_repr->get_b_rep(); } + + const BigInt& get_1_rep() const { return m_repr->get_1_rep(); } + + bool a_is_minus_3() const { return m_repr->a_is_minus_3(); } + bool a_is_zero() const { return m_repr->a_is_zero(); } + + bool is_one(const BigInt& x) const { return m_repr->is_one(x); } + + BigInt invert_element(const BigInt& x, secure_vector& ws) const + { + return m_repr->invert_element(x, ws); + } + + void to_rep(BigInt& x, secure_vector& ws) const + { + m_repr->to_curve_rep(x, ws); + } + + void from_rep(BigInt& x, secure_vector& ws) const + { + m_repr->from_curve_rep(x, ws); + } + + BigInt from_rep_to_tmp(const BigInt& x, secure_vector& ws) const + { + BigInt xt(x); + m_repr->from_curve_rep(xt, ws); + return xt; + } + + // TODO: from_rep taking && ref + + void mul(BigInt& z, const BigInt& x, const BigInt& y, secure_vector& ws) const + { + m_repr->curve_mul(z, x, y, ws); + } + + void mul(BigInt& z, const word x_w[], size_t x_size, + const BigInt& y, secure_vector& ws) const + { + m_repr->curve_mul_words(z, x_w, x_size, y, ws); + } + + void sqr(BigInt& z, const BigInt& x, secure_vector& ws) const + { + m_repr->curve_sqr(z, x, ws); + } + + void sqr(BigInt& z, const word x_w[], size_t x_size, secure_vector& ws) const + { + m_repr->curve_sqr_words(z, x_w, x_size, ws); + } + + BigInt mul(const BigInt& x, const BigInt& y, secure_vector& ws) const + { + return mul_to_tmp(x, y, ws); + } + + BigInt sqr(const BigInt& x, secure_vector& ws) const + { + return sqr_to_tmp(x, ws); + } + + BigInt mul_to_tmp(const BigInt& x, const BigInt& y, secure_vector& ws) const + { + BigInt z; + m_repr->curve_mul(z, x, y, ws); + return z; + } + + BigInt sqr_to_tmp(const BigInt& x, secure_vector& ws) const + { + BigInt z; + m_repr->curve_sqr(z, x, ws); + return z; + } + + void swap(CurveGFp& other) + { + std::swap(m_repr, other.m_repr); + } + + /** + * Equality operator + * @param other a curve + * @return true iff *this is the same as other + */ + inline bool operator==(const CurveGFp& other) const + { + if(m_repr.get() == other.m_repr.get()) + return true; + + return (get_p() == other.get_p()) && + (get_a() == other.get_a()) && + (get_b() == other.get_b()); + } + + private: + static std::shared_ptr + choose_repr(const BigInt& p, const BigInt& a, const BigInt& b); + + std::shared_ptr m_repr; + }; + +inline bool operator!=(const CurveGFp& lhs, const CurveGFp& rhs) + { + return !(lhs == rhs); + } + +} + +namespace std { + +template<> inline +void swap(Botan::CurveGFp& curve1, + Botan::CurveGFp& curve2) noexcept + { + curve1.swap(curve2); + } + +} // namespace std + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/curve_nistp.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/curve_nistp.h new file mode 100644 index 00000000..19d1bd25 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/curve_nistp.h @@ -0,0 +1,49 @@ +/* +* Arithmetic operations specialized for NIST ECC primes +* (C) 2014,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_NIST_PRIMES_H_ +#define BOTAN_NIST_PRIMES_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(curve_nistp.h) + +namespace Botan { + +/** +* NIST Prime reduction functions. +* +* Reduces the value in place +* +* ws is a workspace function which is used as a temporary, +* and will be resized as needed. +*/ +BOTAN_PUBLIC_API(2,0) const BigInt& prime_p521(); +BOTAN_PUBLIC_API(2,0) void redc_p521(BigInt& x, secure_vector& ws); + +/* +Previously this macro indicated if the P-{192,224,256,384} reducers +were available. Now they are always enabled and this macro has no meaning. +The define will be removed in a future major release. +*/ +#define BOTAN_HAS_NIST_PRIME_REDUCERS_W32 + +BOTAN_PUBLIC_API(2,0) const BigInt& prime_p384(); +BOTAN_PUBLIC_API(2,0) void redc_p384(BigInt& x, secure_vector& ws); + +BOTAN_PUBLIC_API(2,0) const BigInt& prime_p256(); +BOTAN_PUBLIC_API(2,0) void redc_p256(BigInt& x, secure_vector& ws); + +BOTAN_PUBLIC_API(2,0) const BigInt& prime_p224(); +BOTAN_PUBLIC_API(2,0) void redc_p224(BigInt& x, secure_vector& ws); + +BOTAN_PUBLIC_API(2,0) const BigInt& prime_p192(); +BOTAN_PUBLIC_API(2,0) void redc_p192(BigInt& x, secure_vector& ws); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/data_snk.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/data_snk.h new file mode 100644 index 00000000..49484b1c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/data_snk.h @@ -0,0 +1,76 @@ +/* +* DataSink +* (C) 1999-2007 Jack Lloyd +* 2017 Philippe Lieser +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_DATA_SINK_H_ +#define BOTAN_DATA_SINK_H_ + +#include +#include +#include + +namespace Botan { + +/** +* This class represents abstract data sink objects. +*/ +class BOTAN_PUBLIC_API(2,0) DataSink : public Filter + { + public: + bool attachable() override { return false; } + DataSink() = default; + virtual ~DataSink() = default; + + DataSink& operator=(const DataSink&) = delete; + DataSink(const DataSink&) = delete; + }; + +/** +* This class represents a data sink which writes its output to a stream. +*/ +class BOTAN_PUBLIC_API(2,0) DataSink_Stream final : public DataSink + { + public: + /** + * Construct a DataSink_Stream from a stream. + * @param stream the stream to write to + * @param name identifier + */ + DataSink_Stream(std::ostream& stream, + const std::string& name = ""); + +#if defined(BOTAN_TARGET_OS_HAS_FILESYSTEM) + + /** + * Construct a DataSink_Stream from a filesystem path name. + * @param pathname the name of the file to open a stream to + * @param use_binary indicates whether to treat the file + * as a binary file or not + */ + DataSink_Stream(const std::string& pathname, + bool use_binary = false); +#endif + + std::string name() const override { return m_identifier; } + + void write(const uint8_t[], size_t) override; + + void end_msg() override; + + ~DataSink_Stream(); + + private: + const std::string m_identifier; + + // May be null, if m_sink was an external reference + std::unique_ptr m_sink_memory; + std::ostream& m_sink; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/data_src.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/data_src.h new file mode 100644 index 00000000..09c1bffd --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/data_src.h @@ -0,0 +1,181 @@ +/* +* DataSource +* (C) 1999-2007 Jack Lloyd +* 2012 Markus Wanner +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_DATA_SRC_H_ +#define BOTAN_DATA_SRC_H_ + +#include +#include +#include + +namespace Botan { + +/** +* This class represents an abstract data source object. +*/ +class BOTAN_PUBLIC_API(2,0) DataSource + { + public: + /** + * Read from the source. Moves the internal offset so that every + * call to read will return a new portion of the source. + * + * @param out the byte array to write the result to + * @param length the length of the byte array out + * @return length in bytes that was actually read and put + * into out + */ + virtual size_t read(uint8_t out[], size_t length) BOTAN_WARN_UNUSED_RESULT = 0; + + virtual bool check_available(size_t n) = 0; + + /** + * Read from the source but do not modify the internal + * offset. Consecutive calls to peek() will return portions of + * the source starting at the same position. + * + * @param out the byte array to write the output to + * @param length the length of the byte array out + * @param peek_offset the offset into the stream to read at + * @return length in bytes that was actually read and put + * into out + */ + virtual size_t peek(uint8_t out[], size_t length, size_t peek_offset) const BOTAN_WARN_UNUSED_RESULT = 0; + + /** + * Test whether the source still has data that can be read. + * @return true if there is no more data to read, false otherwise + */ + virtual bool end_of_data() const = 0; + /** + * return the id of this data source + * @return std::string representing the id of this data source + */ + virtual std::string id() const { return ""; } + + /** + * Read one byte. + * @param out the byte to read to + * @return length in bytes that was actually read and put + * into out + */ + size_t read_byte(uint8_t& out); + + /** + * Peek at one byte. + * @param out an output byte + * @return length in bytes that was actually read and put + * into out + */ + size_t peek_byte(uint8_t& out) const; + + /** + * Discard the next N bytes of the data + * @param N the number of bytes to discard + * @return number of bytes actually discarded + */ + size_t discard_next(size_t N); + + /** + * @return number of bytes read so far. + */ + virtual size_t get_bytes_read() const = 0; + + DataSource() = default; + virtual ~DataSource() = default; + DataSource& operator=(const DataSource&) = delete; + DataSource(const DataSource&) = delete; + }; + +/** +* This class represents a Memory-Based DataSource +*/ +class BOTAN_PUBLIC_API(2,0) DataSource_Memory final : public DataSource + { + public: + size_t read(uint8_t[], size_t) override; + size_t peek(uint8_t[], size_t, size_t) const override; + bool check_available(size_t n) override; + bool end_of_data() const override; + + /** + * Construct a memory source that reads from a string + * @param in the string to read from + */ + explicit DataSource_Memory(const std::string& in); + + /** + * Construct a memory source that reads from a byte array + * @param in the byte array to read from + * @param length the length of the byte array + */ + DataSource_Memory(const uint8_t in[], size_t length) : + m_source(in, in + length), m_offset(0) {} + + /** + * Construct a memory source that reads from a secure_vector + * @param in the MemoryRegion to read from + */ + explicit DataSource_Memory(const secure_vector& in) : + m_source(in), m_offset(0) {} + + /** + * Construct a memory source that reads from a std::vector + * @param in the MemoryRegion to read from + */ + explicit DataSource_Memory(const std::vector& in) : + m_source(in.begin(), in.end()), m_offset(0) {} + + size_t get_bytes_read() const override { return m_offset; } + private: + secure_vector m_source; + size_t m_offset; + }; + +/** +* This class represents a Stream-Based DataSource. +*/ +class BOTAN_PUBLIC_API(2,0) DataSource_Stream final : public DataSource + { + public: + size_t read(uint8_t[], size_t) override; + size_t peek(uint8_t[], size_t, size_t) const override; + bool check_available(size_t n) override; + bool end_of_data() const override; + std::string id() const override; + + DataSource_Stream(std::istream&, + const std::string& id = ""); + +#if defined(BOTAN_TARGET_OS_HAS_FILESYSTEM) + /** + * Construct a Stream-Based DataSource from filesystem path + * @param file the path to the file + * @param use_binary whether to treat the file as binary or not + */ + DataSource_Stream(const std::string& file, bool use_binary = false); +#endif + + DataSource_Stream(const DataSource_Stream&) = delete; + + DataSource_Stream& operator=(const DataSource_Stream&) = delete; + + ~DataSource_Stream(); + + size_t get_bytes_read() const override { return m_total_read; } + private: + const std::string m_identifier; + + std::unique_ptr m_source_memory; + std::istream& m_source; + size_t m_total_read; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/database.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/database.h new file mode 100644 index 00000000..713d4fc5 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/database.h @@ -0,0 +1,88 @@ +/* +* SQL database interface +* (C) 2014 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SQL_DATABASE_H_ +#define BOTAN_SQL_DATABASE_H_ + +#include +#include +#include +#include +#include + +namespace Botan { + +class BOTAN_PUBLIC_API(2,0) SQL_Database + { + public: + + class BOTAN_PUBLIC_API(2,0) SQL_DB_Error final : public Exception + { + public: + explicit SQL_DB_Error(const std::string& what) : + Exception("SQL database", what), + m_rc(0) + {} + + SQL_DB_Error(const std::string& what, int rc) : + Exception("SQL database", what), + m_rc(rc) + {} + + ErrorType error_type() const noexcept override { return Botan::ErrorType::DatabaseError; } + + int error_code() const noexcept override { return m_rc; } + private: + int m_rc; + }; + + class BOTAN_PUBLIC_API(2,0) Statement + { + public: + /* Bind statement parameters */ + virtual void bind(int column, const std::string& str) = 0; + + virtual void bind(int column, size_t i) = 0; + + virtual void bind(int column, std::chrono::system_clock::time_point time) = 0; + + virtual void bind(int column, const std::vector& blob) = 0; + + virtual void bind(int column, const uint8_t* data, size_t len) = 0; + + /* Get output */ + virtual std::pair get_blob(int column) = 0; + + virtual std::string get_str(int column) = 0; + + virtual size_t get_size_t(int column) = 0; + + /* Run to completion */ + virtual size_t spin() = 0; + + /* Maybe update */ + virtual bool step() = 0; + + virtual ~Statement() = default; + }; + + /* + * Create a new statement for execution. + * Use ?1, ?2, ?3, etc for parameters to set later with bind + */ + virtual std::shared_ptr new_statement(const std::string& base_sql) const = 0; + + virtual size_t row_count(const std::string& table_name) = 0; + + virtual void create_table(const std::string& table_schema) = 0; + + virtual ~SQL_Database() = default; +}; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/datastor.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/datastor.h new file mode 100644 index 00000000..1ff85c22 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/datastor.h @@ -0,0 +1,85 @@ +/* +* Data Store +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_DATA_STORE_H_ +#define BOTAN_DATA_STORE_H_ + +#include +#include +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(datastor.h) + +namespace Botan { + +/** +* Data Store +* +* This class is used internally by the library, and exposed for ABI +* reasons. There is no reason for applications to use this type directly. +* It will be removed in a future major release. +*/ +class BOTAN_UNSTABLE_API Data_Store final + { + public: + /** + * A search function + */ + bool operator==(const Data_Store&) const; + + std::multimap search_for( + std::function predicate) const; + + std::vector get(const std::string&) const; + + std::string get1(const std::string& key) const; + + std::string get1(const std::string& key, + const std::string& default_value) const; + + std::vector get1_memvec(const std::string&) const; + uint32_t get1_uint32(const std::string&, uint32_t = 0) const; + + bool has_value(const std::string&) const; + + void add(const std::multimap&); + void add(const std::string&, const std::string&); + void add(const std::string&, uint32_t); + void add(const std::string&, const secure_vector&); + void add(const std::string&, const std::vector&); + private: + std::multimap m_contents; + }; + +/* +* Data Store Extraction Operations +*/ + +/* +* Create and populate a X509_DN +* @param info data store containing DN information +* @return DN containing attributes from data store +*/ +BOTAN_PUBLIC_API(2,0) X509_DN +BOTAN_DEPRECATED("Avoid roundtripping names through Data_Store") +create_dn(const Data_Store& info); + +/* +* Create and populate an AlternativeName +* @param info data store containing AlternativeName information +* @return AlternativeName containing attributes from data store +*/ +BOTAN_PUBLIC_API(2,0) AlternativeName +BOTAN_DEPRECATED("Avoid roundtripping names through Data_Store") +create_alt_name(const Data_Store& info); + + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/der_enc.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/der_enc.h new file mode 100644 index 00000000..93d53f4b --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/der_enc.h @@ -0,0 +1,227 @@ +/* +* DER Encoder +* (C) 1999-2007,2018 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_DER_ENCODER_H_ +#define BOTAN_DER_ENCODER_H_ + +#include +#include +#include + +namespace Botan { + +class BigInt; + +/** +* General DER Encoding Object +*/ +class BOTAN_PUBLIC_API(2,0) DER_Encoder final + { + public: + typedef std::function append_fn; + + /** + * DER encode, writing to an internal buffer + * Use get_contents or get_contents_unlocked to read the results + * after all encoding is completed. + */ + DER_Encoder() = default; + + /** + * DER encode, writing to @param vec + * If this constructor is used, get_contents* may not be called. + */ + DER_Encoder(secure_vector& vec); + + /** + * DER encode, writing to @param vec + * If this constructor is used, get_contents* may not be called. + */ + DER_Encoder(std::vector& vec); + + /** + * DER encode, calling append to write output + * If this constructor is used, get_contents* may not be called. + */ + DER_Encoder(append_fn append) : m_append_output(append) {} + + secure_vector get_contents(); + + /** + * Return the encoded contents as a std::vector + * + * If using this function, instead pass a std::vector to the + * contructor of DER_Encoder where the output will be placed. This + * avoids several unecessary copies. + */ + std::vector BOTAN_DEPRECATED("Use DER_Encoder(vector) instead") get_contents_unlocked(); + + DER_Encoder& start_cons(ASN1_Tag type_tag, + ASN1_Tag class_tag = UNIVERSAL); + DER_Encoder& end_cons(); + + DER_Encoder& start_explicit(uint16_t type_tag); + DER_Encoder& end_explicit(); + + /** + * Insert raw bytes directly into the output stream + */ + DER_Encoder& raw_bytes(const uint8_t val[], size_t len); + + template + DER_Encoder& raw_bytes(const std::vector& val) + { + return raw_bytes(val.data(), val.size()); + } + + DER_Encoder& encode_null(); + DER_Encoder& encode(bool b); + DER_Encoder& encode(size_t s); + DER_Encoder& encode(const BigInt& n); + DER_Encoder& encode(const uint8_t val[], size_t len, ASN1_Tag real_type); + + template + DER_Encoder& encode(const std::vector& vec, ASN1_Tag real_type) + { + return encode(vec.data(), vec.size(), real_type); + } + + DER_Encoder& encode(bool b, + ASN1_Tag type_tag, + ASN1_Tag class_tag = CONTEXT_SPECIFIC); + + DER_Encoder& encode(size_t s, + ASN1_Tag type_tag, + ASN1_Tag class_tag = CONTEXT_SPECIFIC); + + DER_Encoder& encode(const BigInt& n, + ASN1_Tag type_tag, + ASN1_Tag class_tag = CONTEXT_SPECIFIC); + + DER_Encoder& encode(const uint8_t v[], size_t len, + ASN1_Tag real_type, + ASN1_Tag type_tag, + ASN1_Tag class_tag = CONTEXT_SPECIFIC); + + template + DER_Encoder& encode(const std::vector& bytes, + ASN1_Tag real_type, + ASN1_Tag type_tag, ASN1_Tag class_tag) + { + return encode(bytes.data(), bytes.size(), + real_type, type_tag, class_tag); + } + + template + DER_Encoder& encode_optional(const T& value, const T& default_value) + { + if(value != default_value) + encode(value); + return (*this); + } + + template + DER_Encoder& encode_list(const std::vector& values) + { + for(size_t i = 0; i != values.size(); ++i) + encode(values[i]); + return (*this); + } + + /* + * Request for an object to encode itself to this stream + */ + DER_Encoder& encode(const ASN1_Object& obj); + + /* + * Conditionally write some values to the stream + */ + DER_Encoder& encode_if(bool pred, DER_Encoder& enc) + { + if(pred) + return raw_bytes(enc.get_contents()); + return (*this); + } + + DER_Encoder& encode_if(bool pred, const ASN1_Object& obj) + { + if(pred) + encode(obj); + return (*this); + } + + DER_Encoder& add_object(ASN1_Tag type_tag, ASN1_Tag class_tag, + const uint8_t rep[], size_t length); + + DER_Encoder& add_object(ASN1_Tag type_tag, ASN1_Tag class_tag, + const std::vector& rep) + { + return add_object(type_tag, class_tag, rep.data(), rep.size()); + } + + DER_Encoder& add_object(ASN1_Tag type_tag, ASN1_Tag class_tag, + const secure_vector& rep) + { + return add_object(type_tag, class_tag, rep.data(), rep.size()); + } + + DER_Encoder& add_object(ASN1_Tag type_tag, ASN1_Tag class_tag, + const std::string& str); + + DER_Encoder& add_object(ASN1_Tag type_tag, ASN1_Tag class_tag, + uint8_t val); + + private: + class DER_Sequence final + { + public: + ASN1_Tag tag_of() const; + + void push_contents(DER_Encoder& der); + + void add_bytes(const uint8_t val[], size_t len); + + void add_bytes(const uint8_t hdr[], size_t hdr_len, + const uint8_t val[], size_t val_len); + + DER_Sequence(ASN1_Tag, ASN1_Tag); + + DER_Sequence(DER_Sequence&& seq) + { + std::swap(m_type_tag, seq.m_type_tag); + std::swap(m_class_tag, seq.m_class_tag); + std::swap(m_contents, seq.m_contents); + std::swap(m_set_contents, seq.m_set_contents); + } + + DER_Sequence& operator=(DER_Sequence&& seq) + { + std::swap(m_type_tag, seq.m_type_tag); + std::swap(m_class_tag, seq.m_class_tag); + std::swap(m_contents, seq.m_contents); + std::swap(m_set_contents, seq.m_set_contents); + return (*this); + } + + DER_Sequence(const DER_Sequence& seq) = default; + + DER_Sequence& operator=(const DER_Sequence& seq) = default; + + private: + ASN1_Tag m_type_tag, m_class_tag; + secure_vector m_contents; + std::vector< secure_vector > m_set_contents; + }; + + append_fn m_append_output; + secure_vector m_default_outbuf; + std::vector m_subsequences; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/des.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/des.h new file mode 100644 index 00000000..d8bbcfdd --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/des.h @@ -0,0 +1,67 @@ +/* +* DES +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_DES_H_ +#define BOTAN_DES_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(des.h) + +namespace Botan { + +/** +* DES +*/ +class BOTAN_PUBLIC_API(2,0) DES final : public Block_Cipher_Fixed_Params<8, 8> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "DES"; } + BlockCipher* clone() const override { return new DES; } + private: + void key_schedule(const uint8_t[], size_t) override; + + secure_vector m_round_key; + }; + +/** +* Triple DES +*/ +class BOTAN_PUBLIC_API(2,0) TripleDES final : public Block_Cipher_Fixed_Params<8, 16, 24, 8> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "TripleDES"; } + BlockCipher* clone() const override { return new TripleDES; } + private: + void key_schedule(const uint8_t[], size_t) override; + + secure_vector m_round_key; + }; + +/* +* DES Tables +*/ +extern const uint32_t DES_SPBOX1[256]; +extern const uint32_t DES_SPBOX2[256]; +extern const uint32_t DES_SPBOX3[256]; +extern const uint32_t DES_SPBOX4[256]; +extern const uint32_t DES_SPBOX5[256]; +extern const uint32_t DES_SPBOX6[256]; +extern const uint32_t DES_SPBOX7[256]; +extern const uint32_t DES_SPBOX8[256]; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/desx.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/desx.h new file mode 100644 index 00000000..0189a998 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/desx.h @@ -0,0 +1,37 @@ +/* +* DESX +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_DESX_H_ +#define BOTAN_DESX_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(desx.h) + +namespace Botan { + +/** +* DESX +*/ +class BOTAN_PUBLIC_API(2,0) DESX final : public Block_Cipher_Fixed_Params<8, 24> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "DESX"; } + BlockCipher* clone() const override { return new DESX; } + private: + void key_schedule(const uint8_t[], size_t) override; + secure_vector m_K1, m_K2; + DES m_des; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dh.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dh.h new file mode 100644 index 00000000..e3aa0d2c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dh.h @@ -0,0 +1,81 @@ +/* +* Diffie-Hellman +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_DIFFIE_HELLMAN_H_ +#define BOTAN_DIFFIE_HELLMAN_H_ + +#include + +namespace Botan { + +/** +* This class represents Diffie-Hellman public keys. +*/ +class BOTAN_PUBLIC_API(2,0) DH_PublicKey : public virtual DL_Scheme_PublicKey + { + public: + std::string algo_name() const override { return "DH"; } + + std::vector public_value() const; + + DL_Group::Format group_format() const override { return DL_Group::ANSI_X9_42; } + + /** + * Create a public key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits DER encoded public key bits + */ + DH_PublicKey(const AlgorithmIdentifier& alg_id, + const std::vector& key_bits) : + DL_Scheme_PublicKey(alg_id, key_bits, DL_Group::ANSI_X9_42) {} + + /** + * Construct a public key with the specified parameters. + * @param grp the DL group to use in the key + * @param y the public value y + */ + DH_PublicKey(const DL_Group& grp, const BigInt& y); + protected: + DH_PublicKey() = default; + }; + +/** +* This class represents Diffie-Hellman private keys. +*/ +class BOTAN_PUBLIC_API(2,0) DH_PrivateKey final : public DH_PublicKey, + public PK_Key_Agreement_Key, + public virtual DL_Scheme_PrivateKey + { + public: + std::vector public_value() const override; + + /** + * Load a private key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits PKCS #8 structure + */ + DH_PrivateKey(const AlgorithmIdentifier& alg_id, + const secure_vector& key_bits); + + /** + * Create a private key. + * @param rng random number generator to use + * @param grp the group to be used in the key + * @param x the key's secret value (or if zero, generate a new key) + */ + DH_PrivateKey(RandomNumberGenerator& rng, const DL_Group& grp, + const BigInt& x = 0); + + std::unique_ptr + create_key_agreement_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/divide.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/divide.h new file mode 100644 index 00000000..47141b3e --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/divide.h @@ -0,0 +1,101 @@ +/* +* Division +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_DIVISON_ALGORITHM_H_ +#define BOTAN_DIVISON_ALGORITHM_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(divide.h) + +namespace Botan { + +/** +* BigInt Division +* @param x an integer +* @param y a non-zero integer +* @param q will be set to x / y +* @param r will be set to x % y +*/ +void BOTAN_UNSTABLE_API vartime_divide(const BigInt& x, + const BigInt& y, + BigInt& q, + BigInt& r); + +/** +* BigInt division, const time variant +* +* This runs with control flow independent of the values of x/y. +* Warning: the loop bounds still leak the sizes of x and y. +* +* @param x an integer +* @param y a non-zero integer +* @param q will be set to x / y +* @param r will be set to x % y +*/ +void BOTAN_PUBLIC_API(2,9) ct_divide(const BigInt& x, + const BigInt& y, + BigInt& q, + BigInt& r); + +inline void divide(const BigInt& x, + const BigInt& y, + BigInt& q, + BigInt& r) + { + ct_divide(x, y, q, r); + } + +/** +* BigInt division, const time variant +* +* This runs with control flow independent of the values of x/y. +* Warning: the loop bounds still leak the sizes of x and y. +* +* @param x an integer +* @param y a non-zero integer +* @return x/y with remainder discarded +*/ +inline BigInt ct_divide(const BigInt& x, const BigInt& y) + { + BigInt q, r; + ct_divide(x, y, q, r); + return q; + } + +/** +* BigInt division, const time variant +* +* This runs with control flow independent of the values of x/y. +* Warning: the loop bounds still leak the sizes of x and y. +* +* @param x an integer +* @param y a non-zero integer +* @param q will be set to x / y +* @param r will be set to x % y +*/ +void BOTAN_PUBLIC_API(2,9) ct_divide_u8(const BigInt& x, + uint8_t y, + BigInt& q, + uint8_t& r); + +/** +* BigInt modulo, const time variant +* +* Using this function is (slightly) cheaper than calling ct_divide and +* using only the remainder. +* +* @param x a non-negative integer +* @param modulo a positive integer +* @return result x % modulo +*/ +BigInt BOTAN_PUBLIC_API(2,9) ct_modulo(const BigInt& x, + const BigInt& modulo); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dl_algo.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dl_algo.h new file mode 100644 index 00000000..af01bc21 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dl_algo.h @@ -0,0 +1,140 @@ +/* +* DL Scheme +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_DL_ALGO_H_ +#define BOTAN_DL_ALGO_H_ + +#include +#include + +namespace Botan { + +/** +* This class represents discrete logarithm (DL) public keys. +*/ +class BOTAN_PUBLIC_API(2,0) DL_Scheme_PublicKey : public virtual Public_Key + { + public: + bool check_key(RandomNumberGenerator& rng, bool) const override; + + AlgorithmIdentifier algorithm_identifier() const override; + + std::vector public_key_bits() const override; + + /** + * Get the DL domain parameters of this key. + * @return DL domain parameters of this key + */ + const DL_Group& get_domain() const { return m_group; } + + /** + * Get the DL domain parameters of this key. + * @return DL domain parameters of this key + */ + const DL_Group& get_group() const { return m_group; } + + /** + * Get the public value y with y = g^x mod p where x is the secret key. + */ + const BigInt& get_y() const { return m_y; } + + /** + * Get the prime p of the underlying DL group. + * @return prime p + */ + const BigInt& group_p() const { return m_group.get_p(); } + + /** + * Get the prime q of the underlying DL group. + * @return prime q + */ + const BigInt& group_q() const { return m_group.get_q(); } + + /** + * Get the generator g of the underlying DL group. + * @return generator g + */ + const BigInt& group_g() const { return m_group.get_g(); } + + /** + * Get the underlying groups encoding format. + * @return encoding format + */ + virtual DL_Group::Format group_format() const = 0; + + size_t key_length() const override; + size_t estimated_strength() const override; + + DL_Scheme_PublicKey& operator=(const DL_Scheme_PublicKey& other) = default; + + protected: + DL_Scheme_PublicKey() = default; + + /** + * Create a public key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits DER encoded public key bits + * @param group_format the underlying groups encoding format + */ + DL_Scheme_PublicKey(const AlgorithmIdentifier& alg_id, + const std::vector& key_bits, + DL_Group::Format group_format); + + DL_Scheme_PublicKey(const DL_Group& group, const BigInt& y); + + /** + * The DL public key + */ + BigInt m_y; + + /** + * The DL group + */ + DL_Group m_group; + }; + +/** +* This class represents discrete logarithm (DL) private keys. +*/ +class BOTAN_PUBLIC_API(2,0) DL_Scheme_PrivateKey : public virtual DL_Scheme_PublicKey, + public virtual Private_Key + { + public: + bool check_key(RandomNumberGenerator& rng, bool) const override; + + /** + * Get the secret key x. + * @return secret key + */ + const BigInt& get_x() const { return m_x; } + + secure_vector private_key_bits() const override; + + DL_Scheme_PrivateKey& operator=(const DL_Scheme_PrivateKey& other) = default; + + protected: + /** + * Create a private key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits DER encoded private key bits + * @param group_format the underlying groups encoding format + */ + DL_Scheme_PrivateKey(const AlgorithmIdentifier& alg_id, + const secure_vector& key_bits, + DL_Group::Format group_format); + + DL_Scheme_PrivateKey() = default; + + /** + * The DL private key + */ + BigInt m_x; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dl_group.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dl_group.h new file mode 100644 index 00000000..98ce7a7a --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dl_group.h @@ -0,0 +1,357 @@ +/* +* Discrete Logarithm Group +* (C) 1999-2008,2018 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_DL_PARAM_H_ +#define BOTAN_DL_PARAM_H_ + +#include + +namespace Botan { + +class Montgomery_Params; +class DL_Group_Data; + +enum class DL_Group_Source { + Builtin, + RandomlyGenerated, + ExternalSource, +}; + +/** +* This class represents discrete logarithm groups. It holds a prime +* modulus p, a generator g, and (optionally) a prime q which is a +* factor of (p-1). In most cases g generates the order-q subgroup. +*/ +class BOTAN_PUBLIC_API(2,0) DL_Group final + { + public: + /** + * Determine the prime creation for DL groups. + */ + enum PrimeType { Strong, Prime_Subgroup, DSA_Kosherizer }; + + /** + * The DL group encoding format variants. + */ + enum Format { + ANSI_X9_42, + ANSI_X9_57, + PKCS_3, + + DSA_PARAMETERS = ANSI_X9_57, + DH_PARAMETERS = ANSI_X9_42, + ANSI_X9_42_DH_PARAMETERS = ANSI_X9_42, + PKCS3_DH_PARAMETERS = PKCS_3 + }; + + /** + * Construct a DL group with uninitialized internal value. + * Use this constructor is you wish to set the groups values + * from a DER or PEM encoded group. + */ + DL_Group() = default; + + /** + * Construct a DL group that is registered in the configuration. + * @param name the name of the group, for example "modp/ietf/3072" + * + * @warning This constructor also accepts PEM inputs. This behavior is + * deprecated and will be removed in a future major release. Instead + * use DL_Group_from_PEM function + */ + explicit DL_Group(const std::string& name); + + /* + * Read a PEM representation + */ + static DL_Group DL_Group_from_PEM(const std::string& pem); + + /** + * Create a new group randomly. + * @param rng the random number generator to use + * @param type specifies how the creation of primes p and q shall + * be performed. If type=Strong, then p will be determined as a + * safe prime, and q will be chosen as (p-1)/2. If + * type=Prime_Subgroup and qbits = 0, then the size of q will be + * determined according to the estimated difficulty of the DL + * problem. If type=DSA_Kosherizer, DSA primes will be created. + * @param pbits the number of bits of p + * @param qbits the number of bits of q. Leave it as 0 to have + * the value determined according to pbits. + */ + DL_Group(RandomNumberGenerator& rng, PrimeType type, + size_t pbits, size_t qbits = 0); + + /** + * Create a DSA group with a given seed. + * @param rng the random number generator to use + * @param seed the seed to use to create the random primes + * @param pbits the desired bit size of the prime p + * @param qbits the desired bit size of the prime q. + */ + DL_Group(RandomNumberGenerator& rng, + const std::vector& seed, + size_t pbits = 1024, size_t qbits = 0); + + /** + * Create a DL group. + * @param p the prime p + * @param g the base g + */ + DL_Group(const BigInt& p, const BigInt& g); + + /** + * Create a DL group. + * @param p the prime p + * @param q the prime q + * @param g the base g + */ + DL_Group(const BigInt& p, const BigInt& q, const BigInt& g); + + /** + * Decode a BER-encoded DL group param + */ + DL_Group(const uint8_t ber[], size_t ber_len, Format format); + + /** + * Decode a BER-encoded DL group param + */ + template + DL_Group(const std::vector& ber, Format format) : + DL_Group(ber.data(), ber.size(), format) {} + + /** + * Get the prime p. + * @return prime p + */ + const BigInt& get_p() const; + + /** + * Get the prime q, returns zero if q is not used + * @return prime q + */ + const BigInt& get_q() const; + + /** + * Get the base g. + * @return base g + */ + const BigInt& get_g() const; + + /** + * Perform validity checks on the group. + * @param rng the rng to use + * @param strong whether to perform stronger by lengthier tests + * @return true if the object is consistent, false otherwise + */ + bool verify_group(RandomNumberGenerator& rng, bool strong = true) const; + + /** + * Verify a public element, ie check if y = g^x for some x. + * + * This is not a perfect test. It verifies that 1 < y < p and (if q is set) + * that y is in the subgroup of size q. + */ + bool verify_public_element(const BigInt& y) const; + + /** + * Verify a pair of elements y = g^x + * + * This verifies that 1 < x,y < p and that y=g^x mod p + */ + bool verify_element_pair(const BigInt& y, const BigInt& x) const; + + /** + * Encode this group into a string using PEM encoding. + * @param format the encoding format + * @return string holding the PEM encoded group + */ + std::string PEM_encode(Format format) const; + + /** + * Encode this group into a string using DER encoding. + * @param format the encoding format + * @return string holding the DER encoded group + */ + std::vector DER_encode(Format format) const; + + /** + * Reduce an integer modulo p + * @return x % p + */ + BigInt mod_p(const BigInt& x) const; + + /** + * Multiply and reduce an integer modulo p + * @return (x*y) % p + */ + BigInt multiply_mod_p(const BigInt& x, const BigInt& y) const; + + /** + * Return the inverse of x mod p + */ + BigInt inverse_mod_p(const BigInt& x) const; + + /** + * Reduce an integer modulo q + * Throws if q is unset on this DL_Group + * @return x % q + */ + BigInt mod_q(const BigInt& x) const; + + /** + * Multiply and reduce an integer modulo q + * Throws if q is unset on this DL_Group + * @return (x*y) % q + */ + BigInt multiply_mod_q(const BigInt& x, const BigInt& y) const; + + /** + * Multiply and reduce an integer modulo q + * Throws if q is unset on this DL_Group + * @return (x*y*z) % q + */ + BigInt multiply_mod_q(const BigInt& x, const BigInt& y, const BigInt& z) const; + + /** + * Square and reduce an integer modulo q + * Throws if q is unset on this DL_Group + * @return (x*x) % q + */ + BigInt square_mod_q(const BigInt& x) const; + + /** + * Return the inverse of x mod q + * Throws if q is unset on this DL_Group + */ + BigInt inverse_mod_q(const BigInt& x) const; + + /** + * Modular exponentiation + * + * @warning this function leaks the size of x via the number of + * loop iterations. Use the version taking the maximum size to + * avoid this. + * + * @return (g^x) % p + */ + BigInt power_g_p(const BigInt& x) const; + + /** + * Modular exponentiation + * @param x the exponent + * @param max_x_bits x is assumed to be at most this many bits long. + * + * @return (g^x) % p + */ + BigInt power_g_p(const BigInt& x, size_t max_x_bits) const; + + /** + * Multi-exponentiate + * Return (g^x * y^z) % p + */ + BigInt multi_exponentiate(const BigInt& x, const BigInt& y, const BigInt& z) const; + + /** + * Return parameters for Montgomery reduction/exponentiation mod p + */ + std::shared_ptr monty_params_p() const; + + /** + * Return the size of p in bits + * Same as get_p().bits() + */ + size_t p_bits() const; + + /** + * Return the size of p in bytes + * Same as get_p().bytes() + */ + size_t p_bytes() const; + + /** + * Return the size of q in bits + * Same as get_q().bits() + * Throws if q is unset + */ + size_t q_bits() const; + + /** + * Return the size of q in bytes + * Same as get_q().bytes() + * Throws if q is unset + */ + size_t q_bytes() const; + + /** + * Return size in bits of a secret exponent + * + * This attempts to balance between the attack costs of NFS + * (which depends on the size of the modulus) and Pollard's rho + * (which depends on the size of the exponent). + * + * It may vary over time for a particular group, if the attack + * costs change. + */ + size_t exponent_bits() const; + + /** + * Return an estimate of the strength of this group against + * discrete logarithm attacks (eg NFS). Warning: since this only + * takes into account known attacks it is by necessity an + * overestimate of the actual strength. + */ + size_t estimated_strength() const; + + /** + * Decode a DER/BER encoded group into this instance. + * @param ber a vector containing the DER/BER encoded group + * @param format the format of the encoded group + * + * @warning avoid this. Instead use the DL_Group constructor + */ + void BER_decode(const std::vector& ber, Format format); + + /** + * Decode a PEM encoded group into this instance. + * @param pem the PEM encoding of the group + */ + void BOTAN_DEPRECATED("Use DL_Group_from_PEM") PEM_decode(const std::string& pem); + + DL_Group_Source source() const; + + /** + * Return PEM representation of named DL group + */ + static std::string BOTAN_DEPRECATED("Use DL_Group(name).PEM_encode()") + PEM_for_named_group(const std::string& name); + + /* + * For internal use only + */ + static std::shared_ptr DL_group_info(const std::string& name); + + private: + static std::shared_ptr load_DL_group_info(const char* p_str, + const char* q_str, + const char* g_str); + + static std::shared_ptr load_DL_group_info(const char* p_str, + const char* g_str); + + static std::shared_ptr + BER_decode_DL_group(const uint8_t data[], size_t data_len, + DL_Group::Format format, + DL_Group_Source source); + + const DL_Group_Data& data() const; + std::shared_ptr m_data; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dlies.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dlies.h new file mode 100644 index 00000000..640a8655 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dlies.h @@ -0,0 +1,163 @@ +/* +* DLIES +* (C) 1999-2007 Jack Lloyd +* (C) 2016 Daniel Neus, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_DLIES_H_ +#define BOTAN_DLIES_H_ + +#include +#include +#include +#include +#include + +namespace Botan { + +/** +* DLIES Encryption +*/ +class BOTAN_PUBLIC_API(2,0) DLIES_Encryptor final : public PK_Encryptor + { + public: + /** + * Stream mode: use KDF to provide a stream of bytes to xor with the message + * + * @param own_priv_key own (ephemeral) DH private key + * @param rng the RNG to use + * @param kdf the KDF that should be used + * @param mac the MAC function that should be used + * @param mac_key_len key length of the MAC function. Default = 20 bytes + * + * output = (ephemeral) public key + ciphertext + tag + */ + DLIES_Encryptor(const DH_PrivateKey& own_priv_key, + RandomNumberGenerator& rng, + KDF* kdf, + MessageAuthenticationCode* mac, + size_t mac_key_len = 20); + + /** + * Block cipher mode + * + * @param own_priv_key own (ephemeral) DH private key + * @param rng the RNG to use + * @param kdf the KDF that should be used + * @param cipher the block cipher that should be used + * @param cipher_key_len the key length of the block cipher + * @param mac the MAC function that should be used + * @param mac_key_len key length of the MAC function. Default = 20 bytes + * + * output = (ephemeral) public key + ciphertext + tag + */ + DLIES_Encryptor(const DH_PrivateKey& own_priv_key, + RandomNumberGenerator& rng, + KDF* kdf, + Cipher_Mode* cipher, + size_t cipher_key_len, + MessageAuthenticationCode* mac, + size_t mac_key_len = 20); + + // Set the other parties public key + inline void set_other_key(const std::vector& other_pub_key) + { + m_other_pub_key = other_pub_key; + } + + /// Set the initialization vector for the data encryption method + inline void set_initialization_vector(const InitializationVector& iv) + { + m_iv = iv; + } + + private: + std::vector enc(const uint8_t[], size_t, + RandomNumberGenerator&) const override; + + size_t maximum_input_size() const override; + + size_t ciphertext_length(size_t ptext_len) const override; + + std::vector m_other_pub_key; + std::vector m_own_pub_key; + PK_Key_Agreement m_ka; + std::unique_ptr m_kdf; + std::unique_ptr m_cipher; + const size_t m_cipher_key_len; + std::unique_ptr m_mac; + const size_t m_mac_keylen; + InitializationVector m_iv; + }; + +/** +* DLIES Decryption +*/ +class BOTAN_PUBLIC_API(2,0) DLIES_Decryptor final : public PK_Decryptor + { + public: + /** + * Stream mode: use KDF to provide a stream of bytes to xor with the message + * + * @param own_priv_key own (ephemeral) DH private key + * @param rng the RNG to use + * @param kdf the KDF that should be used + * @param mac the MAC function that should be used + * @param mac_key_len key length of the MAC function. Default = 20 bytes + * + * input = (ephemeral) public key + ciphertext + tag + */ + DLIES_Decryptor(const DH_PrivateKey& own_priv_key, + RandomNumberGenerator& rng, + KDF* kdf, + MessageAuthenticationCode* mac, + size_t mac_key_len = 20); + + /** + * Block cipher mode + * + * @param own_priv_key own (ephemeral) DH private key + * @param rng the RNG to use + * @param kdf the KDF that should be used + * @param cipher the block cipher that should be used + * @param cipher_key_len the key length of the block cipher + * @param mac the MAC function that should be used + * @param mac_key_len key length of the MAC function. Default = 20 bytes + * + * input = (ephemeral) public key + ciphertext + tag + */ + DLIES_Decryptor(const DH_PrivateKey& own_priv_key, + RandomNumberGenerator& rng, + KDF* kdf, + Cipher_Mode* cipher, + size_t cipher_key_len, + MessageAuthenticationCode* mac, + size_t mac_key_len = 20); + + /// Set the initialization vector for the data decryption method + inline void set_initialization_vector(const InitializationVector& iv) + { + m_iv = iv; + } + + private: + secure_vector do_decrypt(uint8_t& valid_mask, + const uint8_t in[], size_t in_len) const override; + + size_t plaintext_length(size_t ctext_len) const override; + + const size_t m_pub_key_size; + PK_Key_Agreement m_ka; + std::unique_ptr m_kdf; + std::unique_ptr m_cipher; + const size_t m_cipher_key_len; + std::unique_ptr m_mac; + const size_t m_mac_keylen; + InitializationVector m_iv; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dsa.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dsa.h new file mode 100644 index 00000000..b219a1cf --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dsa.h @@ -0,0 +1,87 @@ +/* +* DSA +* (C) 1999-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_DSA_H_ +#define BOTAN_DSA_H_ + +#include + +namespace Botan { + +/** +* DSA Public Key +*/ +class BOTAN_PUBLIC_API(2,0) DSA_PublicKey : public virtual DL_Scheme_PublicKey + { + public: + std::string algo_name() const override { return "DSA"; } + + DL_Group::Format group_format() const override { return DL_Group::ANSI_X9_57; } + size_t message_parts() const override { return 2; } + size_t message_part_size() const override { return group_q().bytes(); } + + /** + * Load a public key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits DER encoded public key bits + */ + DSA_PublicKey(const AlgorithmIdentifier& alg_id, + const std::vector& key_bits) : + DL_Scheme_PublicKey(alg_id, key_bits, DL_Group::ANSI_X9_57) + { + } + + /** + * Create a public key. + * @param group the underlying DL group + * @param y the public value y = g^x mod p + */ + DSA_PublicKey(const DL_Group& group, const BigInt& y); + + std::unique_ptr + create_verification_op(const std::string& params, + const std::string& provider) const override; + protected: + DSA_PublicKey() = default; + }; + +/** +* DSA Private Key +*/ +class BOTAN_PUBLIC_API(2,0) DSA_PrivateKey final : public DSA_PublicKey, + public virtual DL_Scheme_PrivateKey + { + public: + /** + * Load a private key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits DER encoded key bits in ANSI X9.57 format + */ + DSA_PrivateKey(const AlgorithmIdentifier& alg_id, + const secure_vector& key_bits); + + /** + * Create a private key. + * @param rng the RNG to use + * @param group the underlying DL group + * @param private_key the private key (if zero, a new random key is generated) + */ + DSA_PrivateKey(RandomNumberGenerator& rng, + const DL_Group& group, + const BigInt& private_key = 0); + + bool check_key(RandomNumberGenerator& rng, bool strong) const override; + + std::unique_ptr + create_signature_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dyn_load.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dyn_load.h new file mode 100644 index 00000000..3caf65f2 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/dyn_load.h @@ -0,0 +1,68 @@ +/* +* Dynamically Loaded Object +* (C) 2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_DYNAMIC_LOADER_H_ +#define BOTAN_DYNAMIC_LOADER_H_ + +#include +#include + +namespace Botan { + +/** +* Represents a DLL or shared object +*/ +class BOTAN_PUBLIC_API(2,0) Dynamically_Loaded_Library final + { + public: + /** + * Load a DLL (or fail with an exception) + * @param lib_name name or path to a library + * + * If you don't use a full path, the search order will be defined + * by whatever the system linker does by default. Always using fully + * qualified pathnames can help prevent code injection attacks (eg + * via manipulation of LD_LIBRARY_PATH on Linux) + */ + Dynamically_Loaded_Library(const std::string& lib_name); + + /** + * Unload the DLL + * @warning Any pointers returned by resolve()/resolve_symbol() + * should not be used after this destructor runs. + */ + ~Dynamically_Loaded_Library(); + + /** + * Load a symbol (or fail with an exception) + * @param symbol names the symbol to load + * @return address of the loaded symbol + */ + void* resolve_symbol(const std::string& symbol); + + /** + * Convenience function for casting symbol to the right type + * @param symbol names the symbol to load + * @return address of the loaded symbol + */ + template + T resolve(const std::string& symbol) + { + return reinterpret_cast(resolve_symbol(symbol)); + } + + private: + Dynamically_Loaded_Library(const Dynamically_Loaded_Library&); + Dynamically_Loaded_Library& operator=(const Dynamically_Loaded_Library&); + + std::string m_lib_name; + void* m_lib; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eax.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eax.h new file mode 100644 index 00000000..b9b02c19 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eax.h @@ -0,0 +1,119 @@ +/* +* EAX Mode +* (C) 1999-2007,2013 Jack Lloyd +* (C) 2016 Daniel Neus, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_AEAD_EAX_H_ +#define BOTAN_AEAD_EAX_H_ + +#include +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(eax.h) + +namespace Botan { + +/** +* EAX base class +*/ +class BOTAN_PUBLIC_API(2,0) EAX_Mode : public AEAD_Mode + { + public: + void set_associated_data(const uint8_t ad[], size_t ad_len) override; + + std::string name() const override; + + size_t update_granularity() const override; + + Key_Length_Specification key_spec() const override; + + // EAX supports arbitrary nonce lengths + bool valid_nonce_length(size_t) const override { return true; } + + size_t tag_size() const override { return m_tag_size; } + + void clear() override; + + void reset() override; + + protected: + /** + * @param cipher the cipher to use + * @param tag_size is how big the auth tag will be + */ + EAX_Mode(BlockCipher* cipher, size_t tag_size); + + size_t block_size() const { return m_cipher->block_size(); } + + size_t m_tag_size; + + std::unique_ptr m_cipher; + std::unique_ptr m_ctr; + std::unique_ptr m_cmac; + + secure_vector m_ad_mac; + + secure_vector m_nonce_mac; + private: + void start_msg(const uint8_t nonce[], size_t nonce_len) override; + + void key_schedule(const uint8_t key[], size_t length) override; + }; + +/** +* EAX Encryption +*/ +class BOTAN_PUBLIC_API(2,0) EAX_Encryption final : public EAX_Mode + { + public: + /** + * @param cipher a 128-bit block cipher + * @param tag_size is how big the auth tag will be + */ + EAX_Encryption(BlockCipher* cipher, size_t tag_size = 0) : + EAX_Mode(cipher, tag_size) {} + + size_t output_length(size_t input_length) const override + { return input_length + tag_size(); } + + size_t minimum_final_size() const override { return 0; } + + size_t process(uint8_t buf[], size_t size) override; + + void finish(secure_vector& final_block, size_t offset = 0) override; + }; + +/** +* EAX Decryption +*/ +class BOTAN_PUBLIC_API(2,0) EAX_Decryption final : public EAX_Mode + { + public: + /** + * @param cipher a 128-bit block cipher + * @param tag_size is how big the auth tag will be + */ + EAX_Decryption(BlockCipher* cipher, size_t tag_size = 0) : + EAX_Mode(cipher, tag_size) {} + + size_t output_length(size_t input_length) const override + { + BOTAN_ASSERT(input_length >= tag_size(), "Sufficient input"); + return input_length - tag_size(); + } + + size_t minimum_final_size() const override { return tag_size(); } + + size_t process(uint8_t buf[], size_t size) override; + + void finish(secure_vector& final_block, size_t offset = 0) override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ec_group.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ec_group.h new file mode 100644 index 00000000..8f583a30 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ec_group.h @@ -0,0 +1,398 @@ +/* +* ECC Domain Parameters +* +* (C) 2007 Falko Strenzke, FlexSecure GmbH +* 2008-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ECC_DOMAIN_PARAMETERS_H_ +#define BOTAN_ECC_DOMAIN_PARAMETERS_H_ + +#include +#include +#include +#include + +namespace Botan { + +/** +* This class represents elliptic curce domain parameters +*/ +enum EC_Group_Encoding { + EC_DOMPAR_ENC_EXPLICIT = 0, + EC_DOMPAR_ENC_IMPLICITCA = 1, + EC_DOMPAR_ENC_OID = 2 +}; + +enum class EC_Group_Source { + Builtin, + ExternalSource, +}; + +class CurveGFp; + +class EC_Group_Data; +class EC_Group_Data_Map; + +/** +* Class representing an elliptic curve +* +* The internal representation is stored in a shared_ptr, so copying an +* EC_Group is inexpensive. +*/ +class BOTAN_PUBLIC_API(2,0) EC_Group final + { + public: + + /** + * Construct Domain paramers from specified parameters + * @param curve elliptic curve + * @param base_point a base point + * @param order the order of the base point + * @param cofactor the cofactor + */ + BOTAN_DEPRECATED("Use version taking all BigInts") + EC_Group(const CurveGFp& curve, + const PointGFp& base_point, + const BigInt& order, + const BigInt& cofactor) : + EC_Group(curve.get_p(), + curve.get_a(), + curve.get_b(), + base_point.get_affine_x(), + base_point.get_affine_y(), + order, + cofactor) {} + + /** + * Construct Domain paramers from specified parameters + * @param p the elliptic curve p + * @param a the elliptic curve a param + * @param b the elliptic curve b param + * @param base_x the x coordinate of the base point + * @param base_y the y coordinate of the base point + * @param order the order of the base point + * @param cofactor the cofactor + * @param oid an optional OID used to identify this curve + */ + EC_Group(const BigInt& p, + const BigInt& a, + const BigInt& b, + const BigInt& base_x, + const BigInt& base_y, + const BigInt& order, + const BigInt& cofactor, + const OID& oid = OID()); + + /** + * Decode a BER encoded ECC domain parameter set + * @param ber the bytes of the BER encoding + * @param ber_len the length of ber + */ + explicit EC_Group(const uint8_t ber[], size_t ber_len); + + template + EC_Group(const std::vector& ber) : + EC_Group(ber.data(), ber.size()) {} + + /** + * Create an EC domain by OID (or throw if unknown) + * @param oid the OID of the EC domain to create + */ + explicit EC_Group(const OID& oid); + + /** + * Create an EC domain from PEM encoding (as from PEM_encode), or + * from an OID name (eg "secp256r1", or "1.2.840.10045.3.1.7") + * @param pem_or_oid PEM-encoded data, or an OID + + * @warning Support for PEM in this function is deprecated. Use + * EC_Group_from_PEM + */ + explicit EC_Group(const std::string& pem_or_oid); + + static EC_Group EC_Group_from_PEM(const std::string& pem); + + /** + * Create an uninitialized EC_Group + */ + EC_Group(); + + ~EC_Group(); + + EC_Group(const EC_Group&) = default; + EC_Group(EC_Group&&) = default; + + EC_Group& operator=(const EC_Group&) = default; + EC_Group& operator=(EC_Group&&) = default; + + /** + * Create the DER encoding of this domain + * @param form of encoding to use + * @returns bytes encododed as DER + */ + std::vector DER_encode(EC_Group_Encoding form) const; + + /** + * Return the PEM encoding (always in explicit form) + * @return string containing PEM data + */ + std::string PEM_encode() const; + + /** + * Return domain parameter curve + * @result domain parameter curve + */ + BOTAN_DEPRECATED("Avoid CurveGFp") const CurveGFp& get_curve() const; + + /** + * Return if a == -3 mod p + */ + bool a_is_minus_3() const; + + /** + * Return if a == 0 mod p + */ + bool a_is_zero() const; + + /** + * Return the size of p in bits (same as get_p().bits()) + */ + size_t get_p_bits() const; + + /** + * Return the size of p in bits (same as get_p().bytes()) + */ + size_t get_p_bytes() const; + + /** + * Return the size of group order in bits (same as get_order().bits()) + */ + size_t get_order_bits() const; + + /** + * Return the size of p in bytes (same as get_order().bytes()) + */ + size_t get_order_bytes() const; + + /** + * Return the prime modulus of the field + */ + const BigInt& get_p() const; + + /** + * Return the a parameter of the elliptic curve equation + */ + const BigInt& get_a() const; + + /** + * Return the b parameter of the elliptic curve equation + */ + const BigInt& get_b() const; + + /** + * Return group base point + * @result base point + */ + const PointGFp& get_base_point() const; + + /** + * Return the x coordinate of the base point + */ + const BigInt& get_g_x() const; + + /** + * Return the y coordinate of the base point + */ + const BigInt& get_g_y() const; + + /** + * Return the order of the base point + * @result order of the base point + */ + const BigInt& get_order() const; + + /* + * Reduce x modulo the order + */ + BigInt mod_order(const BigInt& x) const; + + /* + * Return inverse of x modulo the order + */ + BigInt inverse_mod_order(const BigInt& x) const; + + /* + * Reduce (x*x) modulo the order + */ + BigInt square_mod_order(const BigInt& x) const; + + /* + * Reduce (x*y) modulo the order + */ + BigInt multiply_mod_order(const BigInt& x, const BigInt& y) const; + + /* + * Reduce (x*y*z) modulo the order + */ + BigInt multiply_mod_order(const BigInt& x, const BigInt& y, const BigInt& z) const; + + /** + * Return the cofactor + * @result the cofactor + */ + const BigInt& get_cofactor() const; + + /** + * Check if y is a plausible point on the curve + * + * In particular, checks that it is a point on the curve, not infinity, + * and that it has order matching the group. + */ + bool verify_public_element(const PointGFp& y) const; + + /** + * Return the OID of these domain parameters + * @result the OID as a string + */ + std::string BOTAN_DEPRECATED("Use get_curve_oid") get_oid() const { return get_curve_oid().to_string(); } + + /** + * Return the OID of these domain parameters + * @result the OID + */ + const OID& get_curve_oid() const; + + /** + * Return a point on this curve with the affine values x, y + */ + PointGFp point(const BigInt& x, const BigInt& y) const; + + /** + * Multi exponentiate. Not constant time. + * @return base_point*x + pt*y + */ + PointGFp point_multiply(const BigInt& x, const PointGFp& pt, const BigInt& y) const; + + /** + * Blinded point multiplication, attempts resistance to side channels + * @param k the scalar + * @param rng a random number generator + * @param ws a temp workspace + * @return base_point*k + */ + PointGFp blinded_base_point_multiply(const BigInt& k, + RandomNumberGenerator& rng, + std::vector& ws) const; + + /** + * Blinded point multiplication, attempts resistance to side channels + * Returns just the x coordinate of the point + * + * @param k the scalar + * @param rng a random number generator + * @param ws a temp workspace + * @return x coordinate of base_point*k + */ + BigInt blinded_base_point_multiply_x(const BigInt& k, + RandomNumberGenerator& rng, + std::vector& ws) const; + + /** + * Blinded point multiplication, attempts resistance to side channels + * @param point input point + * @param k the scalar + * @param rng a random number generator + * @param ws a temp workspace + * @return point*k + */ + PointGFp blinded_var_point_multiply(const PointGFp& point, + const BigInt& k, + RandomNumberGenerator& rng, + std::vector& ws) const; + + /** + * Return a random scalar ie an integer in [1,order) + */ + BigInt random_scalar(RandomNumberGenerator& rng) const; + + /** + * Return the zero (or infinite) point on this curve + */ + PointGFp zero_point() const; + + size_t point_size(PointGFp::Compression_Type format) const; + + PointGFp OS2ECP(const uint8_t bits[], size_t len) const; + + template + PointGFp OS2ECP(const std::vector& vec) const + { + return this->OS2ECP(vec.data(), vec.size()); + } + + bool initialized() const { return (m_data != nullptr); } + + /** + * Verify EC_Group domain + * @returns true if group is valid. false otherwise + */ + bool verify_group(RandomNumberGenerator& rng, + bool strong = false) const; + + bool operator==(const EC_Group& other) const; + + EC_Group_Source source() const; + + /** + * Return PEM representation of named EC group + * Deprecated: Use EC_Group(name).PEM_encode() if this is needed + */ + static std::string BOTAN_DEPRECATED("See header comment") PEM_for_named_group(const std::string& name); + + /** + * Return a set of known named EC groups + */ + static const std::set& known_named_groups(); + + /* + * For internal use only + */ + static std::shared_ptr EC_group_info(const OID& oid); + + static size_t clear_registered_curve_data(); + + private: + static EC_Group_Data_Map& ec_group_data(); + + static std::shared_ptr BER_decode_EC_group(const uint8_t bits[], size_t len, + EC_Group_Source source); + + static std::shared_ptr + load_EC_group_info(const char* p, + const char* a, + const char* b, + const char* g_x, + const char* g_y, + const char* order, + const OID& oid); + + // Member data + const EC_Group_Data& data() const; + std::shared_ptr m_data; + }; + +inline bool operator!=(const EC_Group& lhs, + const EC_Group& rhs) + { + return !(lhs == rhs); + } + +// For compatibility with 1.8 +typedef EC_Group EC_Domain_Params; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecc_key.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecc_key.h new file mode 100644 index 00000000..ec2b5f9b --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecc_key.h @@ -0,0 +1,172 @@ +/* +* ECDSA +* (C) 2007 Falko Strenzke, FlexSecure GmbH +* Manuel Hartl, FlexSecure GmbH +* (C) 2008-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ECC_PUBLIC_KEY_BASE_H_ +#define BOTAN_ECC_PUBLIC_KEY_BASE_H_ + +#include +#include + +namespace Botan { + +/** +* This class represents abstract ECC public keys. When encoding a key +* via an encoder that can be accessed via the corresponding member +* functions, the key will decide upon its internally stored encoding +* information whether to encode itself with or without domain +* parameters, or using the domain parameter oid. Furthermore, a public +* key without domain parameters can be decoded. In that case, it +* cannot be used for verification until its domain parameters are set +* by calling the corresponding member function. +*/ +class BOTAN_PUBLIC_API(2,0) EC_PublicKey : public virtual Public_Key + { + public: + /** + * Create a public key. + * @param dom_par EC domain parameters + * @param pub_point public point on the curve + */ + EC_PublicKey(const EC_Group& dom_par, + const PointGFp& pub_point); + + /** + * Load a public key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits DER encoded public key bits + */ + EC_PublicKey(const AlgorithmIdentifier& alg_id, + const std::vector& key_bits); + + EC_PublicKey(const EC_PublicKey& other) = default; + EC_PublicKey& operator=(const EC_PublicKey& other) = default; + virtual ~EC_PublicKey() = default; + + /** + * Get the public point of this key. + * @throw Invalid_State is thrown if the + * domain parameters of this point are not set + * @result the public point of this key + */ + const PointGFp& public_point() const { return m_public_key; } + + AlgorithmIdentifier algorithm_identifier() const override; + + std::vector public_key_bits() const override; + + bool check_key(RandomNumberGenerator& rng, + bool strong) const override; + + /** + * Get the domain parameters of this key. + * @throw Invalid_State is thrown if the + * domain parameters of this point are not set + * @result the domain parameters of this key + */ + const EC_Group& domain() const { return m_domain_params; } + + /** + * Set the domain parameter encoding to be used when encoding this key. + * @param enc the encoding to use + */ + void set_parameter_encoding(EC_Group_Encoding enc); + + /** + * Set the point encoding method to be used when encoding this key. + * @param enc the encoding to use + */ + void set_point_encoding(PointGFp::Compression_Type enc); + + /** + * Return the DER encoding of this keys domain in whatever format + * is preset for this particular key + */ + std::vector DER_domain() const + { return domain().DER_encode(domain_format()); } + + /** + * Get the domain parameter encoding to be used when encoding this key. + * @result the encoding to use + */ + EC_Group_Encoding domain_format() const + { return m_domain_encoding; } + + /** + * Get the point encoding method to be used when encoding this key. + * @result the encoding to use + */ + PointGFp::Compression_Type point_encoding() const + { return m_point_encoding; } + + size_t key_length() const override; + size_t estimated_strength() const override; + + protected: + EC_PublicKey() : m_domain_params{}, m_public_key{}, m_domain_encoding(EC_DOMPAR_ENC_EXPLICIT) + {} + + EC_Group m_domain_params; + PointGFp m_public_key; + EC_Group_Encoding m_domain_encoding; + PointGFp::Compression_Type m_point_encoding = PointGFp::UNCOMPRESSED; + }; + +/** +* This abstract class represents ECC private keys +*/ +class BOTAN_PUBLIC_API(2,0) EC_PrivateKey : public virtual EC_PublicKey, + public virtual Private_Key + { + public: + /* + * If x=0, creates a new private key in the domain + * using the given rng. If with_modular_inverse is set, + * the public key will be calculated by multiplying + * the base point with the modular inverse of + * x (as in ECGDSA and ECKCDSA), otherwise by + * multiplying directly with x (as in ECDSA). + */ + EC_PrivateKey(RandomNumberGenerator& rng, + const EC_Group& domain, + const BigInt& x, + bool with_modular_inverse=false); + + /* + * Creates a new private key object from the + * ECPrivateKey structure given in key_bits. + * If with_modular_inverse is set, + * the public key will be calculated by multiplying + * the base point with the modular inverse of + * x (as in ECGDSA and ECKCDSA), otherwise by + * multiplying directly with x (as in ECDSA). + */ + EC_PrivateKey(const AlgorithmIdentifier& alg_id, + const secure_vector& key_bits, + bool with_modular_inverse=false); + + secure_vector private_key_bits() const override; + + /** + * Get the private key value of this key object. + * @result the private key value of this key object + */ + const BigInt& private_value() const; + + EC_PrivateKey(const EC_PrivateKey& other) = default; + EC_PrivateKey& operator=(const EC_PrivateKey& other) = default; + ~EC_PrivateKey() = default; + protected: + EC_PrivateKey() = default; + + BigInt m_private_key; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecdh.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecdh.h new file mode 100644 index 00000000..f88955ac --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecdh.h @@ -0,0 +1,106 @@ +/* +* ECDH +* (C) 2007 Falko Strenzke, FlexSecure GmbH +* Manuel Hartl, FlexSecure GmbH +* (C) 2008-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ECDH_KEY_H_ +#define BOTAN_ECDH_KEY_H_ + +#include + +namespace Botan { + +/** +* This class represents ECDH Public Keys. +*/ +class BOTAN_PUBLIC_API(2,0) ECDH_PublicKey : public virtual EC_PublicKey + { + public: + /** + * Create an ECDH public key. + * @param alg_id algorithm identifier + * @param key_bits DER encoded public key bits + */ + ECDH_PublicKey(const AlgorithmIdentifier& alg_id, + const std::vector& key_bits) : + EC_PublicKey(alg_id, key_bits) {} + + /** + * Construct a public key from a given public point. + * @param dom_par the domain parameters associated with this key + * @param public_point the public point defining this key + */ + ECDH_PublicKey(const EC_Group& dom_par, + const PointGFp& public_point) : + EC_PublicKey(dom_par, public_point) {} + + /** + * Get this keys algorithm name. + * @return this keys algorithm name + */ + std::string algo_name() const override { return "ECDH"; } + + /** + * @return public point value + */ + std::vector public_value() const + { return public_point().encode(PointGFp::UNCOMPRESSED); } + + /** + * @return public point value + */ + std::vector public_value(PointGFp::Compression_Type format) const + { return public_point().encode(format); } + + protected: + ECDH_PublicKey() = default; + }; + +/** +* This class represents ECDH Private Keys. +*/ +class BOTAN_PUBLIC_API(2,0) ECDH_PrivateKey final : public ECDH_PublicKey, + public EC_PrivateKey, + public PK_Key_Agreement_Key + { + public: + + /** + * Load a private key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits ECPrivateKey bits + */ + ECDH_PrivateKey(const AlgorithmIdentifier& alg_id, + const secure_vector& key_bits) : + EC_PrivateKey(alg_id, key_bits) {} + + /** + * Generate a new private key + * @param rng a random number generator + * @param domain parameters to used for this key + * @param x the private key; if zero, a new random key is generated + */ + ECDH_PrivateKey(RandomNumberGenerator& rng, + const EC_Group& domain, + const BigInt& x = 0) : + EC_PrivateKey(rng, domain, x) {} + + std::vector public_value() const override + { return ECDH_PublicKey::public_value(PointGFp::UNCOMPRESSED); } + + std::vector public_value(PointGFp::Compression_Type type) const + { return ECDH_PublicKey::public_value(type); } + + std::unique_ptr + create_key_agreement_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecdsa.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecdsa.h new file mode 100644 index 00000000..8423a9c2 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecdsa.h @@ -0,0 +1,117 @@ +/* +* ECDSA +* (C) 2007 Falko Strenzke, FlexSecure GmbH +* Manuel Hartl, FlexSecure GmbH +* (C) 2008-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ECDSA_KEY_H_ +#define BOTAN_ECDSA_KEY_H_ + +#include + +namespace Botan { + +/** +* This class represents ECDSA Public Keys. +*/ +class BOTAN_PUBLIC_API(2,0) ECDSA_PublicKey : public virtual EC_PublicKey + { + public: + + /** + * Create a public key from a given public point. + * @param dom_par the domain parameters associated with this key + * @param public_point the public point defining this key + */ + ECDSA_PublicKey(const EC_Group& dom_par, + const PointGFp& public_point) : + EC_PublicKey(dom_par, public_point) {} + + /** + * Load a public key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits DER encoded public key bits + */ + ECDSA_PublicKey(const AlgorithmIdentifier& alg_id, + const std::vector& key_bits) : + EC_PublicKey(alg_id, key_bits) {} + + /** + * Recover a public key from a signature/msg pair + * See SEC section 4.6.1 + * @param group the elliptic curve group + * @param msg the message + * @param r the r paramter of the signature + * @param s the s paramter of the signature + * @param v the recovery ID + */ + ECDSA_PublicKey(const EC_Group& group, + const std::vector& msg, + const BigInt& r, + const BigInt& s, + uint8_t v); + + /** + * Get this keys algorithm name. + * @result this keys algorithm name ("ECDSA") + */ + std::string algo_name() const override { return "ECDSA"; } + + size_t message_parts() const override { return 2; } + + size_t message_part_size() const override + { return domain().get_order().bytes(); } + + uint8_t recovery_param(const std::vector& msg, + const BigInt& r, + const BigInt& s) const; + + std::unique_ptr + create_verification_op(const std::string& params, + const std::string& provider) const override; + protected: + ECDSA_PublicKey() = default; + }; + +/** +* This class represents ECDSA Private Keys +*/ +class BOTAN_PUBLIC_API(2,0) ECDSA_PrivateKey final : public ECDSA_PublicKey, + public EC_PrivateKey + { + public: + + /** + * Load a private key + * @param alg_id the X.509 algorithm identifier + * @param key_bits ECPrivateKey bits + */ + ECDSA_PrivateKey(const AlgorithmIdentifier& alg_id, + const secure_vector& key_bits) : + EC_PrivateKey(alg_id, key_bits) {} + + /** + * Create a private key. + * @param rng a random number generator + * @param domain parameters to used for this key + * @param x the private key (if zero, generate a new random key) + */ + ECDSA_PrivateKey(RandomNumberGenerator& rng, + const EC_Group& domain, + const BigInt& x = 0) : + EC_PrivateKey(rng, domain, x) {} + + bool check_key(RandomNumberGenerator& rng, bool) const override; + + std::unique_ptr + create_signature_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecgdsa.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecgdsa.h new file mode 100644 index 00000000..31d0e2be --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecgdsa.h @@ -0,0 +1,96 @@ +/* +* ECGDSA (BSI-TR-03111, version 2.0) +* (C) 2016 René Korthaus +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ECGDSA_KEY_H_ +#define BOTAN_ECGDSA_KEY_H_ + +#include + +namespace Botan { + +/** +* This class represents ECGDSA public keys. +*/ +class BOTAN_PUBLIC_API(2,0) ECGDSA_PublicKey : public virtual EC_PublicKey + { + public: + + /** + * Construct a public key from a given public point. + * @param dom_par the domain parameters associated with this key + * @param public_point the public point defining this key + */ + ECGDSA_PublicKey(const EC_Group& dom_par, + const PointGFp& public_point) : + EC_PublicKey(dom_par, public_point) {} + + /** + * Load a public key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits DER encoded public key bits + */ + ECGDSA_PublicKey(const AlgorithmIdentifier& alg_id, + const std::vector& key_bits) : + EC_PublicKey(alg_id, key_bits) {} + + /** + * Get this keys algorithm name. + * @result this keys algorithm name ("ECGDSA") + */ + std::string algo_name() const override { return "ECGDSA"; } + + size_t message_parts() const override { return 2; } + + size_t message_part_size() const override + { return domain().get_order().bytes(); } + + std::unique_ptr + create_verification_op(const std::string& params, + const std::string& provider) const override; + protected: + ECGDSA_PublicKey() = default; + }; + +/** +* This class represents ECGDSA private keys. +*/ +class BOTAN_PUBLIC_API(2,0) ECGDSA_PrivateKey final : public ECGDSA_PublicKey, + public EC_PrivateKey + { + public: + + /** + * Load a private key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits ECPrivateKey bits + */ + ECGDSA_PrivateKey(const AlgorithmIdentifier& alg_id, + const secure_vector& key_bits) : + EC_PrivateKey(alg_id, key_bits, true) {} + + /** + * Generate a new private key. + * @param rng a random number generator + * @param domain parameters to used for this key + * @param x the private key (if zero, generate a new random key) + */ + ECGDSA_PrivateKey(RandomNumberGenerator& rng, + const EC_Group& domain, + const BigInt& x = 0) : + EC_PrivateKey(rng, domain, x, true) {} + + bool check_key(RandomNumberGenerator& rng, bool) const override; + + std::unique_ptr + create_signature_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecies.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecies.h new file mode 100644 index 00000000..1b35c8cc --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ecies.h @@ -0,0 +1,314 @@ +/* +* ECIES +* (C) 2016 Philipp Weber +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ECIES_H_ +#define BOTAN_ECIES_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Botan { + +class RandomNumberGenerator; + +enum class ECIES_Flags : uint32_t + { + NONE = 0, + + /// if set: prefix the input of the (ecdh) key agreement with the encoded (ephemeral) public key + SINGLE_HASH_MODE = 1, + + /// (decryption only) if set: use cofactor multiplication during (ecdh) key agreement + COFACTOR_MODE = 2, + + /// if set: use ecdhc instead of ecdh + OLD_COFACTOR_MODE = 4, + + /// (decryption only) if set: test if the (ephemeral) public key is on the curve + CHECK_MODE = 8 + }; + +inline ECIES_Flags operator |(ECIES_Flags a, ECIES_Flags b) + { + return static_cast(static_cast(a) | static_cast(b)); + } + +inline ECIES_Flags operator &(ECIES_Flags a, ECIES_Flags b) + { + return static_cast(static_cast(a) & static_cast(b)); + } + +/** +* Parameters for ECIES secret derivation +*/ +class BOTAN_PUBLIC_API(2,0) ECIES_KA_Params + { + public: + /** + * @param domain ec domain parameters of the involved ec keys + * @param kdf_spec name of the key derivation function + * @param length length of the secret to be derived + * @param compression_type format of encoded keys (affects the secret derivation if single_hash_mode is used) + * @param flags options, see documentation of ECIES_Flags + */ + ECIES_KA_Params(const EC_Group& domain, const std::string& kdf_spec, size_t length, + PointGFp::Compression_Type compression_type, ECIES_Flags flags); + + ECIES_KA_Params(const ECIES_KA_Params&) = default; + ECIES_KA_Params& operator=(const ECIES_KA_Params&) = delete; + + virtual ~ECIES_KA_Params() = default; + + inline const EC_Group& domain() const + { + return m_domain; + } + + inline size_t secret_length() const + { + return m_length; + } + + inline bool single_hash_mode() const + { + return (m_flags & ECIES_Flags::SINGLE_HASH_MODE) == ECIES_Flags::SINGLE_HASH_MODE; + } + + inline bool cofactor_mode() const + { + return (m_flags & ECIES_Flags::COFACTOR_MODE) == ECIES_Flags::COFACTOR_MODE; + } + + inline bool old_cofactor_mode() const + { + return (m_flags & ECIES_Flags::OLD_COFACTOR_MODE) == ECIES_Flags::OLD_COFACTOR_MODE; + } + + inline bool check_mode() const + { + return (m_flags & ECIES_Flags::CHECK_MODE) == ECIES_Flags::CHECK_MODE; + } + + inline PointGFp::Compression_Type compression_type() const + { + return m_compression_mode; + } + + const std::string& kdf_spec() const + { + return m_kdf_spec; + } + + private: + const EC_Group m_domain; + const std::string m_kdf_spec; + const size_t m_length; + const PointGFp::Compression_Type m_compression_mode; + const ECIES_Flags m_flags; + }; + + +class BOTAN_PUBLIC_API(2,0) ECIES_System_Params final : public ECIES_KA_Params + { + public: + /** + * @param domain ec domain parameters of the involved ec keys + * @param kdf_spec name of the key derivation function + * @param dem_algo_spec name of the data encryption method + * @param dem_key_len length of the key used for the data encryption method + * @param mac_spec name of the message authentication code + * @param mac_key_len length of the key used for the message authentication code + */ + ECIES_System_Params(const EC_Group& domain, const std::string& kdf_spec, const std::string& dem_algo_spec, + size_t dem_key_len, const std::string& mac_spec, size_t mac_key_len); + + /** + * @param domain ec domain parameters of the involved ec keys + * @param kdf_spec name of the key derivation function + * @param dem_algo_spec name of the data encryption method + * @param dem_key_len length of the key used for the data encryption method + * @param mac_spec name of the message authentication code + * @param mac_key_len length of the key used for the message authentication code + * @param compression_type format of encoded keys (affects the secret derivation if single_hash_mode is used) + * @param flags options, see documentation of ECIES_Flags + */ + ECIES_System_Params(const EC_Group& domain, const std::string& kdf_spec, const std::string& dem_algo_spec, + size_t dem_key_len, const std::string& mac_spec, size_t mac_key_len, + PointGFp::Compression_Type compression_type, ECIES_Flags flags); + + ECIES_System_Params(const ECIES_System_Params&) = default; + ECIES_System_Params& operator=(const ECIES_System_Params&) = delete; + virtual ~ECIES_System_Params() = default; + + /// creates an instance of the message authentication code + std::unique_ptr create_mac() const; + + /// creates an instance of the data encryption method + std::unique_ptr create_cipher(Botan::Cipher_Dir direction) const; + + /// returns the length of the key used by the data encryption method + inline size_t dem_keylen() const + { + return m_dem_keylen; + } + + /// returns the length of the key used by the message authentication code + inline size_t mac_keylen() const + { + return m_mac_keylen; + } + + private: + const std::string m_dem_spec; + const size_t m_dem_keylen; + const std::string m_mac_spec; + const size_t m_mac_keylen; + }; + + +/** +* ECIES secret derivation according to ISO 18033-2 +*/ +class BOTAN_PUBLIC_API(2,0) ECIES_KA_Operation + { + public: + /** + * @param private_key the (ephemeral) private key which is used to derive the secret + * @param ecies_params settings for ecies + * @param for_encryption disable cofactor mode if the secret will be used for encryption + * (according to ISO 18033 cofactor mode is only used during decryption) + * @param rng the RNG to use + */ + ECIES_KA_Operation(const PK_Key_Agreement_Key& private_key, + const ECIES_KA_Params& ecies_params, + bool for_encryption, + RandomNumberGenerator& rng); + + /** + * Performs a key agreement with the provided keys and derives the secret from the result + * @param eph_public_key_bin the encoded (ephemeral) public key which belongs to the used (ephemeral) private key + * @param other_public_key_point public key point of the other party + */ + SymmetricKey derive_secret(const std::vector& eph_public_key_bin, + const PointGFp& other_public_key_point) const; + + private: + const PK_Key_Agreement m_ka; + const ECIES_KA_Params m_params; + }; + + +/** +* ECIES Encryption according to ISO 18033-2 +*/ +class BOTAN_PUBLIC_API(2,0) ECIES_Encryptor final : public PK_Encryptor + { + public: + /** + * @param private_key the (ephemeral) private key which is used for the key agreement + * @param ecies_params settings for ecies + * @param rng random generator to use + */ + ECIES_Encryptor(const PK_Key_Agreement_Key& private_key, + const ECIES_System_Params& ecies_params, + RandomNumberGenerator& rng); + + /** + * Creates an ephemeral private key which is used for the key agreement + * @param rng random generator used during private key generation + * @param ecies_params settings for ecies + */ + ECIES_Encryptor(RandomNumberGenerator& rng, const ECIES_System_Params& ecies_params); + + /// Set the public key of the other party + inline void set_other_key(const Botan::PointGFp& public_point) + { + m_other_point = public_point; + } + + /// Set the initialization vector for the data encryption method + inline void set_initialization_vector(const InitializationVector& iv) + { + m_iv = iv; + } + + /// Set the label which is appended to the input for the message authentication code + inline void set_label(const std::string& label) + { + m_label = std::vector(label.begin(), label.end()); + } + + private: + std::vector enc(const uint8_t data[], size_t length, RandomNumberGenerator&) const override; + + size_t maximum_input_size() const override; + + size_t ciphertext_length(size_t ptext_len) const override; + + const ECIES_KA_Operation m_ka; + const ECIES_System_Params m_params; + std::unique_ptr m_mac; + std::unique_ptr m_cipher; + std::vector m_eph_public_key_bin; + InitializationVector m_iv; + PointGFp m_other_point; + std::vector m_label; + }; + + +/** +* ECIES Decryption according to ISO 18033-2 +*/ +class BOTAN_PUBLIC_API(2,0) ECIES_Decryptor final : public PK_Decryptor + { + public: + /** + * @param private_key the private key which is used for the key agreement + * @param ecies_params settings for ecies + * @param rng the random generator to use + */ + ECIES_Decryptor(const PK_Key_Agreement_Key& private_key, + const ECIES_System_Params& ecies_params, + RandomNumberGenerator& rng); + + /// Set the initialization vector for the data encryption method + inline void set_initialization_vector(const InitializationVector& iv) + { + m_iv = iv; + } + + /// Set the label which is appended to the input for the message authentication code + inline void set_label(const std::string& label) + { + m_label = std::vector(label.begin(), label.end()); + } + + private: + secure_vector do_decrypt(uint8_t& valid_mask, const uint8_t in[], size_t in_len) const override; + + size_t plaintext_length(size_t ctext_len) const override; + + const ECIES_KA_Operation m_ka; + const ECIES_System_Params m_params; + std::unique_ptr m_mac; + std::unique_ptr m_cipher; + InitializationVector m_iv; + std::vector m_label; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eckcdsa.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eckcdsa.h new file mode 100644 index 00000000..aa04cb14 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eckcdsa.h @@ -0,0 +1,96 @@ +/* +* ECKCDSA (ISO/IEC 14888-3:2006/Cor.2:2009) +* (C) 2016 René Korthaus, Sirrix AG +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ECKCDSA_KEY_H_ +#define BOTAN_ECKCDSA_KEY_H_ + +#include + +namespace Botan { + +/** +* This class represents ECKCDSA public keys. +*/ +class BOTAN_PUBLIC_API(2,0) ECKCDSA_PublicKey : public virtual EC_PublicKey + { + public: + + /** + * Construct a public key from a given public point. + * @param dom_par the domain parameters associated with this key + * @param public_point the public point defining this key + */ + ECKCDSA_PublicKey(const EC_Group& dom_par, + const PointGFp& public_point) : + EC_PublicKey(dom_par, public_point) {} + + /** + * Load a public key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits DER encoded public key bits + */ + ECKCDSA_PublicKey(const AlgorithmIdentifier& alg_id, + const std::vector& key_bits) : + EC_PublicKey(alg_id, key_bits) {} + + /** + * Get this keys algorithm name. + * @result this keys algorithm name ("ECGDSA") + */ + std::string algo_name() const override { return "ECKCDSA"; } + + size_t message_parts() const override { return 2; } + + size_t message_part_size() const override + { return domain().get_order().bytes(); } + + std::unique_ptr + create_verification_op(const std::string& params, + const std::string& provider) const override; + protected: + ECKCDSA_PublicKey() = default; + }; + +/** +* This class represents ECKCDSA private keys. +*/ +class BOTAN_PUBLIC_API(2,0) ECKCDSA_PrivateKey final : public ECKCDSA_PublicKey, + public EC_PrivateKey + { + public: + + /** + * Load a private key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits ECPrivateKey bits + */ + ECKCDSA_PrivateKey(const AlgorithmIdentifier& alg_id, + const secure_vector& key_bits) : + EC_PrivateKey(alg_id, key_bits, true) {} + + /** + * Create a private key. + * @param rng a random number generator + * @param domain parameters to used for this key + * @param x the private key (if zero, generate a new random key) + */ + ECKCDSA_PrivateKey(RandomNumberGenerator& rng, + const EC_Group& domain, + const BigInt& x = 0) : + EC_PrivateKey(rng, domain, x, true) {} + + bool check_key(RandomNumberGenerator& rng, bool) const override; + + std::unique_ptr + create_signature_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ed25519.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ed25519.h new file mode 100644 index 00000000..97ed023f --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ed25519.h @@ -0,0 +1,113 @@ +/* +* Ed25519 +* (C) 2017 Ribose Inc +* +* Based on the public domain code from SUPERCOP ref10 by +* Peter Schwabe, Daniel J. Bernstein, Niels Duif, Tanja Lange, Bo-Yin Yang +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ED25519_H_ +#define BOTAN_ED25519_H_ + +#include + +namespace Botan { + +class BOTAN_PUBLIC_API(2,2) Ed25519_PublicKey : public virtual Public_Key + { + public: + std::string algo_name() const override { return "Ed25519"; } + + size_t estimated_strength() const override { return 128; } + + size_t key_length() const override { return 255; } + + bool check_key(RandomNumberGenerator& rng, bool strong) const override; + + AlgorithmIdentifier algorithm_identifier() const override; + + std::vector public_key_bits() const override; + + /** + * Create a Ed25519 Public Key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits DER encoded public key bits + */ + Ed25519_PublicKey(const AlgorithmIdentifier& alg_id, + const std::vector& key_bits); + + template + Ed25519_PublicKey(const std::vector& pub) : + Ed25519_PublicKey(pub.data(), pub.size()) {} + + Ed25519_PublicKey(const uint8_t pub_key[], size_t len); + + std::unique_ptr + create_verification_op(const std::string& params, + const std::string& provider) const override; + + const std::vector& get_public_key() const { return m_public; } + + protected: + Ed25519_PublicKey() = default; + std::vector m_public; + }; + +class BOTAN_PUBLIC_API(2,2) Ed25519_PrivateKey final : public Ed25519_PublicKey, + public virtual Private_Key + { + public: + /** + * Construct a private key from the specified parameters. + * @param alg_id the X.509 algorithm identifier + * @param key_bits PKCS #8 structure + */ + Ed25519_PrivateKey(const AlgorithmIdentifier& alg_id, + const secure_vector& key_bits); + + /** + * Generate a private key. + * @param rng the RNG to use + */ + explicit Ed25519_PrivateKey(RandomNumberGenerator& rng); + + /** + * Construct a private key from the specified parameters. + * @param secret_key the private key + */ + explicit Ed25519_PrivateKey(const secure_vector& secret_key); + + const secure_vector& get_private_key() const { return m_private; } + + secure_vector private_key_bits() const override; + + bool check_key(RandomNumberGenerator& rng, bool strong) const override; + + std::unique_ptr + create_signature_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + + private: + secure_vector m_private; + }; + +void ed25519_gen_keypair(uint8_t pk[32], uint8_t sk[64], const uint8_t seed[32]); + +void ed25519_sign(uint8_t sig[64], + const uint8_t msg[], + size_t msg_len, + const uint8_t sk[64], + const uint8_t domain_sep[], size_t domain_sep_len); + +bool ed25519_verify(const uint8_t msg[], + size_t msg_len, + const uint8_t sig[64], + const uint8_t pk[32], + const uint8_t domain_sep[], size_t domain_sep_len); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/elgamal.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/elgamal.h new file mode 100644 index 00000000..e4d932f6 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/elgamal.h @@ -0,0 +1,85 @@ +/* +* ElGamal +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ELGAMAL_H_ +#define BOTAN_ELGAMAL_H_ + +#include + +namespace Botan { + +/** +* ElGamal Public Key +*/ +class BOTAN_PUBLIC_API(2,0) ElGamal_PublicKey : public virtual DL_Scheme_PublicKey + { + public: + std::string algo_name() const override { return "ElGamal"; } + DL_Group::Format group_format() const override { return DL_Group::ANSI_X9_42; } + + /** + * Load a public key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits DER encoded public key bits + */ + ElGamal_PublicKey(const AlgorithmIdentifier& alg_id, + const std::vector& key_bits) : + DL_Scheme_PublicKey(alg_id, key_bits, DL_Group::ANSI_X9_42) + {} + + /** + * Create a public key. + * @param group the underlying DL group + * @param y the public value y = g^x mod p + */ + ElGamal_PublicKey(const DL_Group& group, const BigInt& y); + + std::unique_ptr + create_encryption_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + + protected: + ElGamal_PublicKey() = default; + }; + +/** +* ElGamal Private Key +*/ +class BOTAN_PUBLIC_API(2,0) ElGamal_PrivateKey final : public ElGamal_PublicKey, + public virtual DL_Scheme_PrivateKey + { + public: + bool check_key(RandomNumberGenerator& rng, bool) const override; + + /** + * Load a private key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits DER encoded key bits in ANSI X9.42 format + */ + ElGamal_PrivateKey(const AlgorithmIdentifier& alg_id, + const secure_vector& key_bits); + + /** + * Create a private key. + * @param rng random number generator to use + * @param group the group to be used in the key + * @param priv_key the key's secret value (or if zero, generate a new key) + */ + ElGamal_PrivateKey(RandomNumberGenerator& rng, + const DL_Group& group, + const BigInt& priv_key = 0); + + std::unique_ptr + create_decryption_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eme.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eme.h new file mode 100644 index 00000000..38cce4b0 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eme.h @@ -0,0 +1,94 @@ +/* +* EME Classes +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PUBKEY_EME_ENCRYPTION_PAD_H_ +#define BOTAN_PUBKEY_EME_ENCRYPTION_PAD_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(eme.h) + +namespace Botan { + +class RandomNumberGenerator; + +/** +* Encoding Method for Encryption +*/ +class BOTAN_PUBLIC_API(2,0) EME + { + public: + virtual ~EME() = default; + + /** + * Return the maximum input size in bytes we can support + * @param keybits the size of the key in bits + * @return upper bound of input in bytes + */ + virtual size_t maximum_input_size(size_t keybits) const = 0; + + /** + * Encode an input + * @param in the plaintext + * @param in_length length of plaintext in bytes + * @param key_length length of the key in bits + * @param rng a random number generator + * @return encoded plaintext + */ + secure_vector encode(const uint8_t in[], + size_t in_length, + size_t key_length, + RandomNumberGenerator& rng) const; + + /** + * Encode an input + * @param in the plaintext + * @param key_length length of the key in bits + * @param rng a random number generator + * @return encoded plaintext + */ + secure_vector encode(const secure_vector& in, + size_t key_length, + RandomNumberGenerator& rng) const; + + /** + * Decode an input + * @param valid_mask written to specifies if output is valid + * @param in the encoded plaintext + * @param in_len length of encoded plaintext in bytes + * @return bytes of out[] written to along with + * validity mask (0xFF if valid, else 0x00) + */ + virtual secure_vector unpad(uint8_t& valid_mask, + const uint8_t in[], + size_t in_len) const = 0; + + /** + * Encode an input + * @param in the plaintext + * @param in_length length of plaintext in bytes + * @param key_length length of the key in bits + * @param rng a random number generator + * @return encoded plaintext + */ + virtual secure_vector pad(const uint8_t in[], + size_t in_length, + size_t key_length, + RandomNumberGenerator& rng) const = 0; + }; + +/** +* Factory method for EME (message-encoding methods for encryption) objects +* @param algo_spec the name of the EME to create +* @return pointer to newly allocated object of that type +*/ +BOTAN_PUBLIC_API(2,0) EME* get_eme(const std::string& algo_spec); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eme_pkcs.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eme_pkcs.h new file mode 100644 index 00000000..fb7cf141 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eme_pkcs.h @@ -0,0 +1,35 @@ +/* +* EME PKCS#1 v1.5 +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_EME_PKCS1_H_ +#define BOTAN_EME_PKCS1_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(eme_pkcs.h) + +namespace Botan { + +/** +* EME from PKCS #1 v1.5 +*/ +class BOTAN_PUBLIC_API(2,0) EME_PKCS1v15 final : public EME + { + public: + size_t maximum_input_size(size_t) const override; + + secure_vector pad(const uint8_t[], size_t, size_t, + RandomNumberGenerator&) const override; + + secure_vector unpad(uint8_t& valid_mask, + const uint8_t in[], + size_t in_len) const override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eme_raw.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eme_raw.h new file mode 100644 index 00000000..840448c5 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/eme_raw.h @@ -0,0 +1,33 @@ +/* +* (C) 2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_EME_RAW_H_ +#define BOTAN_EME_RAW_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(eme_raw.h) + +namespace Botan { + +class BOTAN_PUBLIC_API(2,0) EME_Raw final : public EME + { + public: + size_t maximum_input_size(size_t i) const override; + + EME_Raw() = default; + private: + secure_vector pad(const uint8_t[], size_t, size_t, + RandomNumberGenerator&) const override; + + secure_vector unpad(uint8_t& valid_mask, + const uint8_t in[], + size_t in_len) const override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa.h new file mode 100644 index 00000000..7178eae2 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa.h @@ -0,0 +1,107 @@ +/* +* EMSA Classes +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PUBKEY_EMSA_H_ +#define BOTAN_PUBKEY_EMSA_H_ + +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(emsa.h) + +namespace Botan { + +class Private_Key; +class RandomNumberGenerator; + +/** +* EMSA, from IEEE 1363s Encoding Method for Signatures, Appendix +* +* Any way of encoding/padding signatures +*/ +class BOTAN_PUBLIC_API(2,0) EMSA + { + public: + virtual ~EMSA() = default; + + /** + * Add more data to the signature computation + * @param input some data + * @param length length of input in bytes + */ + virtual void update(const uint8_t input[], size_t length) = 0; + + /** + * @return raw hash + */ + virtual secure_vector raw_data() = 0; + + /** + * Return the encoding of a message + * @param msg the result of raw_data() + * @param output_bits the desired output bit size + * @param rng a random number generator + * @return encoded signature + */ + virtual secure_vector encoding_of(const secure_vector& msg, + size_t output_bits, + RandomNumberGenerator& rng) = 0; + + /** + * Verify the encoding + * @param coded the received (coded) message representative + * @param raw the computed (local, uncoded) message representative + * @param key_bits the size of the key in bits + * @return true if coded is a valid encoding of raw, otherwise false + */ + virtual bool verify(const secure_vector& coded, + const secure_vector& raw, + size_t key_bits) = 0; + + /** + * Prepare sig_algo for use in choose_sig_format for x509 certs + * + * @param key used for checking compatibility with the encoding scheme + * @param cert_hash_name is checked to equal the hash for the encoding + * @return algorithm identifier to signatures created using this key, + * padding method and hash. + */ + virtual AlgorithmIdentifier config_for_x509(const Private_Key& key, + const std::string& cert_hash_name) const; + + /** + * @return a new object representing the same encoding method as *this + */ + virtual EMSA* clone() = 0; + + /** + * @return the SCAN name of the encoding/padding scheme + */ + virtual std::string name() const = 0; + }; + +/** +* Factory method for EMSA (message-encoding methods for signatures +* with appendix) objects +* @param algo_spec the name of the EMSA to create +* @return pointer to newly allocated object of that type +*/ +BOTAN_PUBLIC_API(2,0) EMSA* get_emsa(const std::string& algo_spec); + +/** +* Returns the hash function used in the given EMSA scheme +* If the hash function is not specified or not understood, +* returns "SHA-512" +* @param algo_spec the name of the EMSA +* @return hash function used in the given EMSA scheme +*/ +BOTAN_PUBLIC_API(2,0) std::string hash_for_emsa(const std::string& algo_spec); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa1.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa1.h new file mode 100644 index 00000000..76736bc2 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa1.h @@ -0,0 +1,55 @@ +/* +* EMSA1 +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_EMSA1_H_ +#define BOTAN_EMSA1_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(emsa1.h) + +namespace Botan { + +/** +* EMSA1 from IEEE 1363 +* Essentially, sign the hash directly +*/ +class BOTAN_PUBLIC_API(2,0) EMSA1 final : public EMSA + { + public: + /** + * @param hash the hash function to use + */ + explicit EMSA1(HashFunction* hash) : m_hash(hash) {} + + EMSA* clone() override; + + std::string name() const override; + + AlgorithmIdentifier config_for_x509(const Private_Key& key, + const std::string& cert_hash_name) const override; + private: + size_t hash_output_length() const { return m_hash->output_length(); } + + void update(const uint8_t[], size_t) override; + secure_vector raw_data() override; + + secure_vector encoding_of(const secure_vector& msg, + size_t output_bits, + RandomNumberGenerator& rng) override; + + bool verify(const secure_vector& coded, + const secure_vector& raw, + size_t key_bits) override; + + std::unique_ptr m_hash; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa_pkcs1.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa_pkcs1.h new file mode 100644 index 00000000..5b9cf7ae --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa_pkcs1.h @@ -0,0 +1,94 @@ +/* +* PKCS #1 v1.5 signature padding +* (C) 1999-2008 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_EMSA_PKCS1_H_ +#define BOTAN_EMSA_PKCS1_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(emsa_pkcs1.h) + +namespace Botan { + +/** +* PKCS #1 v1.5 signature padding +* aka PKCS #1 block type 1 +* aka EMSA3 from IEEE 1363 +*/ +class BOTAN_PUBLIC_API(2,0) EMSA_PKCS1v15 final : public EMSA + { + public: + /** + * @param hash the hash function to use + */ + explicit EMSA_PKCS1v15(HashFunction* hash); + + EMSA* clone() override { return new EMSA_PKCS1v15(m_hash->clone()); } + + void update(const uint8_t[], size_t) override; + + secure_vector raw_data() override; + + secure_vector encoding_of(const secure_vector&, size_t, + RandomNumberGenerator& rng) override; + + bool verify(const secure_vector&, const secure_vector&, + size_t) override; + + std::string name() const override + { return "EMSA3(" + m_hash->name() + ")"; } + + AlgorithmIdentifier config_for_x509(const Private_Key& key, + const std::string& cert_hash_name) const override; + private: + std::unique_ptr m_hash; + std::vector m_hash_id; + }; + +/** +* EMSA_PKCS1v15_Raw which is EMSA_PKCS1v15 without a hash or digest id +* (which according to QCA docs is "identical to PKCS#11's CKM_RSA_PKCS +* mechanism", something I have not confirmed) +*/ +class BOTAN_PUBLIC_API(2,0) EMSA_PKCS1v15_Raw final : public EMSA + { + public: + EMSA* clone() override { return new EMSA_PKCS1v15_Raw(); } + + void update(const uint8_t[], size_t) override; + + secure_vector raw_data() override; + + secure_vector encoding_of(const secure_vector&, size_t, + RandomNumberGenerator& rng) override; + + bool verify(const secure_vector&, const secure_vector&, + size_t) override; + + /** + * @param hash_algo if non-empty, the digest id for that hash is + * included in the signature. + */ + EMSA_PKCS1v15_Raw(const std::string& hash_algo = ""); + + std::string name() const override + { + if(m_hash_name.empty()) return "EMSA3(Raw)"; + else return "EMSA3(Raw," + m_hash_name + ")"; + } + + private: + size_t m_hash_output_len = 0; + std::string m_hash_name; + std::vector m_hash_id; + secure_vector m_message; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa_raw.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa_raw.h new file mode 100644 index 00000000..dc01b94a --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa_raw.h @@ -0,0 +1,47 @@ +/* +* EMSA-Raw +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_EMSA_RAW_H_ +#define BOTAN_EMSA_RAW_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(emsa_raw.h) + +namespace Botan { + +/** +* EMSA-Raw - sign inputs directly +* Don't use this unless you know what you are doing. +*/ +class BOTAN_PUBLIC_API(2,0) EMSA_Raw final : public EMSA + { + public: + EMSA* clone() override { return new EMSA_Raw(); } + + explicit EMSA_Raw(size_t expected_hash_size = 0) : + m_expected_size(expected_hash_size) {} + + std::string name() const override; + private: + void update(const uint8_t[], size_t) override; + secure_vector raw_data() override; + + secure_vector encoding_of(const secure_vector&, size_t, + RandomNumberGenerator&) override; + + bool verify(const secure_vector&, + const secure_vector&, + size_t) override; + + const size_t m_expected_size; + secure_vector m_message; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa_x931.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa_x931.h new file mode 100644 index 00000000..a2fef046 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/emsa_x931.h @@ -0,0 +1,52 @@ +/* +* X9.31 EMSA +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_EMSA_X931_H_ +#define BOTAN_EMSA_X931_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(emsa_x931.h) + +namespace Botan { + +/** +* EMSA from X9.31 (EMSA2 in IEEE 1363) +* Useful for Rabin-Williams, also sometimes used with RSA in +* odd protocols. +*/ +class BOTAN_PUBLIC_API(2,0) EMSA_X931 final : public EMSA + { + public: + /** + * @param hash the hash function to use + */ + explicit EMSA_X931(HashFunction* hash); + + EMSA* clone() override { return new EMSA_X931(m_hash->clone()); } + + std::string name() const override; + + private: + void update(const uint8_t[], size_t) override; + secure_vector raw_data() override; + + secure_vector encoding_of(const secure_vector&, size_t, + RandomNumberGenerator& rng) override; + + bool verify(const secure_vector&, const secure_vector&, + size_t) override; + + secure_vector m_empty_hash; + std::unique_ptr m_hash; + uint8_t m_hash_id; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/entropy_src.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/entropy_src.h new file mode 100644 index 00000000..56e5bd53 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/entropy_src.h @@ -0,0 +1,87 @@ +/* +* EntropySource +* (C) 2008,2009,2014,2015,2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ENTROPY_H_ +#define BOTAN_ENTROPY_H_ + +#include +#include +#include +#include +#include +#include + +namespace Botan { + +class RandomNumberGenerator; + +/** +* Abstract interface to a source of entropy +*/ +class BOTAN_PUBLIC_API(2,0) Entropy_Source + { + public: + /** + * Return a new entropy source of a particular type, or null + * Each entropy source may require substantial resources (eg, a file handle + * or socket instance), so try to share them among multiple RNGs, or just + * use the preconfigured global list accessed by Entropy_Sources::global_sources() + */ + static std::unique_ptr create(const std::string& type); + + /** + * @return name identifying this entropy source + */ + virtual std::string name() const = 0; + + /** + * Perform an entropy gathering poll + * @param rng will be provided with entropy via calls to add_entropy + * @return conservative estimate of actual entropy added to rng during poll + */ + virtual size_t poll(RandomNumberGenerator& rng) = 0; + + Entropy_Source() = default; + Entropy_Source(const Entropy_Source& other) = delete; + Entropy_Source(Entropy_Source&& other) = delete; + Entropy_Source& operator=(const Entropy_Source& other) = delete; + + virtual ~Entropy_Source() = default; + }; + +class BOTAN_PUBLIC_API(2,0) Entropy_Sources final + { + public: + static Entropy_Sources& global_sources(); + + void add_source(std::unique_ptr src); + + std::vector enabled_sources() const; + + size_t poll(RandomNumberGenerator& rng, + size_t bits, + std::chrono::milliseconds timeout); + + /** + * Poll just a single named source. Ordinally only used for testing + */ + size_t poll_just(RandomNumberGenerator& rng, const std::string& src); + + Entropy_Sources() = default; + explicit Entropy_Sources(const std::vector& sources); + + Entropy_Sources(const Entropy_Sources& other) = delete; + Entropy_Sources(Entropy_Sources&& other) = delete; + Entropy_Sources& operator=(const Entropy_Sources& other) = delete; + + private: + std::vector> m_srcs; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/exceptn.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/exceptn.h new file mode 100644 index 00000000..442ec91e --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/exceptn.h @@ -0,0 +1,441 @@ +/* +* Exceptions +* (C) 1999-2009,2018 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_EXCEPTION_H_ +#define BOTAN_EXCEPTION_H_ + +#include +#include +#include + +namespace Botan { + +/** +* Different types of errors that might occur +*/ +enum class ErrorType { + /** Some unknown error */ + Unknown = 1, + /** An error while calling a system interface */ + SystemError, + /** An operation seems valid, but not supported by the current version */ + NotImplemented, + /** Memory allocation failure */ + OutOfMemory, + /** An internal error occurred */ + InternalError, + /** An I/O error occurred */ + IoError, + + /** Invalid object state */ + InvalidObjectState = 100, + /** A key was not set on an object when this is required */ + KeyNotSet, + /** The application provided an argument which is invalid */ + InvalidArgument, + /** A key with invalid length was provided */ + InvalidKeyLength, + /** A nonce with invalid length was provided */ + InvalidNonceLength, + /** An object type was requested but cannot be found */ + LookupError, + /** Encoding a message or datum failed */ + EncodingFailure, + /** Decoding a message or datum failed */ + DecodingFailure, + /** A TLS error (error_code will be the alert type) */ + TLSError, + /** An error during an HTTP operation */ + HttpError, + /** A message with an invalid authentication tag was detected */ + InvalidTag, + /** An error during Roughtime validation */ + RoughtimeError, + + /** An error when calling OpenSSL */ + OpenSSLError = 200, + /** An error when interacting with CommonCrypto API */ + CommonCryptoError, + /** An error when interacting with a PKCS11 device */ + Pkcs11Error, + /** An error when interacting with a TPM device */ + TPMError, + /** An error when interacting with a database */ + DatabaseError, + + /** An error when interacting with zlib */ + ZlibError = 300, + /** An error when interacting with bzip2 */ + Bzip2Error, + /** An error when interacting with lzma */ + LzmaError, + +}; + +//! \brief Convert an ErrorType to string +std::string BOTAN_PUBLIC_API(2,11) to_string(ErrorType type); + +/** +* Base class for all exceptions thrown by the library +*/ +class BOTAN_PUBLIC_API(2,0) Exception : public std::exception + { + public: + /** + * Return a descriptive string which is hopefully comprehensible to + * a developer. It will likely not be useful for an end user. + * + * The string has no particular format, and the content of exception + * messages may change from release to release. Thus the main use of this + * function is for logging or debugging. + */ + const char* what() const noexcept override { return m_msg.c_str(); } + + /** + * Return the "type" of error which occurred. + */ + virtual ErrorType error_type() const noexcept { return Botan::ErrorType::Unknown; } + + /** + * Return an error code associated with this exception, or otherwise 0. + * + * The domain of this error varies depending on the source, for example on + * POSIX systems it might be errno, while on a Windows system it might be + * the result of GetLastError or WSAGetLastError. For error_type() is + * OpenSSLError, it will (if nonzero) be an OpenSSL error code from + * ERR_get_error. + */ + virtual int error_code() const noexcept { return 0; } + + /** + * Avoid throwing base Exception, use a subclass + */ + explicit Exception(const std::string& msg); + + /** + * Avoid throwing base Exception, use a subclass + */ + Exception(const char* prefix, const std::string& msg); + + /** + * Avoid throwing base Exception, use a subclass + */ + Exception(const std::string& msg, const std::exception& e); + + private: + std::string m_msg; + }; + +/** +* An invalid argument was provided to an API call. +*/ +class BOTAN_PUBLIC_API(2,0) Invalid_Argument : public Exception + { + public: + explicit Invalid_Argument(const std::string& msg); + + explicit Invalid_Argument(const std::string& msg, const std::string& where); + + Invalid_Argument(const std::string& msg, const std::exception& e); + + ErrorType error_type() const noexcept override { return ErrorType::InvalidArgument; } + }; + +/** +* An invalid key length was used +*/ +class BOTAN_PUBLIC_API(2,0) Invalid_Key_Length final : public Invalid_Argument + { + public: + Invalid_Key_Length(const std::string& name, size_t length); + ErrorType error_type() const noexcept override { return ErrorType::InvalidKeyLength; } + }; + +/** +* An invalid nonce length was used +*/ +class BOTAN_PUBLIC_API(2,0) Invalid_IV_Length final : public Invalid_Argument + { + public: + Invalid_IV_Length(const std::string& mode, size_t bad_len); + ErrorType error_type() const noexcept override { return ErrorType::InvalidNonceLength; } + }; + +/** +* Invalid_Algorithm_Name Exception +*/ +class BOTAN_PUBLIC_API(2,0) Invalid_Algorithm_Name final : public Invalid_Argument + { + public: + explicit Invalid_Algorithm_Name(const std::string& name); + }; + +/** +* Encoding_Error Exception +* +* This exception derives from Invalid_Argument for historical reasons, and it +* does not make any real sense for it to do so. In a future major release this +* exception type will derive directly from Exception instead. +*/ +class BOTAN_PUBLIC_API(2,0) Encoding_Error final : public Invalid_Argument + { + public: + explicit Encoding_Error(const std::string& name); + + ErrorType error_type() const noexcept override { return ErrorType::EncodingFailure; } + }; + +/** +* A decoding error occurred. +* +* This exception derives from Invalid_Argument for historical reasons, and it +* does not make any real sense for it to do so. In a future major release this +* exception type will derive directly from Exception instead. +*/ +class BOTAN_PUBLIC_API(2,0) Decoding_Error : public Invalid_Argument + { + public: + explicit Decoding_Error(const std::string& name); + + Decoding_Error(const std::string& name, const char* exception_message); + + Decoding_Error(const std::string& msg, const std::exception& e); + + ErrorType error_type() const noexcept override { return ErrorType::DecodingFailure; } + }; + +/** +* Invalid state was encountered. A request was made on an object while the +* object was in a state where the operation cannot be performed. +*/ +class BOTAN_PUBLIC_API(2,0) Invalid_State : public Exception + { + public: + explicit Invalid_State(const std::string& err) : Exception(err) {} + + ErrorType error_type() const noexcept override { return ErrorType::InvalidObjectState; } + }; + +/** +* A PRNG was called on to produce output while still unseeded +*/ +class BOTAN_PUBLIC_API(2,0) PRNG_Unseeded final : public Invalid_State + { + public: + explicit PRNG_Unseeded(const std::string& algo); + }; + +/** +* The key was not set on an object. This occurs with symmetric objects where +* an operation which requires the key is called prior to set_key being called. +*/ +class BOTAN_PUBLIC_API(2,4) Key_Not_Set : public Invalid_State + { + public: + explicit Key_Not_Set(const std::string& algo); + + ErrorType error_type() const noexcept override { return ErrorType::KeyNotSet; } + }; + +/** +* A request was made for some kind of object which could not be located +*/ +class BOTAN_PUBLIC_API(2,0) Lookup_Error : public Exception + { + public: + explicit Lookup_Error(const std::string& err) : Exception(err) {} + + Lookup_Error(const std::string& type, + const std::string& algo, + const std::string& provider); + + ErrorType error_type() const noexcept override { return ErrorType::LookupError; } + }; + +/** +* Algorithm_Not_Found Exception +* +* @warning This exception type will be removed in the future. Instead +* just catch Lookup_Error. +*/ +class BOTAN_PUBLIC_API(2,0) Algorithm_Not_Found final : public Lookup_Error + { + public: + explicit Algorithm_Not_Found(const std::string& name); + }; + +/** +* Provider_Not_Found is thrown when a specific provider was requested +* but that provider is not available. +* +* @warning This exception type will be removed in the future. Instead +* just catch Lookup_Error. +*/ +class BOTAN_PUBLIC_API(2,0) Provider_Not_Found final : public Lookup_Error + { + public: + Provider_Not_Found(const std::string& algo, const std::string& provider); + }; + +/** +* An AEAD or MAC check detected a message modification +* +* In versions before 2.10, Invalid_Authentication_Tag was named +* Integrity_Failure, it was renamed to make its usage more clear. +*/ +class BOTAN_PUBLIC_API(2,0) Invalid_Authentication_Tag final : public Exception + { + public: + explicit Invalid_Authentication_Tag(const std::string& msg); + + ErrorType error_type() const noexcept override { return ErrorType::InvalidTag; } + }; + +/** +* For compatability with older versions +*/ +typedef Invalid_Authentication_Tag Integrity_Failure; + +/** +* An error occurred while operating on an IO stream +*/ +class BOTAN_PUBLIC_API(2,0) Stream_IO_Error final : public Exception + { + public: + explicit Stream_IO_Error(const std::string& err); + + ErrorType error_type() const noexcept override { return ErrorType::IoError; } + }; + +/** +* System_Error +* +* This exception is thrown in the event of an error related to interacting +* with the operating system. +* +* This exception type also (optionally) captures an integer error code eg +* POSIX errno or Windows GetLastError. +*/ +class BOTAN_PUBLIC_API(2,9) System_Error : public Exception + { + public: + System_Error(const std::string& msg) : Exception(msg), m_error_code(0) {} + + System_Error(const std::string& msg, int err_code); + + ErrorType error_type() const noexcept override { return ErrorType::SystemError; } + + int error_code() const noexcept override { return m_error_code; } + + private: + int m_error_code; + }; + +/** +* An internal error occurred. If observed, please file a bug. +*/ +class BOTAN_PUBLIC_API(2,0) Internal_Error : public Exception + { + public: + explicit Internal_Error(const std::string& err); + + ErrorType error_type() const noexcept override { return ErrorType::InternalError; } + }; + +/** +* Not Implemented Exception +* +* This is thrown in the situation where a requested operation is +* logically valid but is not implemented by this version of the library. +*/ +class BOTAN_PUBLIC_API(2,0) Not_Implemented final : public Exception + { + public: + explicit Not_Implemented(const std::string& err); + + ErrorType error_type() const noexcept override { return ErrorType::NotImplemented; } + }; + +/* + The following exception types are still in use for compatability reasons, + but are deprecated and will be removed in a future major release. + Instead catch the base class. +*/ + +/** +* An invalid OID string was used. +* +* This exception will be removed in a future major release. +*/ +class BOTAN_PUBLIC_API(2,0) Invalid_OID final : public Decoding_Error + { + public: + explicit Invalid_OID(const std::string& oid); + }; + +/* + The following exception types are deprecated, no longer used, + and will be removed in a future major release +*/ + +/** +* Self Test Failure Exception +* +* This exception is no longer used. It will be removed in a future major release. +*/ +class BOTAN_PUBLIC_API(2,0) Self_Test_Failure final : public Internal_Error + { + public: + BOTAN_DEPRECATED("no longer used") explicit Self_Test_Failure(const std::string& err); + }; + +/** +* No_Provider_Found Exception +* +* This exception is no longer used. It will be removed in a future major release. +*/ +class BOTAN_PUBLIC_API(2,0) No_Provider_Found final : public Exception + { + public: + BOTAN_DEPRECATED("no longer used") explicit No_Provider_Found(const std::string& name); + }; + +/** +* Policy_Violation Exception +* +* This exception is no longer used. It will be removed in a future major release. +*/ +class BOTAN_PUBLIC_API(2,0) Policy_Violation final : public Invalid_State + { + public: + BOTAN_DEPRECATED("no longer used") explicit Policy_Violation(const std::string& err); + }; + +/** +* Unsupported_Argument Exception +* +* An argument that is invalid because it is not supported by Botan. +* It might or might not be valid in another context like a standard. +* +* This exception is no longer used, instead Not_Implemented is thrown. +* It will be removed in a future major release. +*/ +class BOTAN_PUBLIC_API(2,0) Unsupported_Argument final : public Invalid_Argument + { + public: + BOTAN_DEPRECATED("no longer used") explicit Unsupported_Argument(const std::string& msg) : Invalid_Argument(msg) {} + }; + +template +inline void do_throw_error(const char* file, int line, const char* func, Args... args) + { + throw E(file, line, func, args...); + } + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/fd_unix.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/fd_unix.h new file mode 100644 index 00000000..b5a3a4cd --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/fd_unix.h @@ -0,0 +1,35 @@ +/* +* Pipe I/O for Unix +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PIPE_UNIXFD_H_ +#define BOTAN_PIPE_UNIXFD_H_ + +#include + +namespace Botan { + +class Pipe; + +/** +* Stream output operator; dumps the results from pipe's default +* message to the output stream. +* @param out file descriptor for an open output stream +* @param pipe the pipe +*/ +int BOTAN_PUBLIC_API(2,0) operator<<(int out, Pipe& pipe); + +/** +* File descriptor input operator; dumps the remaining bytes of input +* to the (assumed open) pipe message. +* @param in file descriptor for an open input stream +* @param pipe the pipe +*/ +int BOTAN_PUBLIC_API(2,0) operator>>(int in, Pipe& pipe); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ffi.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ffi.h new file mode 100644 index 00000000..ff7fc4b9 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ffi.h @@ -0,0 +1,1778 @@ +/* +* FFI (C89 API) +* (C) 2015,2017 Jack Lloyd +* (C) 2021 René Fischer +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_FFI_H_ +#define BOTAN_FFI_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* +This header exports some of botan's functionality via a C89 interface. This API +is uesd by the Python, OCaml, Rust and Ruby bindings via those languages +respective ctypes/FFI libraries. + +The API is intended to be as easy as possible to call from other +languages, which often have easy ways to call C, because C. But some C +code is easier to deal with than others, so to make things easy this +API follows a few simple rules: + +- All interactions are via pointers to opaque structs. No need to worry about + structure padding issues and the like. + +- All functions return an int error code (except the version calls, which are + assumed to always have something to say). + +- Use simple types: size_t for lengths, const char* NULL terminated strings, + uint8_t for binary. + +- No ownership of memory transfers across the API boundary. The API will + consume data from const pointers, and will produce output by writing to + buffers provided by (and allocated by) the caller. + +- If exporting a value (a string or a blob) the function takes a pointer to the + output array and a read/write pointer to the length. If the length is insufficient, an + error is returned. So passing nullptr/0 allows querying the final value. + + Note this does not apply to all functions, like `botan_hash_final` + which is not idempotent and are documented specially. But it's a + general theory of operation. + + TODO: + - Doxygen comments for all functions/params + - TLS +*/ + +#include +#include +#include + +/** +* Error codes +* +* If you add a new value here be sure to also add it in +* botan_error_description +*/ +enum BOTAN_FFI_ERROR { + BOTAN_FFI_SUCCESS = 0, + BOTAN_FFI_INVALID_VERIFIER = 1, + + BOTAN_FFI_ERROR_INVALID_INPUT = -1, + BOTAN_FFI_ERROR_BAD_MAC = -2, + + BOTAN_FFI_ERROR_INSUFFICIENT_BUFFER_SPACE = -10, + + BOTAN_FFI_ERROR_EXCEPTION_THROWN = -20, + BOTAN_FFI_ERROR_OUT_OF_MEMORY = -21, + BOTAN_FFI_ERROR_SYSTEM_ERROR = -22, + BOTAN_FFI_ERROR_INTERNAL_ERROR = -23, + + BOTAN_FFI_ERROR_BAD_FLAG = -30, + BOTAN_FFI_ERROR_NULL_POINTER = -31, + BOTAN_FFI_ERROR_BAD_PARAMETER = -32, + BOTAN_FFI_ERROR_KEY_NOT_SET = -33, + BOTAN_FFI_ERROR_INVALID_KEY_LENGTH = -34, + BOTAN_FFI_ERROR_INVALID_OBJECT_STATE = -35, + + BOTAN_FFI_ERROR_NOT_IMPLEMENTED = -40, + BOTAN_FFI_ERROR_INVALID_OBJECT = -50, + + BOTAN_FFI_ERROR_TLS_ERROR = -75, + BOTAN_FFI_ERROR_HTTP_ERROR = -76, + BOTAN_FFI_ERROR_ROUGHTIME_ERROR = -77, + + BOTAN_FFI_ERROR_UNKNOWN_ERROR = -100, +}; + +/** +* Convert an error code into a string. Returns "Unknown error" +* if the error code is not a known one. +*/ +BOTAN_PUBLIC_API(2,8) const char* botan_error_description(int err); + +/** +* Return the version of the currently supported FFI API. This is +* expressed in the form YYYYMMDD of the release date of this version +* of the API. +*/ +BOTAN_PUBLIC_API(2,0) uint32_t botan_ffi_api_version(void); + +/** +* Return 0 (ok) if the version given is one this library supports. +* botan_ffi_supports_api(botan_ffi_api_version()) will always return 0. +*/ +BOTAN_PUBLIC_API(2,0) int botan_ffi_supports_api(uint32_t api_version); + +/** +* Return a free-form version string, e.g., 2.0.0 +*/ +BOTAN_PUBLIC_API(2,0) const char* botan_version_string(void); + +/** +* Return the major version of the library +*/ +BOTAN_PUBLIC_API(2,0) uint32_t botan_version_major(void); + +/** +* Return the minor version of the library +*/ +BOTAN_PUBLIC_API(2,0) uint32_t botan_version_minor(void); + +/** +* Return the patch version of the library +*/ +BOTAN_PUBLIC_API(2,0) uint32_t botan_version_patch(void); + +/** +* Return the date this version was released as +* an integer, or 0 if an unreleased version +*/ +BOTAN_PUBLIC_API(2,0) uint32_t botan_version_datestamp(void); + +/** +* Returns 0 if x[0..len] == y[0..len], or otherwise -1 +*/ +BOTAN_PUBLIC_API(2,3) int botan_constant_time_compare(const uint8_t* x, const uint8_t* y, size_t len); + +/** +* Deprecated equivalent to botan_constant_time_compare +*/ +BOTAN_PUBLIC_API(2,0) int botan_same_mem(const uint8_t* x, const uint8_t* y, size_t len); + +/** +* Clear out memory using a system specific approach to bypass elision by the +* compiler (currently using RtlSecureZeroMemory or tricks with volatile pointers). +*/ +BOTAN_PUBLIC_API(2,2) int botan_scrub_mem(void* mem, size_t bytes); + +#define BOTAN_FFI_HEX_LOWER_CASE 1 + +/** +* Perform hex encoding +* @param x is some binary data +* @param len length of x in bytes +* @param out an array of at least x*2 bytes +* @param flags flags out be upper or lower case? +* @return 0 on success, 1 on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_hex_encode(const uint8_t* x, size_t len, char* out, uint32_t flags); + +/** +* Perform hex decoding +* @param hex_str a string of hex chars (whitespace is ignored) +* @param in_len the length of hex_str +* @param out the output buffer should be at least strlen(hex_str)/2 bytes +* @param out_len the size of out +*/ +BOTAN_PUBLIC_API(2,3) int botan_hex_decode(const char* hex_str, size_t in_len, uint8_t* out, size_t* out_len); + +/** +* Perform base64 encoding +*/ +BOTAN_PUBLIC_API(2,3) int botan_base64_encode(const uint8_t* x, size_t len, char* out, size_t* out_len); + + +/** +* Perform base64 decoding +*/ +BOTAN_PUBLIC_API(2,3) int botan_base64_decode(const char* base64_str, size_t in_len, + uint8_t* out, size_t* out_len); + +/** +* RNG type +*/ +typedef struct botan_rng_struct* botan_rng_t; + +/** +* Initialize a random number generator object +* @param rng rng object +* @param rng_type type of the rng, possible values: +* "system": system RNG +* "user": userspace RNG +* "user-threadsafe": userspace RNG, with internal locking +* "rdrand": directly read RDRAND +* Set rng_type to null to let the library choose some default. +*/ +BOTAN_PUBLIC_API(2,0) int botan_rng_init(botan_rng_t* rng, const char* rng_type); + +/** +* Initialize a custom random number generator from a set of callback functions +* @param rng rng object +* @param rng_name name of the rng +* @param context An application-specific context passed to the callback functions +* @param get_cb Callback for getting random bytes from the rng, return 0 for success +* @param add_entry_cb Callback for adding entropy to the rng, return 0 for success, may be NULL +* @param destroy_cb Callback called when rng is destroyed, may be NULL +*/ +BOTAN_PUBLIC_API(2,18) int botan_rng_init_custom(botan_rng_t* rng_out, const char* rng_name, void* context, + int(* get_cb)(void* context, uint8_t* out, size_t out_len), + int(* add_entropy_cb)(void* context, const uint8_t input[], size_t length), + void(* destroy_cb)(void* context)); + +/** +* Get random bytes from a random number generator +* @param rng rng object +* @param out output buffer of size out_len +* @param out_len number of requested bytes +* @return 0 on success, negative on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_rng_get(botan_rng_t rng, uint8_t* out, size_t out_len); + +/** +* Reseed a random number generator +* Uses the System_RNG as a seed generator. +* +* @param rng rng object +* @param bits number of bits to to reseed with +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_rng_reseed(botan_rng_t rng, size_t bits); + +/** +* Reseed a random number generator +* +* @param rng rng object +* @param source_rng the rng that will be read from +* @param bits number of bits to to reseed with +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,8) int botan_rng_reseed_from_rng(botan_rng_t rng, + botan_rng_t source_rng, + size_t bits); + +/** +* Add some seed material to a random number generator +* +* @param rng rng object +* @param entropy the data to add +* @param entropy_len length of entropy buffer +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,8) int botan_rng_add_entropy(botan_rng_t rng, + const uint8_t* entropy, + size_t entropy_len); + +/** +* Frees all resources of the random number generator object +* @param rng rng object +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,0) int botan_rng_destroy(botan_rng_t rng); + +/* +* Hash type +*/ +typedef struct botan_hash_struct* botan_hash_t; + +/** +* Initialize a hash function object +* @param hash hash object +* @param hash_name name of the hash function, e.g., "SHA-384" +* @param flags should be 0 in current API revision, all other uses are reserved +* and return BOTAN_FFI_ERROR_BAD_FLAG +*/ +BOTAN_PUBLIC_API(2,0) int botan_hash_init(botan_hash_t* hash, const char* hash_name, uint32_t flags); + +/** +* Copy the state of a hash function object +* @param dest destination hash object +* @param source source hash object +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,2) int botan_hash_copy_state(botan_hash_t *dest, const botan_hash_t source); + +/** +* Writes the output length of the hash function to *output_length +* @param hash hash object +* @param output_length output buffer to hold the hash function output length +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_hash_output_length(botan_hash_t hash, size_t* output_length); + +/** +* Writes the block size of the hash function to *block_size +* @param hash hash object +* @param block_size output buffer to hold the hash function output length +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,2) int botan_hash_block_size(botan_hash_t hash, size_t* block_size); + +/** +* Send more input to the hash function +* @param hash hash object +* @param in input buffer +* @param in_len number of bytes to read from the input buffer +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_hash_update(botan_hash_t hash, const uint8_t* in, size_t in_len); + +/** +* Finalizes the hash computation and writes the output to +* out[0:botan_hash_output_length()] then reinitializes for computing +* another digest as if botan_hash_clear had been called. +* @param hash hash object +* @param out output buffer +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_hash_final(botan_hash_t hash, uint8_t out[]); + +/** +* Reinitializes the state of the hash computation. A hash can +* be computed (with update/final) immediately. +* @param hash hash object +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_hash_clear(botan_hash_t hash); + +/** +* Frees all resources of the hash object +* @param hash hash object +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,0) int botan_hash_destroy(botan_hash_t hash); + +/** +* Get the name of this hash function +* @param hash the object to read +* @param name output buffer +* @param name_len on input, the length of buffer, on success the number of bytes written +*/ +BOTAN_PUBLIC_API(2,8) int botan_hash_name(botan_hash_t hash, char* name, size_t* name_len); + +/* +* Message Authentication type +*/ +typedef struct botan_mac_struct* botan_mac_t; + +/** +* Initialize a message authentication code object +* @param mac mac object +* @param mac_name name of the hash function, e.g., "HMAC(SHA-384)" +* @param flags should be 0 in current API revision, all other uses are reserved +* and return a negative value (error code) +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_mac_init(botan_mac_t* mac, const char* mac_name, uint32_t flags); + +/** +* Writes the output length of the message authentication code to *output_length +* @param mac mac object +* @param output_length output buffer to hold the MAC output length +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_mac_output_length(botan_mac_t mac, size_t* output_length); + +/** +* Sets the key on the MAC +* @param mac mac object +* @param key buffer holding the key +* @param key_len size of the key buffer in bytes +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_mac_set_key(botan_mac_t mac, const uint8_t* key, size_t key_len); + +/** +* Send more input to the message authentication code +* @param mac mac object +* @param buf input buffer +* @param len number of bytes to read from the input buffer +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_mac_update(botan_mac_t mac, const uint8_t* buf, size_t len); + +/** +* Finalizes the MAC computation and writes the output to +* out[0:botan_mac_output_length()] then reinitializes for computing +* another MAC as if botan_mac_clear had been called. +* @param mac mac object +* @param out output buffer +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_mac_final(botan_mac_t mac, uint8_t out[]); + +/** +* Reinitializes the state of the MAC computation. A MAC can +* be computed (with update/final) immediately. +* @param mac mac object +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_mac_clear(botan_mac_t mac); + +/** +* Get the name of this MAC +* @param mac the object to read +* @param name output buffer +* @param name_len on input, the length of buffer, on success the number of bytes written +*/ +BOTAN_PUBLIC_API(2,8) int botan_mac_name(botan_mac_t mac, char* name, size_t* name_len); + +/** +* Get the key length limits of this auth code +* @param mac the object to read +* @param out_minimum_keylength if non-NULL, will be set to minimum keylength of MAC +* @param out_maximum_keylength if non-NULL, will be set to maximum keylength of MAC +* @param out_keylength_modulo if non-NULL will be set to byte multiple of valid keys +*/ +BOTAN_PUBLIC_API(2,8) int botan_mac_get_keyspec(botan_mac_t mac, + size_t* out_minimum_keylength, + size_t* out_maximum_keylength, + size_t* out_keylength_modulo); + +/** +* Frees all resources of the MAC object +* @param mac mac object +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,0) int botan_mac_destroy(botan_mac_t mac); + +/* +* Cipher modes +*/ +typedef struct botan_cipher_struct* botan_cipher_t; + +#define BOTAN_CIPHER_INIT_FLAG_MASK_DIRECTION 1 +#define BOTAN_CIPHER_INIT_FLAG_ENCRYPT 0 +#define BOTAN_CIPHER_INIT_FLAG_DECRYPT 1 + +/** +* Initialize a cipher object +*/ +BOTAN_PUBLIC_API(2,0) int botan_cipher_init(botan_cipher_t* cipher, const char* name, uint32_t flags); + +/** +* Return the name of the cipher object +*/ +BOTAN_PUBLIC_API(2,8) int botan_cipher_name(botan_cipher_t cipher, char* name, size_t* name_len); + +/** +* Return the output length of this cipher, for a particular input length. +*/ +BOTAN_PUBLIC_API(2,8) int botan_cipher_output_length(botan_cipher_t cipher, size_t in_len, size_t* out_len); + +/** +* Return if the specified nonce length is valid for this cipher +*/ +BOTAN_PUBLIC_API(2,0) int botan_cipher_valid_nonce_length(botan_cipher_t cipher, size_t nl); + +/** +* Get the tag length of the cipher (0 for non-AEAD modes) +*/ +BOTAN_PUBLIC_API(2,0) int botan_cipher_get_tag_length(botan_cipher_t cipher, size_t* tag_size); + +/** +* Get the default nonce length of this cipher +*/ +BOTAN_PUBLIC_API(2,0) int botan_cipher_get_default_nonce_length(botan_cipher_t cipher, size_t* nl); + +/** +* Return the update granularity of the cipher; botan_cipher_update must be +* called with blocks of this size, except for the final. +*/ +BOTAN_PUBLIC_API(2,0) int botan_cipher_get_update_granularity(botan_cipher_t cipher, size_t* ug); + +/** +* Get information about the key lengths. Prefer botan_cipher_get_keyspec +*/ +BOTAN_PUBLIC_API(2,0) int botan_cipher_query_keylen(botan_cipher_t, + size_t* out_minimum_keylength, + size_t* out_maximum_keylength); + +/** +* Get information about the supported key lengths. +*/ +BOTAN_PUBLIC_API(2,8) int botan_cipher_get_keyspec(botan_cipher_t, + size_t* min_keylen, + size_t* max_keylen, + size_t* mod_keylen); + +/** +* Set the key for this cipher object +*/ +BOTAN_PUBLIC_API(2,0) int botan_cipher_set_key(botan_cipher_t cipher, + const uint8_t* key, size_t key_len); + +/** +* Reset the message specific state for this cipher. +* Without resetting the keys, this resets the nonce, and any state +* associated with any message bits that have been processed so far. +* +* It is conceptually equivalent to calling botan_cipher_clear followed +* by botan_cipher_set_key with the original key. +*/ +BOTAN_PUBLIC_API(2,8) int botan_cipher_reset(botan_cipher_t cipher); + +/** +* Set the associated data. Will fail if cipher is not an AEAD +*/ +BOTAN_PUBLIC_API(2,0) int botan_cipher_set_associated_data(botan_cipher_t cipher, + const uint8_t* ad, size_t ad_len); + +/** +* Begin processing a new message using the provided nonce +*/ +BOTAN_PUBLIC_API(2,0) int botan_cipher_start(botan_cipher_t cipher, + const uint8_t* nonce, size_t nonce_len); + +#define BOTAN_CIPHER_UPDATE_FLAG_FINAL (1U << 0) + +/** +* Encrypt some data +*/ +BOTAN_PUBLIC_API(2,0) int botan_cipher_update(botan_cipher_t cipher, + uint32_t flags, + uint8_t output[], + size_t output_size, + size_t* output_written, + const uint8_t input_bytes[], + size_t input_size, + size_t* input_consumed); + +/** +* Reset the key, nonce, AD and all other state on this cipher object +*/ +BOTAN_PUBLIC_API(2,0) int botan_cipher_clear(botan_cipher_t hash); + +/** +* Destroy the cipher object +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,0) int botan_cipher_destroy(botan_cipher_t cipher); + +/* +* Derive a key from a passphrase for a number of iterations +* @param pbkdf_algo PBKDF algorithm, e.g., "PBKDF2(SHA-256)" +* @param out buffer to store the derived key, must be of out_len bytes +* @param out_len the desired length of the key to produce +* @param passphrase the password to derive the key from +* @param salt a randomly chosen salt +* @param salt_len length of salt in bytes +* @param iterations the number of iterations to use (use 10K or more) +* @return 0 on success, a negative value on failure +* +* Deprecated: use +* botan_pwdhash(pbkdf_algo, iterations, 0, 0, out, out_len, +* passphrase, 0, salt, salt_len); +*/ +BOTAN_PUBLIC_API(2,0) int +BOTAN_DEPRECATED("Use botan_pwdhash") +botan_pbkdf(const char* pbkdf_algo, + uint8_t out[], size_t out_len, + const char* passphrase, + const uint8_t salt[], size_t salt_len, + size_t iterations); + +/** +* Derive a key from a passphrase, running until msec time has elapsed. +* @param pbkdf_algo PBKDF algorithm, e.g., "PBKDF2(SHA-256)" +* @param out buffer to store the derived key, must be of out_len bytes +* @param out_len the desired length of the key to produce +* @param passphrase the password to derive the key from +* @param salt a randomly chosen salt +* @param salt_len length of salt in bytes +* @param milliseconds_to_run if iterations is zero, then instead the PBKDF is +* run until milliseconds_to_run milliseconds has passed +* @param out_iterations_used set to the number iterations executed +* @return 0 on success, a negative value on failure +* +* Deprecated: use +* +* botan_pwdhash_timed(pbkdf_algo, +* static_cast(ms_to_run), +* iterations_used, +* nullptr, +* nullptr, +* out, out_len, +* password, 0, +* salt, salt_len); +*/ +BOTAN_PUBLIC_API(2,0) int botan_pbkdf_timed(const char* pbkdf_algo, + uint8_t out[], size_t out_len, + const char* passphrase, + const uint8_t salt[], size_t salt_len, + size_t milliseconds_to_run, + size_t* out_iterations_used); + + +/* +* Derive a key from a passphrase +* @param algo PBKDF algorithm, e.g., "PBKDF2(SHA-256)" or "Scrypt" +* @param param1 the first PBKDF algorithm parameter +* @param param2 the second PBKDF algorithm parameter (may be zero if unneeded) +* @param param3 the third PBKDF algorithm parameter (may be zero if unneeded) +* @param out buffer to store the derived key, must be of out_len bytes +* @param out_len the desired length of the key to produce +* @param passphrase the password to derive the key from +* @param passphrase_len if > 0, specifies length of password. If len == 0, then +* strlen will be called on passphrase to compute the length. +* @param salt a randomly chosen salt +* @param salt_len length of salt in bytes +* @return 0 on success, a negative value on failure +*/ +int BOTAN_PUBLIC_API(2,8) botan_pwdhash( + const char* algo, + size_t param1, + size_t param2, + size_t param3, + uint8_t out[], + size_t out_len, + const char* passphrase, + size_t passphrase_len, + const uint8_t salt[], + size_t salt_len); + +/* +* Derive a key from a passphrase +* @param pbkdf_algo PBKDF algorithm, e.g., "Scrypt" or "PBKDF2(SHA-256)" +* @param msec the desired runtime in milliseconds +* @param param1 will be set to the first password hash parameter +* @param param2 will be set to the second password hash parameter +* @param param3 will be set to the third password hash parameter +* @param out buffer to store the derived key, must be of out_len bytes +* @param out_len the desired length of the key to produce +* @param passphrase the password to derive the key from +* @param passphrase_len if > 0, specifies length of password. If len == 0, then +* strlen will be called on passphrase to compute the length. +* @param salt a randomly chosen salt +* @param salt_len length of salt in bytes +* @return 0 on success, a negative value on failure +*/ +int BOTAN_PUBLIC_API(2,8) botan_pwdhash_timed( + const char* algo, + uint32_t msec, + size_t* param1, + size_t* param2, + size_t* param3, + uint8_t out[], + size_t out_len, + const char* passphrase, + size_t passphrase_len, + const uint8_t salt[], + size_t salt_len); + +/** +* Derive a key using scrypt +* Deprecated; use +* botan_pwdhash("Scrypt", N, r, p, out, out_len, password, 0, salt, salt_len); +*/ +BOTAN_PUBLIC_API(2,8) int +BOTAN_DEPRECATED("Use botan_pwdhash") +botan_scrypt(uint8_t out[], size_t out_len, + const char* passphrase, + const uint8_t salt[], size_t salt_len, + size_t N, size_t r, size_t p); + +/** +* Derive a key +* @param kdf_algo KDF algorithm, e.g., "SP800-56C" +* @param out buffer holding the derived key, must be of length out_len +* @param out_len the desired output length in bytes +* @param secret the secret input +* @param secret_len size of secret in bytes +* @param salt a diversifier +* @param salt_len size of salt in bytes +* @param label purpose for the derived keying material +* @param label_len size of label in bytes +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_kdf(const char* kdf_algo, + uint8_t out[], size_t out_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len); + +/* +* Raw Block Cipher (PRP) interface +*/ +typedef struct botan_block_cipher_struct* botan_block_cipher_t; + +/** +* Initialize a block cipher object +*/ +BOTAN_PUBLIC_API(2,1) int botan_block_cipher_init(botan_block_cipher_t* bc, + const char* cipher_name); + +/** +* Destroy a block cipher object +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,1) int botan_block_cipher_destroy(botan_block_cipher_t bc); + +/** +* Reinitializes the block cipher +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,1) int botan_block_cipher_clear(botan_block_cipher_t bc); + +/** +* Set the key for a block cipher instance +*/ +BOTAN_PUBLIC_API(2,1) int botan_block_cipher_set_key(botan_block_cipher_t bc, + const uint8_t key[], size_t len); + +/** +* Return the positive block size of this block cipher, or negative to +* indicate an error +*/ +BOTAN_PUBLIC_API(2,1) int botan_block_cipher_block_size(botan_block_cipher_t bc); + +/** +* Encrypt one or more blocks with the cipher +*/ +BOTAN_PUBLIC_API(2,1) int botan_block_cipher_encrypt_blocks(botan_block_cipher_t bc, + const uint8_t in[], + uint8_t out[], + size_t blocks); + +/** +* Decrypt one or more blocks with the cipher +*/ +BOTAN_PUBLIC_API(2,1) int botan_block_cipher_decrypt_blocks(botan_block_cipher_t bc, + const uint8_t in[], + uint8_t out[], + size_t blocks); + +/** +* Get the name of this block cipher +* @param cipher the object to read +* @param name output buffer +* @param name_len on input, the length of buffer, on success the number of bytes written +*/ +BOTAN_PUBLIC_API(2,8) int botan_block_cipher_name(botan_block_cipher_t cipher, + char* name, size_t* name_len); + + +/** +* Get the key length limits of this block cipher +* @param cipher the object to read +* @param out_minimum_keylength if non-NULL, will be set to minimum keylength of cipher +* @param out_maximum_keylength if non-NULL, will be set to maximum keylength of cipher +* @param out_keylength_modulo if non-NULL will be set to byte multiple of valid keys +*/ +BOTAN_PUBLIC_API(2,8) int botan_block_cipher_get_keyspec(botan_block_cipher_t cipher, + size_t* out_minimum_keylength, + size_t* out_maximum_keylength, + size_t* out_keylength_modulo); + +/* +* Multiple precision integers (MPI) +*/ +typedef struct botan_mp_struct* botan_mp_t; + +/** +* Initialize an MPI +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_init(botan_mp_t* mp); + +/** +* Destroy (deallocate) an MPI +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_destroy(botan_mp_t mp); + +/** +* Convert the MPI to a hex string. Writes botan_mp_num_bytes(mp)*2 + 1 bytes +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_to_hex(const botan_mp_t mp, char* out); + +/** +* Convert the MPI to a string. Currently base == 10 and base == 16 are supported. +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_to_str(const botan_mp_t mp, uint8_t base, char* out, size_t* out_len); + +/** +* Set the MPI to zero +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_clear(botan_mp_t mp); + +/** +* Set the MPI value from an int +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_set_from_int(botan_mp_t mp, int initial_value); + +/** +* Set the MPI value from another MP object +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_set_from_mp(botan_mp_t dest, const botan_mp_t source); + +/** +* Set the MPI value from a string +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_set_from_str(botan_mp_t dest, const char* str); + +/** +* Set the MPI value from a string with arbitrary radix. +* For arbitrary being 10 or 16. +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_set_from_radix_str(botan_mp_t dest, const char* str, size_t radix); + +/** +* Return the number of significant bits in the MPI +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_num_bits(const botan_mp_t n, size_t* bits); + +/** +* Return the number of significant bytes in the MPI +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_num_bytes(const botan_mp_t n, size_t* bytes); + +/* +* Convert the MPI to a big-endian binary string. Writes botan_mp_num_bytes to vec +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_to_bin(const botan_mp_t mp, uint8_t vec[]); + +/* +* Set an MP to the big-endian binary value +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_from_bin(const botan_mp_t mp, const uint8_t vec[], size_t vec_len); + +/* +* Convert the MPI to a uint32_t, if possible. Fails if MPI is negative or too large. +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_to_uint32(const botan_mp_t mp, uint32_t* val); + +/** +* This function should have been named mp_is_non_negative. Returns 1 +* iff mp is greater than *or equal to* zero. Use botan_mp_is_negative +* to detect negative numbers, botan_mp_is_zero to check for zero. +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_is_positive(const botan_mp_t mp); + +/** +* Return 1 iff mp is less than 0 +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_is_negative(const botan_mp_t mp); + +BOTAN_PUBLIC_API(2,1) int botan_mp_flip_sign(botan_mp_t mp); + +BOTAN_PUBLIC_API(2,1) int botan_mp_is_zero(const botan_mp_t mp); + +BOTAN_PUBLIC_API(2,1) BOTAN_DEPRECATED("Use botan_mp_get_bit(0)") +int botan_mp_is_odd(const botan_mp_t mp); +BOTAN_PUBLIC_API(2,1) BOTAN_DEPRECATED("Use botan_mp_get_bit(0)") +int botan_mp_is_even(const botan_mp_t mp); + +BOTAN_PUBLIC_API(2,8) int botan_mp_add_u32(botan_mp_t result, const botan_mp_t x, uint32_t y); +BOTAN_PUBLIC_API(2,8) int botan_mp_sub_u32(botan_mp_t result, const botan_mp_t x, uint32_t y); + +BOTAN_PUBLIC_API(2,1) int botan_mp_add(botan_mp_t result, const botan_mp_t x, const botan_mp_t y); +BOTAN_PUBLIC_API(2,1) int botan_mp_sub(botan_mp_t result, const botan_mp_t x, const botan_mp_t y); +BOTAN_PUBLIC_API(2,1) int botan_mp_mul(botan_mp_t result, const botan_mp_t x, const botan_mp_t y); + +BOTAN_PUBLIC_API(2,1) int botan_mp_div(botan_mp_t quotient, + botan_mp_t remainder, + const botan_mp_t x, const botan_mp_t y); + +BOTAN_PUBLIC_API(2,1) int botan_mp_mod_mul(botan_mp_t result, const botan_mp_t x, + const botan_mp_t y, const botan_mp_t mod); + +/* +* Returns 0 if x != y +* Returns 1 if x == y +* Returns negative number on error +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_equal(const botan_mp_t x, const botan_mp_t y); + +/* +* Sets *result to comparison result: +* -1 if x < y, 0 if x == y, 1 if x > y +* Returns negative number on error or zero on success +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_cmp(int* result, const botan_mp_t x, const botan_mp_t y); + +/* +* Swap two botan_mp_t +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_swap(botan_mp_t x, botan_mp_t y); + +/* Return (base^exponent) % modulus */ +BOTAN_PUBLIC_API(2,1) int botan_mp_powmod(botan_mp_t out, const botan_mp_t base, const botan_mp_t exponent, const botan_mp_t modulus); + +BOTAN_PUBLIC_API(2,1) int botan_mp_lshift(botan_mp_t out, const botan_mp_t in, size_t shift); +BOTAN_PUBLIC_API(2,1) int botan_mp_rshift(botan_mp_t out, const botan_mp_t in, size_t shift); + +BOTAN_PUBLIC_API(2,1) int botan_mp_mod_inverse(botan_mp_t out, const botan_mp_t in, const botan_mp_t modulus); + +BOTAN_PUBLIC_API(2,1) int botan_mp_rand_bits(botan_mp_t rand_out, botan_rng_t rng, size_t bits); + +BOTAN_PUBLIC_API(2,1) int botan_mp_rand_range(botan_mp_t rand_out, botan_rng_t rng, + const botan_mp_t lower_bound, const botan_mp_t upper_bound); + +BOTAN_PUBLIC_API(2,1) int botan_mp_gcd(botan_mp_t out, const botan_mp_t x, const botan_mp_t y); + +/** +* Returns 0 if n is not prime +* Returns 1 if n is prime +* Returns negative number on error +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_is_prime(const botan_mp_t n, botan_rng_t rng, size_t test_prob); + +/** +* Returns 0 if specified bit of n is not set +* Returns 1 if specified bit of n is set +* Returns negative number on error +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_get_bit(const botan_mp_t n, size_t bit); + +/** +* Set the specified bit +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_set_bit(botan_mp_t n, size_t bit); + +/** +* Clear the specified bit +*/ +BOTAN_PUBLIC_API(2,1) int botan_mp_clear_bit(botan_mp_t n, size_t bit); + +/* Bcrypt password hashing */ + +/** +* Create a password hash using Bcrypt +* @param out buffer holding the password hash, should be of length 64 bytes +* @param out_len the desired output length in bytes +* @param password the password +* @param rng a random number generator +* @param work_factor how much work to do to slow down guessing attacks +* @param flags should be 0 in current API revision, all other uses are reserved +* and return BOTAN_FFI_ERROR_BAD_FLAG +* @return 0 on success, a negative value on failure + +* Output is formatted bcrypt $2a$... +*/ +BOTAN_PUBLIC_API(2,0) int botan_bcrypt_generate(uint8_t* out, size_t* out_len, + const char* password, + botan_rng_t rng, + size_t work_factor, + uint32_t flags); + +/** +* Check a previously created password hash +* @param pass the password to check against +* @param hash the stored hash to check against +* @return 0 if if this password/hash combination is valid, +* 1 if the combination is not valid (but otherwise well formed), +* negative on error +*/ +BOTAN_PUBLIC_API(2,0) int botan_bcrypt_is_valid(const char* pass, const char* hash); + +/* +* Public/private key creation, import, ... +*/ +typedef struct botan_privkey_struct* botan_privkey_t; + +/** +* Create a new private key +* @param key the new object will be placed here +* @param algo_name something like "RSA" or "ECDSA" +* @param algo_params is specific to the algorithm. For RSA, specifies +* the modulus bit length. For ECC is the name of the curve. +* @param rng a random number generator +*/ +BOTAN_PUBLIC_API(2,0) int botan_privkey_create(botan_privkey_t* key, + const char* algo_name, + const char* algo_params, + botan_rng_t rng); + +#define BOTAN_CHECK_KEY_EXPENSIVE_TESTS 1 + +BOTAN_PUBLIC_API(2,0) int botan_privkey_check_key(botan_privkey_t key, botan_rng_t rng, uint32_t flags); + +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_privkey_create") +int botan_privkey_create_rsa(botan_privkey_t* key, botan_rng_t rng, size_t n_bits); +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_privkey_create") +int botan_privkey_create_ecdsa(botan_privkey_t* key, botan_rng_t rng, const char* params); +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_privkey_create") +int botan_privkey_create_ecdh(botan_privkey_t* key, botan_rng_t rng, const char* params); +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_privkey_create") +int botan_privkey_create_mceliece(botan_privkey_t* key, botan_rng_t rng, size_t n, size_t t); +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_privkey_create") +int botan_privkey_create_dh(botan_privkey_t* key, botan_rng_t rng, const char* param); + +/** + * Generates DSA key pair. Gives to a caller control over key length + * and order of a subgroup 'q'. + * + * @param key handler to the resulting key + * @param rng initialized PRNG + * @param pbits length of the key in bits. Must be between in range (1024, 3072) + * and multiple of 64. Bit size of the prime 'p' + * @param qbits order of the subgroup. Must be in range (160, 256) and multiple + * of 8 + * + * @returns BOTAN_FFI_SUCCESS Success, `key' initialized with DSA key + * @returns BOTAN_FFI_ERROR_NULL_POINTER either `key' or `rng' is NULL + * @returns BOTAN_FFI_ERROR_BAD_PARAMETER unexpected value for either `pbits' or + * `qbits' + * @returns BOTAN_FFI_ERROR_NOT_IMPLEMENTED functionality not implemented + * +*/ +BOTAN_PUBLIC_API(2,5) int botan_privkey_create_dsa( + botan_privkey_t* key, + botan_rng_t rng, + size_t pbits, + size_t qbits); + +/** + * Generates ElGamal key pair. Caller has a control over key length + * and order of a subgroup 'q'. Function is able to use two types of + * primes: + * * if pbits-1 == qbits then safe primes are used for key generation + * * otherwise generation uses group of prime order + * + * @param key handler to the resulting key + * @param rng initialized PRNG + * @param pbits length of the key in bits. Must be at least 1024 + * @param qbits order of the subgroup. Must be at least 160 + * + * @returns BOTAN_FFI_SUCCESS Success, `key' initialized with DSA key + * @returns BOTAN_FFI_ERROR_NULL_POINTER either `key' or `rng' is NULL + * @returns BOTAN_FFI_ERROR_BAD_PARAMETER unexpected value for either `pbits' or + * `qbits' + * @returns BOTAN_FFI_ERROR_NOT_IMPLEMENTED functionality not implemented + * +*/ +BOTAN_PUBLIC_API(2,5) int botan_privkey_create_elgamal( + botan_privkey_t* key, + botan_rng_t rng, + size_t pbits, + size_t qbits); + +/** +* Input currently assumed to be PKCS #8 structure; +* Set password to NULL to indicate no encryption expected +* Starting in 2.8.0, the rng parameter is unused and may be set to null +*/ +BOTAN_PUBLIC_API(2,0) int botan_privkey_load(botan_privkey_t* key, + botan_rng_t rng, + const uint8_t bits[], size_t len, + const char* password); + +/** +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,0) int botan_privkey_destroy(botan_privkey_t key); + +#define BOTAN_PRIVKEY_EXPORT_FLAG_DER 0 +#define BOTAN_PRIVKEY_EXPORT_FLAG_PEM 1 + +/** +* On input *out_len is number of bytes in out[] +* On output *out_len is number of bytes written (or required) +* If out is not big enough no output is written, *out_len is set and 1 is returned +* Returns 0 on success and sets +* If some other error occurs a negative integer is returned. +*/ +BOTAN_PUBLIC_API(2,0) int botan_privkey_export(botan_privkey_t key, + uint8_t out[], size_t* out_len, + uint32_t flags); + +BOTAN_PUBLIC_API(2,8) int botan_privkey_algo_name(botan_privkey_t key, char out[], size_t* out_len); + +/** +* Set encryption_algo to NULL or "" to have the library choose a default (recommended) +*/ +BOTAN_DEPRECATED("Use botan_privkey_export_encrypted_pbkdf_{msec,iter}") +BOTAN_PUBLIC_API(2,0) int botan_privkey_export_encrypted(botan_privkey_t key, + uint8_t out[], size_t* out_len, + botan_rng_t rng, + const char* passphrase, + const char* encryption_algo, + uint32_t flags); + +/* +* Export a private key, running PBKDF for specified amount of time +* @param key the private key to export +*/ +BOTAN_PUBLIC_API(2,0) int botan_privkey_export_encrypted_pbkdf_msec(botan_privkey_t key, + uint8_t out[], size_t* out_len, + botan_rng_t rng, + const char* passphrase, + uint32_t pbkdf_msec_runtime, + size_t* pbkdf_iterations_out, + const char* cipher_algo, + const char* pbkdf_algo, + uint32_t flags); + +/** +* Export a private key using the specified number of iterations. +*/ +BOTAN_PUBLIC_API(2,0) int botan_privkey_export_encrypted_pbkdf_iter(botan_privkey_t key, + uint8_t out[], size_t* out_len, + botan_rng_t rng, + const char* passphrase, + size_t pbkdf_iterations, + const char* cipher_algo, + const char* pbkdf_algo, + uint32_t flags); + +typedef struct botan_pubkey_struct* botan_pubkey_t; + +BOTAN_PUBLIC_API(2,0) int botan_pubkey_load(botan_pubkey_t* key, const uint8_t bits[], size_t len); + +BOTAN_PUBLIC_API(2,0) int botan_privkey_export_pubkey(botan_pubkey_t* out, botan_privkey_t in); + +BOTAN_PUBLIC_API(2,0) int botan_pubkey_export(botan_pubkey_t key, uint8_t out[], size_t* out_len, uint32_t flags); + +BOTAN_PUBLIC_API(2,0) int botan_pubkey_algo_name(botan_pubkey_t key, char out[], size_t* out_len); + +/** +* Returns 0 if key is valid, negative if invalid key or some other error +*/ +BOTAN_PUBLIC_API(2,0) int botan_pubkey_check_key(botan_pubkey_t key, botan_rng_t rng, uint32_t flags); + +BOTAN_PUBLIC_API(2,0) int botan_pubkey_estimated_strength(botan_pubkey_t key, size_t* estimate); + +BOTAN_PUBLIC_API(2,0) int botan_pubkey_fingerprint(botan_pubkey_t key, const char* hash, + uint8_t out[], size_t* out_len); + +/** +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,0) int botan_pubkey_destroy(botan_pubkey_t key); + +/* +* Get arbitrary named fields from public or privat keys +*/ +BOTAN_PUBLIC_API(2,0) int botan_pubkey_get_field(botan_mp_t output, + botan_pubkey_t key, + const char* field_name); + +BOTAN_PUBLIC_API(2,0) int botan_privkey_get_field(botan_mp_t output, + botan_privkey_t key, + const char* field_name); + +/* +* Algorithm specific key operations: RSA +*/ +BOTAN_PUBLIC_API(2,0) int botan_privkey_load_rsa(botan_privkey_t* key, + botan_mp_t p, + botan_mp_t q, + botan_mp_t e); + +BOTAN_PUBLIC_API(2,8) int botan_privkey_load_rsa_pkcs1(botan_privkey_t* key, + const uint8_t bits[], + size_t len); + +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_privkey_get_field") +int botan_privkey_rsa_get_p(botan_mp_t p, botan_privkey_t rsa_key); +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_privkey_get_field") +int botan_privkey_rsa_get_q(botan_mp_t q, botan_privkey_t rsa_key); +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_privkey_get_field") +int botan_privkey_rsa_get_d(botan_mp_t d, botan_privkey_t rsa_key); +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_privkey_get_field") +int botan_privkey_rsa_get_n(botan_mp_t n, botan_privkey_t rsa_key); +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_privkey_get_field") +int botan_privkey_rsa_get_e(botan_mp_t e, botan_privkey_t rsa_key); + +BOTAN_PUBLIC_API(2,8) int botan_privkey_rsa_get_privkey(botan_privkey_t rsa_key, + uint8_t out[], size_t* out_len, + uint32_t flags); + +BOTAN_PUBLIC_API(2,0) int botan_pubkey_load_rsa(botan_pubkey_t* key, + botan_mp_t n, + botan_mp_t e); + +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_pubkey_get_field") +int botan_pubkey_rsa_get_e(botan_mp_t e, botan_pubkey_t rsa_key); +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_pubkey_get_field") +int botan_pubkey_rsa_get_n(botan_mp_t n, botan_pubkey_t rsa_key); + +/* +* Algorithm specific key operations: DSA +*/ +BOTAN_PUBLIC_API(2,0) int botan_privkey_load_dsa(botan_privkey_t* key, + botan_mp_t p, + botan_mp_t q, + botan_mp_t g, + botan_mp_t x); + +BOTAN_PUBLIC_API(2,0) int botan_pubkey_load_dsa(botan_pubkey_t* key, + botan_mp_t p, + botan_mp_t q, + botan_mp_t g, + botan_mp_t y); + +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_privkey_get_field") +int botan_privkey_dsa_get_x(botan_mp_t n, botan_privkey_t key); + +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_pubkey_get_field") +int botan_pubkey_dsa_get_p(botan_mp_t p, botan_pubkey_t key); +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_pubkey_get_field") +int botan_pubkey_dsa_get_q(botan_mp_t q, botan_pubkey_t key); +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_pubkey_get_field") +int botan_pubkey_dsa_get_g(botan_mp_t d, botan_pubkey_t key); +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use botan_pubkey_get_field") +int botan_pubkey_dsa_get_y(botan_mp_t y, botan_pubkey_t key); + +/* +* Loads Diffie Hellman private key +* +* @param key variable populated with key material +* @param p prime order of a Z_p group +* @param g group generator +* @param x private key +* +* @pre key is NULL on input +* @post function allocates memory and assigns to `key' +* +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_privkey_load_dh(botan_privkey_t* key, + botan_mp_t p, + botan_mp_t g, + botan_mp_t x); +/** +* Loads Diffie Hellman public key +* +* @param key variable populated with key material +* @param p prime order of a Z_p group +* @param g group generator +* @param y public key +* +* @pre key is NULL on input +* @post function allocates memory and assigns to `key' +* +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_pubkey_load_dh(botan_pubkey_t* key, + botan_mp_t p, + botan_mp_t g, + botan_mp_t y); + +/* +* Algorithm specific key operations: ElGamal +*/ + +/** +* Loads ElGamal public key +* @param key variable populated with key material +* @param p prime order of a Z_p group +* @param g group generator +* @param y public key +* +* @pre key is NULL on input +* @post function allocates memory and assigns to `key' +* +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_pubkey_load_elgamal(botan_pubkey_t* key, + botan_mp_t p, + botan_mp_t g, + botan_mp_t y); + +/** +* Loads ElGamal private key +* +* @param key variable populated with key material +* @param p prime order of a Z_p group +* @param g group generator +* @param x private key +* +* @pre key is NULL on input +* @post function allocates memory and assigns to `key' +* +* @return 0 on success, a negative value on failure +*/ +BOTAN_PUBLIC_API(2,0) int botan_privkey_load_elgamal(botan_privkey_t* key, + botan_mp_t p, + botan_mp_t g, + botan_mp_t x); + +/* +* Algorithm specific key operations: Ed25519 +*/ + +BOTAN_PUBLIC_API(2,2) int botan_privkey_load_ed25519(botan_privkey_t* key, + const uint8_t privkey[32]); + +BOTAN_PUBLIC_API(2,2) int botan_pubkey_load_ed25519(botan_pubkey_t* key, + const uint8_t pubkey[32]); + +BOTAN_PUBLIC_API(2,2) int botan_privkey_ed25519_get_privkey(botan_privkey_t key, + uint8_t output[64]); + +BOTAN_PUBLIC_API(2,2) int botan_pubkey_ed25519_get_pubkey(botan_pubkey_t key, + uint8_t pubkey[32]); + +/* +* Algorithm specific key operations: X25519 +*/ + +BOTAN_PUBLIC_API(2,8) int botan_privkey_load_x25519(botan_privkey_t* key, + const uint8_t privkey[32]); + +BOTAN_PUBLIC_API(2,8) int botan_pubkey_load_x25519(botan_pubkey_t* key, + const uint8_t pubkey[32]); + +BOTAN_PUBLIC_API(2,8) int botan_privkey_x25519_get_privkey(botan_privkey_t key, + uint8_t output[32]); + +BOTAN_PUBLIC_API(2,8) int botan_pubkey_x25519_get_pubkey(botan_pubkey_t key, + uint8_t pubkey[32]); + +/* +* Algorithm specific key operations: ECDSA and ECDH +*/ +BOTAN_PUBLIC_API(2,2) +int botan_privkey_load_ecdsa(botan_privkey_t* key, + const botan_mp_t scalar, + const char* curve_name); + +BOTAN_PUBLIC_API(2,2) +int botan_pubkey_load_ecdsa(botan_pubkey_t* key, + const botan_mp_t public_x, + const botan_mp_t public_y, + const char* curve_name); + +BOTAN_PUBLIC_API(2,2) +int botan_pubkey_load_ecdh(botan_pubkey_t* key, + const botan_mp_t public_x, + const botan_mp_t public_y, + const char* curve_name); + +BOTAN_PUBLIC_API(2,2) +int botan_privkey_load_ecdh(botan_privkey_t* key, + const botan_mp_t scalar, + const char* curve_name); + +BOTAN_PUBLIC_API(2,2) +int botan_pubkey_load_sm2(botan_pubkey_t* key, + const botan_mp_t public_x, + const botan_mp_t public_y, + const char* curve_name); + +BOTAN_PUBLIC_API(2,2) +int botan_privkey_load_sm2(botan_privkey_t* key, + const botan_mp_t scalar, + const char* curve_name); + +BOTAN_PUBLIC_API(2,2) BOTAN_DEPRECATED("Use botan_pubkey_load_sm2") +int botan_pubkey_load_sm2_enc(botan_pubkey_t* key, + const botan_mp_t public_x, + const botan_mp_t public_y, + const char* curve_name); + +BOTAN_PUBLIC_API(2,2) BOTAN_DEPRECATED("Use botan_privkey_load_sm2") +int botan_privkey_load_sm2_enc(botan_privkey_t* key, + const botan_mp_t scalar, + const char* curve_name); + +BOTAN_PUBLIC_API(2,3) +int botan_pubkey_sm2_compute_za(uint8_t out[], + size_t* out_len, + const char* ident, + const char* hash_algo, + const botan_pubkey_t key); + +/* +* Public Key Encryption +*/ +typedef struct botan_pk_op_encrypt_struct* botan_pk_op_encrypt_t; + +BOTAN_PUBLIC_API(2,0) int botan_pk_op_encrypt_create(botan_pk_op_encrypt_t* op, + botan_pubkey_t key, + const char* padding, + uint32_t flags); + +/** +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,0) int botan_pk_op_encrypt_destroy(botan_pk_op_encrypt_t op); + +BOTAN_PUBLIC_API(2,8) int botan_pk_op_encrypt_output_length(botan_pk_op_encrypt_t op, + size_t ptext_len, + size_t* ctext_len); + +BOTAN_PUBLIC_API(2,0) int botan_pk_op_encrypt(botan_pk_op_encrypt_t op, + botan_rng_t rng, + uint8_t out[], + size_t* out_len, + const uint8_t plaintext[], + size_t plaintext_len); + +/* +* Public Key Decryption +*/ +typedef struct botan_pk_op_decrypt_struct* botan_pk_op_decrypt_t; + +BOTAN_PUBLIC_API(2,0) int botan_pk_op_decrypt_create(botan_pk_op_decrypt_t* op, + botan_privkey_t key, + const char* padding, + uint32_t flags); + +/** +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,0) int botan_pk_op_decrypt_destroy(botan_pk_op_decrypt_t op); + +BOTAN_PUBLIC_API(2,8) int botan_pk_op_decrypt_output_length(botan_pk_op_decrypt_t op, + size_t ctext_len, + size_t* ptext_len); + +BOTAN_PUBLIC_API(2,0) int botan_pk_op_decrypt(botan_pk_op_decrypt_t op, + uint8_t out[], size_t* out_len, + const uint8_t ciphertext[], size_t ciphertext_len); + +/* +* Signature Generation +*/ + +#define BOTAN_PUBKEY_DER_FORMAT_SIGNATURE 1 + +typedef struct botan_pk_op_sign_struct* botan_pk_op_sign_t; + +BOTAN_PUBLIC_API(2,0) +int botan_pk_op_sign_create(botan_pk_op_sign_t* op, + botan_privkey_t key, + const char* hash_and_padding, + uint32_t flags); + +/** +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,0) int botan_pk_op_sign_destroy(botan_pk_op_sign_t op); + +BOTAN_PUBLIC_API(2,8) int botan_pk_op_sign_output_length(botan_pk_op_sign_t op, size_t* olen); + +BOTAN_PUBLIC_API(2,0) int botan_pk_op_sign_update(botan_pk_op_sign_t op, const uint8_t in[], size_t in_len); + +BOTAN_PUBLIC_API(2,0) +int botan_pk_op_sign_finish(botan_pk_op_sign_t op, botan_rng_t rng, + uint8_t sig[], size_t* sig_len); + +/* +* Signature Verification +*/ +typedef struct botan_pk_op_verify_struct* botan_pk_op_verify_t; + +BOTAN_PUBLIC_API(2,0) +int botan_pk_op_verify_create(botan_pk_op_verify_t* op, + botan_pubkey_t key, + const char* hash_and_padding, + uint32_t flags); + +/** +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,0) int botan_pk_op_verify_destroy(botan_pk_op_verify_t op); + +BOTAN_PUBLIC_API(2,0) int botan_pk_op_verify_update(botan_pk_op_verify_t op, const uint8_t in[], size_t in_len); +BOTAN_PUBLIC_API(2,0) int botan_pk_op_verify_finish(botan_pk_op_verify_t op, const uint8_t sig[], size_t sig_len); + +/* +* Key Agreement +*/ +typedef struct botan_pk_op_ka_struct* botan_pk_op_ka_t; + +BOTAN_PUBLIC_API(2,0) +int botan_pk_op_key_agreement_create(botan_pk_op_ka_t* op, + botan_privkey_t key, + const char* kdf, + uint32_t flags); + +/** +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,0) int botan_pk_op_key_agreement_destroy(botan_pk_op_ka_t op); + +BOTAN_PUBLIC_API(2,0) int botan_pk_op_key_agreement_export_public(botan_privkey_t key, + uint8_t out[], size_t* out_len); + +BOTAN_PUBLIC_API(2,8) int botan_pk_op_key_agreement_size(botan_pk_op_ka_t op, size_t* out_len); + +BOTAN_PUBLIC_API(2,0) +int botan_pk_op_key_agreement(botan_pk_op_ka_t op, + uint8_t out[], size_t* out_len, + const uint8_t other_key[], size_t other_key_len, + const uint8_t salt[], size_t salt_len); + +BOTAN_PUBLIC_API(2,0) int botan_pkcs_hash_id(const char* hash_name, uint8_t pkcs_id[], size_t* pkcs_id_len); + + +/* +* +* @param mce_key must be a McEliece key +* ct_len should be pt_len + n/8 + a few? +*/ +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Poorly specified, avoid in new code") +int botan_mceies_encrypt(botan_pubkey_t mce_key, + botan_rng_t rng, + const char* aead, + const uint8_t pt[], size_t pt_len, + const uint8_t ad[], size_t ad_len, + uint8_t ct[], size_t* ct_len); + +BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Poorly specified, avoid in new code") +int botan_mceies_decrypt(botan_privkey_t mce_key, + const char* aead, + const uint8_t ct[], size_t ct_len, + const uint8_t ad[], size_t ad_len, + uint8_t pt[], size_t* pt_len); + +/* +* X.509 certificates +**************************/ + +typedef struct botan_x509_cert_struct* botan_x509_cert_t; + +BOTAN_PUBLIC_API(2,0) int botan_x509_cert_load(botan_x509_cert_t* cert_obj, const uint8_t cert[], size_t cert_len); +BOTAN_PUBLIC_API(2,0) int botan_x509_cert_load_file(botan_x509_cert_t* cert_obj, const char* filename); + +/** +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,0) int botan_x509_cert_destroy(botan_x509_cert_t cert); + +BOTAN_PUBLIC_API(2,8) int botan_x509_cert_dup(botan_x509_cert_t* new_cert, botan_x509_cert_t cert); + +/* Prefer botan_x509_cert_not_before and botan_x509_cert_not_after */ +BOTAN_PUBLIC_API(2,0) int botan_x509_cert_get_time_starts(botan_x509_cert_t cert, char out[], size_t* out_len); +BOTAN_PUBLIC_API(2,0) int botan_x509_cert_get_time_expires(botan_x509_cert_t cert, char out[], size_t* out_len); + +BOTAN_PUBLIC_API(2,8) int botan_x509_cert_not_before(botan_x509_cert_t cert, uint64_t* time_since_epoch); +BOTAN_PUBLIC_API(2,8) int botan_x509_cert_not_after(botan_x509_cert_t cert, uint64_t* time_since_epoch); + +BOTAN_PUBLIC_API(2,0) int botan_x509_cert_get_fingerprint(botan_x509_cert_t cert, const char* hash, uint8_t out[], size_t* out_len); + +BOTAN_PUBLIC_API(2,0) int botan_x509_cert_get_serial_number(botan_x509_cert_t cert, uint8_t out[], size_t* out_len); +BOTAN_PUBLIC_API(2,0) int botan_x509_cert_get_authority_key_id(botan_x509_cert_t cert, uint8_t out[], size_t* out_len); +BOTAN_PUBLIC_API(2,0) int botan_x509_cert_get_subject_key_id(botan_x509_cert_t cert, uint8_t out[], size_t* out_len); + +BOTAN_PUBLIC_API(2,0) int botan_x509_cert_get_public_key_bits(botan_x509_cert_t cert, + uint8_t out[], size_t* out_len); + +BOTAN_PUBLIC_API(2,0) int botan_x509_cert_get_public_key(botan_x509_cert_t cert, botan_pubkey_t* key); + +BOTAN_PUBLIC_API(2,0) +int botan_x509_cert_get_issuer_dn(botan_x509_cert_t cert, + const char* key, size_t index, + uint8_t out[], size_t* out_len); + +BOTAN_PUBLIC_API(2,0) +int botan_x509_cert_get_subject_dn(botan_x509_cert_t cert, + const char* key, size_t index, + uint8_t out[], size_t* out_len); + +BOTAN_PUBLIC_API(2,0) int botan_x509_cert_to_string(botan_x509_cert_t cert, char out[], size_t* out_len); + +/* Must match values of Key_Constraints in key_constraints.h */ +enum botan_x509_cert_key_constraints { + NO_CONSTRAINTS = 0, + DIGITAL_SIGNATURE = 32768, + NON_REPUDIATION = 16384, + KEY_ENCIPHERMENT = 8192, + DATA_ENCIPHERMENT = 4096, + KEY_AGREEMENT = 2048, + KEY_CERT_SIGN = 1024, + CRL_SIGN = 512, + ENCIPHER_ONLY = 256, + DECIPHER_ONLY = 128 +}; + +BOTAN_PUBLIC_API(2,0) int botan_x509_cert_allowed_usage(botan_x509_cert_t cert, unsigned int key_usage); + +/** +* Check if the certificate matches the specified hostname via alternative name or CN match. +* RFC 5280 wildcards also supported. +*/ +BOTAN_PUBLIC_API(2,5) int botan_x509_cert_hostname_match(botan_x509_cert_t cert, const char* hostname); + +/** +* Returns 0 if the validation was successful, 1 if validation failed, +* and negative on error. A status code with details is written to +* *validation_result +* +* Intermediates or trusted lists can be null +* Trusted path can be null +*/ +BOTAN_PUBLIC_API(2,8) int botan_x509_cert_verify( + int* validation_result, + botan_x509_cert_t cert, + const botan_x509_cert_t* intermediates, + size_t intermediates_len, + const botan_x509_cert_t* trusted, + size_t trusted_len, + const char* trusted_path, + size_t required_strength, + const char* hostname, + uint64_t reference_time); + +/** +* Returns a pointer to a static character string explaining the status code, +* or else NULL if unknown. +*/ +BOTAN_PUBLIC_API(2,8) const char* botan_x509_cert_validation_status(int code); + +/* +* X.509 CRL +**************************/ + +typedef struct botan_x509_crl_struct* botan_x509_crl_t; + +BOTAN_PUBLIC_API(2,13) int botan_x509_crl_load_file(botan_x509_crl_t* crl_obj, const char* crl_path); +BOTAN_PUBLIC_API(2,13) int botan_x509_crl_load(botan_x509_crl_t* crl_obj, const uint8_t crl_bits[], size_t crl_bits_len); + +BOTAN_PUBLIC_API(2,13) int botan_x509_crl_destroy(botan_x509_crl_t crl); + +/** + * Given a CRL and a certificate, + * check if the certificate is revoked on that particular CRL + */ +BOTAN_PUBLIC_API(2,13) int botan_x509_is_revoked(botan_x509_crl_t crl, botan_x509_cert_t cert); + +/** + * Different flavor of `botan_x509_cert_verify`, supports revocation lists. + * CRLs are passed as an array, same as intermediates and trusted CAs + */ +BOTAN_PUBLIC_API(2,13) int botan_x509_cert_verify_with_crl( + int* validation_result, + botan_x509_cert_t cert, + const botan_x509_cert_t* intermediates, + size_t intermediates_len, + const botan_x509_cert_t* trusted, + size_t trusted_len, + const botan_x509_crl_t* crls, + size_t crls_len, + const char* trusted_path, + size_t required_strength, + const char* hostname, + uint64_t reference_time); + +/** + * Key wrapping as per RFC 3394 + */ +BOTAN_PUBLIC_API(2,2) +int botan_key_wrap3394(const uint8_t key[], size_t key_len, + const uint8_t kek[], size_t kek_len, + uint8_t wrapped_key[], size_t *wrapped_key_len); + +BOTAN_PUBLIC_API(2,2) +int botan_key_unwrap3394(const uint8_t wrapped_key[], size_t wrapped_key_len, + const uint8_t kek[], size_t kek_len, + uint8_t key[], size_t *key_len); + +/** +* HOTP +*/ + +typedef struct botan_hotp_struct* botan_hotp_t; + +/** +* Initialize a HOTP instance +*/ +BOTAN_PUBLIC_API(2,8) +int botan_hotp_init(botan_hotp_t* hotp, + const uint8_t key[], size_t key_len, + const char* hash_algo, + size_t digits); + +/** +* Destroy a HOTP instance +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,8) +int botan_hotp_destroy(botan_hotp_t hotp); + +/** +* Generate a HOTP code for the provided counter +*/ +BOTAN_PUBLIC_API(2,8) +int botan_hotp_generate(botan_hotp_t hotp, + uint32_t* hotp_code, + uint64_t hotp_counter); + +/** +* Verify a HOTP code +*/ +BOTAN_PUBLIC_API(2,8) +int botan_hotp_check(botan_hotp_t hotp, + uint64_t* next_hotp_counter, + uint32_t hotp_code, + uint64_t hotp_counter, + size_t resync_range); + + +/** +* TOTP +*/ + +typedef struct botan_totp_struct* botan_totp_t; + +/** +* Initialize a TOTP instance +*/ +BOTAN_PUBLIC_API(2,8) +int botan_totp_init(botan_totp_t* totp, + const uint8_t key[], size_t key_len, + const char* hash_algo, + size_t digits, + size_t time_step); + +/** +* Destroy a TOTP instance +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,8) +int botan_totp_destroy(botan_totp_t totp); + +/** +* Generate a TOTP code for the provided timestamp +* @param totp the TOTP object +* @param totp_code the OTP code will be written here +* @param timestamp the current local timestamp +*/ +BOTAN_PUBLIC_API(2,8) +int botan_totp_generate(botan_totp_t totp, + uint32_t* totp_code, + uint64_t timestamp); + +/** +* Verify a TOTP code +* @param totp the TOTP object +* @param totp_code the presented OTP +* @param timestamp the current local timestamp +* @param acceptable_clock_drift specifies the acceptable amount +* of clock drift (in terms of time steps) between the two hosts. +*/ +BOTAN_PUBLIC_API(2,8) +int botan_totp_check(botan_totp_t totp, + uint32_t totp_code, + uint64_t timestamp, + size_t acceptable_clock_drift); + + +/** +* Format Preserving Encryption +*/ + +typedef struct botan_fpe_struct* botan_fpe_t; + +#define BOTAN_FPE_FLAG_FE1_COMPAT_MODE 1 + +BOTAN_PUBLIC_API(2,8) +int botan_fpe_fe1_init(botan_fpe_t* fpe, botan_mp_t n, + const uint8_t key[], size_t key_len, + size_t rounds, uint32_t flags); + +/** +* @return 0 if success, error if invalid object handle +*/ +BOTAN_PUBLIC_API(2,8) +int botan_fpe_destroy(botan_fpe_t fpe); + +BOTAN_PUBLIC_API(2,8) +int botan_fpe_encrypt(botan_fpe_t fpe, botan_mp_t x, const uint8_t tweak[], size_t tweak_len); + +BOTAN_PUBLIC_API(2,8) +int botan_fpe_decrypt(botan_fpe_t fpe, botan_mp_t x, const uint8_t tweak[], size_t tweak_len); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/filter.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/filter.h new file mode 100644 index 00000000..94b9c6cc --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/filter.h @@ -0,0 +1,175 @@ +/* +* Filter +* (C) 1999-2007 Jack Lloyd +* (C) 2013 Joel Low +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_FILTER_H_ +#define BOTAN_FILTER_H_ + +#include +#include +#include + +namespace Botan { + +/** +* This class represents general abstract filter objects. +*/ +class BOTAN_PUBLIC_API(2,0) Filter + { + public: + /** + * @return descriptive name for this filter + */ + virtual std::string name() const = 0; + + /** + * Write a portion of a message to this filter. + * @param input the input as a byte array + * @param length the length of the byte array input + */ + virtual void write(const uint8_t input[], size_t length) = 0; + + /** + * Start a new message. Must be closed by end_msg() before another + * message can be started. + */ + virtual void start_msg() { /* default empty */ } + + /** + * Notify that the current message is finished; flush buffers and + * do end-of-message processing (if any). + */ + virtual void end_msg() { /* default empty */ } + + /** + * Check whether this filter is an attachable filter. + * @return true if this filter is attachable, false otherwise + */ + virtual bool attachable() { return true; } + + virtual ~Filter() = default; + protected: + /** + * @param in some input for the filter + * @param length the length of in + */ + virtual void send(const uint8_t in[], size_t length); + + /** + * @param in some input for the filter + */ + void send(uint8_t in) { send(&in, 1); } + + /** + * @param in some input for the filter + */ + template + void send(const std::vector& in) + { + send(in.data(), in.size()); + } + + /** + * @param in some input for the filter + * @param length the number of bytes of in to send + */ + template + void send(const std::vector& in, size_t length) + { + BOTAN_ASSERT_NOMSG(length <= in.size()); + send(in.data(), length); + } + + Filter(); + + Filter(const Filter&) = delete; + + Filter& operator=(const Filter&) = delete; + + private: + /** + * Start a new message in *this and all following filters. Only for + * internal use, not intended for use in client applications. + */ + void new_msg(); + + /** + * End a new message in *this and all following filters. Only for + * internal use, not intended for use in client applications. + */ + void finish_msg(); + + friend class Pipe; + friend class Fanout_Filter; + + size_t total_ports() const; + size_t current_port() const { return m_port_num; } + + /** + * Set the active port + * @param new_port the new value + */ + void set_port(size_t new_port); + + size_t owns() const { return m_filter_owns; } + + /** + * Attach another filter to this one + * @param f filter to attach + */ + void attach(Filter* f); + + /** + * @param filters the filters to set + * @param count number of items in filters + */ + void set_next(Filter* filters[], size_t count); + Filter* get_next() const; + + secure_vector m_write_queue; + std::vector m_next; // not owned + size_t m_port_num, m_filter_owns; + + // true if filter belongs to a pipe --> prohibit filter sharing! + bool m_owned; + }; + +/** +* This is the abstract Fanout_Filter base class. +**/ +class BOTAN_PUBLIC_API(2,0) Fanout_Filter : public Filter + { + protected: + /** + * Increment the number of filters past us that we own + */ + void incr_owns() { ++m_filter_owns; } + + void set_port(size_t n) { Filter::set_port(n); } + + void set_next(Filter* f[], size_t n) { Filter::set_next(f, n); } + + void attach(Filter* f) { Filter::attach(f); } + + private: + friend class Threaded_Fork; + using Filter::m_write_queue; + using Filter::total_ports; + using Filter::m_next; + }; + +/** +* The type of checking to be performed by decoders: +* NONE - no checks, IGNORE_WS - perform checks, but ignore +* whitespaces, FULL_CHECK - perform checks, also complain +* about white spaces. +*/ +enum Decoder_Checking { NONE, IGNORE_WS, FULL_CHECK }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/filters.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/filters.h new file mode 100644 index 00000000..c19e1a74 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/filters.h @@ -0,0 +1,741 @@ +/* +* Common Filters +* (C) 1999-2007,2015 Jack Lloyd +* (C) 2013 Joel Low +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_FILTERS_H_ +#define BOTAN_FILTERS_H_ + +#include +#include +#include +#include +#include + +#if defined(BOTAN_TARGET_OS_HAS_THREADS) + #include +#endif + +#if defined(BOTAN_HAS_STREAM_CIPHER) + #include +#endif + +#if defined(BOTAN_HAS_HASH) + #include +#endif + +#if defined(BOTAN_HAS_MAC) + #include +#endif + +namespace Botan { + +/** +* Filter mixin that breaks input into blocks, useful for +* cipher modes +*/ +class BOTAN_PUBLIC_API(2,0) Buffered_Filter + { + public: + /** + * Write bytes into the buffered filter, which will them emit them + * in calls to buffered_block in the subclass + * @param in the input bytes + * @param length of in in bytes + */ + void write(const uint8_t in[], size_t length); + + template + void write(const std::vector& in, size_t length) + { + write(in.data(), length); + } + + /** + * Finish a message, emitting to buffered_block and buffered_final + * Will throw an exception if less than final_minimum bytes were + * written into the filter. + */ + void end_msg(); + + /** + * Initialize a Buffered_Filter + * @param block_size the function buffered_block will be called + * with inputs which are a multiple of this size + * @param final_minimum the function buffered_final will be called + * with at least this many bytes. + */ + Buffered_Filter(size_t block_size, size_t final_minimum); + + virtual ~Buffered_Filter() = default; + protected: + /** + * The block processor, implemented by subclasses + * @param input some input bytes + * @param length the size of input, guaranteed to be a multiple + * of block_size + */ + virtual void buffered_block(const uint8_t input[], size_t length) = 0; + + /** + * The final block, implemented by subclasses + * @param input some input bytes + * @param length the size of input, guaranteed to be at least + * final_minimum bytes + */ + virtual void buffered_final(const uint8_t input[], size_t length) = 0; + + /** + * @return block size of inputs + */ + size_t buffered_block_size() const { return m_main_block_mod; } + + /** + * @return current position in the buffer + */ + size_t current_position() const { return m_buffer_pos; } + + /** + * Reset the buffer position + */ + void buffer_reset() { m_buffer_pos = 0; } + private: + size_t m_main_block_mod, m_final_minimum; + + secure_vector m_buffer; + size_t m_buffer_pos; + }; + +/** +* This class represents keyed filters, i.e. filters that have to be +* fed with a key in order to function. +*/ +class BOTAN_PUBLIC_API(2,0) Keyed_Filter : public Filter + { + public: + /** + * Set the key of this filter + * @param key the key to use + */ + virtual void set_key(const SymmetricKey& key) = 0; + + /** + * Set the initialization vector of this filter. Note: you should + * call set_iv() only after you have called set_key() + * @param iv the initialization vector to use + */ + virtual void set_iv(const InitializationVector& iv) + { + if(iv.length() != 0) + throw Invalid_IV_Length(name(), iv.length()); + } + + /** + * Check whether a key length is valid for this filter + * @param length the key length to be checked for validity + * @return true if the key length is valid, false otherwise + */ + bool valid_keylength(size_t length) const + { + return key_spec().valid_keylength(length); + } + + /** + * @return object describing limits on key size + */ + virtual Key_Length_Specification key_spec() const = 0; + + /** + * Check whether an IV length is valid for this filter + * @param length the IV length to be checked for validity + * @return true if the IV length is valid, false otherwise + */ + virtual bool valid_iv_length(size_t length) const + { return (length == 0); } + }; + +/** +* Filter interface for cipher modes +*/ +class BOTAN_PUBLIC_API(2,0) Cipher_Mode_Filter final : public Keyed_Filter, + private Buffered_Filter + { + public: + explicit Cipher_Mode_Filter(Cipher_Mode* t); + + explicit Cipher_Mode_Filter(std::unique_ptr t) : + Cipher_Mode_Filter(t.release()) {} + + void set_iv(const InitializationVector& iv) override; + + void set_key(const SymmetricKey& key) override; + + Key_Length_Specification key_spec() const override; + + bool valid_iv_length(size_t length) const override; + + std::string name() const override; + + private: + void write(const uint8_t input[], size_t input_length) override; + void start_msg() override; + void end_msg() override; + + void buffered_block(const uint8_t input[], size_t input_length) override; + void buffered_final(const uint8_t input[], size_t input_length) override; + + std::unique_ptr m_mode; + std::vector m_nonce; + secure_vector m_buffer; + }; + +// deprecated aliases, will be removed in a future major release +typedef Cipher_Mode_Filter Transform_Filter; +typedef Transform_Filter Transformation_Filter; + +/* +* Get a cipher object +*/ + +/** +* Factory method for general symmetric cipher filters. No key will be +* set in the filter. +* +* @param algo_spec the name of the desired cipher +* @param direction determines whether the filter will be an encrypting or +* decrypting filter +* @return pointer to the encryption or decryption filter +*/ +inline Keyed_Filter* get_cipher(const std::string& algo_spec, + Cipher_Dir direction) + { + std::unique_ptr c(Cipher_Mode::create_or_throw(algo_spec, direction)); + return new Cipher_Mode_Filter(c.release()); + } + +/** +* Factory method for general symmetric cipher filters. +* @param algo_spec the name of the desired cipher +* @param key the key to be used for encryption/decryption performed by +* the filter +* @param direction determines whether the filter will be an encrypting +* or decrypting filter +* @return pointer to the encryption or decryption filter +*/ +inline Keyed_Filter* get_cipher(const std::string& algo_spec, + const SymmetricKey& key, + Cipher_Dir direction) + { + Keyed_Filter* cipher = get_cipher(algo_spec, direction); + cipher->set_key(key); + return cipher; + } + +/** +* Factory method for general symmetric cipher filters. +* @param algo_spec the name of the desired cipher +* @param key the key to be used for encryption/decryption performed by +* the filter +* @param iv the initialization vector to be used +* @param direction determines whether the filter will be an encrypting +* or decrypting filter +* @return pointer to newly allocated encryption or decryption filter +*/ +inline Keyed_Filter* get_cipher(const std::string& algo_spec, + const SymmetricKey& key, + const InitializationVector& iv, + Cipher_Dir direction) + { + Keyed_Filter* cipher = get_cipher(algo_spec, key, direction); + if(iv.length()) + cipher->set_iv(iv); + return cipher; + } + +#if defined(BOTAN_HAS_STREAM_CIPHER) + +/** +* Stream Cipher Filter +*/ +class BOTAN_PUBLIC_API(2,0) StreamCipher_Filter final : public Keyed_Filter + { + public: + + std::string name() const override { return m_cipher->name(); } + + /** + * Write input data + * @param input data + * @param input_len length of input in bytes + */ + void write(const uint8_t input[], size_t input_len) override; + + bool valid_iv_length(size_t iv_len) const override + { return m_cipher->valid_iv_length(iv_len); } + + /** + * Set the initialization vector for this filter. + * @param iv the initialization vector to set + */ + void set_iv(const InitializationVector& iv) override + { + m_cipher->set_iv(iv.begin(), iv.length()); + } + + /** + * Set the key of this filter. + * @param key the key to set + */ + void set_key(const SymmetricKey& key) override { m_cipher->set_key(key); } + + Key_Length_Specification key_spec() const override { return m_cipher->key_spec(); } + + /** + * Construct a stream cipher filter. + * @param cipher a cipher object to use + */ + explicit StreamCipher_Filter(StreamCipher* cipher); + + /** + * Construct a stream cipher filter. + * @param cipher a cipher object to use + * @param key the key to use inside this filter + */ + StreamCipher_Filter(StreamCipher* cipher, const SymmetricKey& key); + + /** + * Construct a stream cipher filter. + * @param cipher the name of the desired cipher + */ + explicit StreamCipher_Filter(const std::string& cipher); + + /** + * Construct a stream cipher filter. + * @param cipher the name of the desired cipher + * @param key the key to use inside this filter + */ + StreamCipher_Filter(const std::string& cipher, const SymmetricKey& key); + private: + secure_vector m_buffer; + std::unique_ptr m_cipher; + }; +#endif + +#if defined(BOTAN_HAS_HASH) + +/** +* Hash Filter. +*/ +class BOTAN_PUBLIC_API(2,0) Hash_Filter final : public Filter + { + public: + void write(const uint8_t input[], size_t len) override { m_hash->update(input, len); } + void end_msg() override; + + std::string name() const override { return m_hash->name(); } + + /** + * Construct a hash filter. + * @param hash the hash function to use + * @param len the output length of this filter. Leave the default + * value 0 if you want to use the full output of the hashfunction + * hash. Otherwise, specify a smaller value here so that the + * output of the hash algorithm will be cut off. + */ + Hash_Filter(HashFunction* hash, size_t len = 0) : + m_hash(hash), m_out_len(len) {} + + /** + * Construct a hash filter. + * @param request the name of the hash algorithm to use + * @param len the output length of this filter. Leave the default + * value 0 if you want to use the full output of the hashfunction + * hash. Otherwise, specify a smaller value here so that the + * output of the hash algorithm will be cut off. + */ + Hash_Filter(const std::string& request, size_t len = 0); + + private: + std::unique_ptr m_hash; + const size_t m_out_len; + }; +#endif + +#if defined(BOTAN_HAS_MAC) + +/** +* MessageAuthenticationCode Filter. +*/ +class BOTAN_PUBLIC_API(2,0) MAC_Filter final : public Keyed_Filter + { + public: + void write(const uint8_t input[], size_t len) override { m_mac->update(input, len); } + void end_msg() override; + + std::string name() const override { return m_mac->name(); } + + /** + * Set the key of this filter. + * @param key the key to set + */ + void set_key(const SymmetricKey& key) override { m_mac->set_key(key); } + + Key_Length_Specification key_spec() const override { return m_mac->key_spec(); } + + /** + * Construct a MAC filter. The MAC key will be left empty. + * @param mac the MAC to use + * @param out_len the output length of this filter. Leave the default + * value 0 if you want to use the full output of the + * MAC. Otherwise, specify a smaller value here so that the + * output of the MAC will be cut off. + */ + MAC_Filter(MessageAuthenticationCode* mac, + size_t out_len = 0) : + m_mac(mac), + m_out_len(out_len) + { + } + + /** + * Construct a MAC filter. + * @param mac the MAC to use + * @param key the MAC key to use + * @param out_len the output length of this filter. Leave the default + * value 0 if you want to use the full output of the + * MAC. Otherwise, specify a smaller value here so that the + * output of the MAC will be cut off. + */ + MAC_Filter(MessageAuthenticationCode* mac, + const SymmetricKey& key, + size_t out_len = 0) : + m_mac(mac), + m_out_len(out_len) + { + m_mac->set_key(key); + } + + /** + * Construct a MAC filter. The MAC key will be left empty. + * @param mac the name of the MAC to use + * @param len the output length of this filter. Leave the default + * value 0 if you want to use the full output of the + * MAC. Otherwise, specify a smaller value here so that the + * output of the MAC will be cut off. + */ + MAC_Filter(const std::string& mac, size_t len = 0); + + /** + * Construct a MAC filter. + * @param mac the name of the MAC to use + * @param key the MAC key to use + * @param len the output length of this filter. Leave the default + * value 0 if you want to use the full output of the + * MAC. Otherwise, specify a smaller value here so that the + * output of the MAC will be cut off. + */ + MAC_Filter(const std::string& mac, const SymmetricKey& key, + size_t len = 0); + private: + std::unique_ptr m_mac; + const size_t m_out_len; + }; +#endif + +#if defined(BOTAN_HAS_COMPRESSION) + +class Compression_Algorithm; +class Decompression_Algorithm; + +/** +* Filter interface for compression +*/ +class BOTAN_PUBLIC_API(2,0) Compression_Filter final : public Filter + { + public: + void start_msg() override; + void write(const uint8_t input[], size_t input_length) override; + void end_msg() override; + + void flush(); + + std::string name() const override; + + Compression_Filter(const std::string& type, + size_t compression_level, + size_t buffer_size = 4096); + + ~Compression_Filter(); + private: + std::unique_ptr m_comp; + size_t m_buffersize, m_level; + secure_vector m_buffer; + }; + +/** +* Filter interface for decompression +*/ +class BOTAN_PUBLIC_API(2,0) Decompression_Filter final : public Filter + { + public: + void start_msg() override; + void write(const uint8_t input[], size_t input_length) override; + void end_msg() override; + + std::string name() const override; + + Decompression_Filter(const std::string& type, + size_t buffer_size = 4096); + + ~Decompression_Filter(); + private: + std::unique_ptr m_comp; + std::size_t m_buffersize; + secure_vector m_buffer; + }; + +#endif + +/** +* This class represents a Base64 encoder. +*/ +class BOTAN_PUBLIC_API(2,0) Base64_Encoder final : public Filter + { + public: + std::string name() const override { return "Base64_Encoder"; } + + /** + * Input a part of a message to the encoder. + * @param input the message to input as a byte array + * @param length the length of the byte array input + */ + void write(const uint8_t input[], size_t length) override; + + /** + * Inform the Encoder that the current message shall be closed. + */ + void end_msg() override; + + /** + * Create a base64 encoder. + * @param breaks whether to use line breaks in the output + * @param length the length of the lines of the output + * @param t_n whether to use a trailing newline + */ + Base64_Encoder(bool breaks = false, size_t length = 72, + bool t_n = false); + private: + void encode_and_send(const uint8_t input[], size_t length, + bool final_inputs = false); + void do_output(const uint8_t output[], size_t length); + + const size_t m_line_length; + const bool m_trailing_newline; + std::vector m_in, m_out; + size_t m_position, m_out_position; + }; + +/** +* This object represents a Base64 decoder. +*/ +class BOTAN_PUBLIC_API(2,0) Base64_Decoder final : public Filter + { + public: + std::string name() const override { return "Base64_Decoder"; } + + /** + * Input a part of a message to the decoder. + * @param input the message to input as a byte array + * @param length the length of the byte array input + */ + void write(const uint8_t input[], size_t length) override; + + /** + * Finish up the current message + */ + void end_msg() override; + + /** + * Create a base64 decoder. + * @param checking the type of checking that shall be performed by + * the decoder + */ + explicit Base64_Decoder(Decoder_Checking checking = NONE); + private: + const Decoder_Checking m_checking; + std::vector m_in, m_out; + size_t m_position; + }; + +/** +* Converts arbitrary binary data to hex strings, optionally with +* newlines inserted +*/ +class BOTAN_PUBLIC_API(2,0) Hex_Encoder final : public Filter + { + public: + /** + * Whether to use uppercase or lowercase letters for the encoded string. + */ + enum Case { Uppercase, Lowercase }; + + std::string name() const override { return "Hex_Encoder"; } + + void write(const uint8_t in[], size_t length) override; + void end_msg() override; + + /** + * Create a hex encoder. + * @param the_case the case to use in the encoded strings. + */ + explicit Hex_Encoder(Case the_case); + + /** + * Create a hex encoder. + * @param newlines should newlines be used + * @param line_length if newlines are used, how long are lines + * @param the_case the case to use in the encoded strings + */ + Hex_Encoder(bool newlines = false, + size_t line_length = 72, + Case the_case = Uppercase); + private: + void encode_and_send(const uint8_t[], size_t); + + const Case m_casing; + const size_t m_line_length; + std::vector m_in, m_out; + size_t m_position, m_counter; + }; + +/** +* Converts hex strings to bytes +*/ +class BOTAN_PUBLIC_API(2,0) Hex_Decoder final : public Filter + { + public: + std::string name() const override { return "Hex_Decoder"; } + + void write(const uint8_t[], size_t) override; + void end_msg() override; + + /** + * Construct a Hex Decoder using the specified + * character checking. + * @param checking the checking to use during decoding. + */ + explicit Hex_Decoder(Decoder_Checking checking = NONE); + private: + const Decoder_Checking m_checking; + std::vector m_in, m_out; + size_t m_position; + }; + +/** +* BitBucket is a filter which simply discards all inputs +*/ +class BOTAN_PUBLIC_API(2,0) BitBucket final : public Filter + { + public: + void write(const uint8_t[], size_t) override { /* discard */ } + + std::string name() const override { return "BitBucket"; } + }; + +/** +* This class represents Filter chains. A Filter chain is an ordered +* concatenation of Filters, the input to a Chain sequentially passes +* through all the Filters contained in the Chain. +*/ + +class BOTAN_PUBLIC_API(2,0) Chain final : public Fanout_Filter + { + public: + void write(const uint8_t input[], size_t length) override { send(input, length); } + + std::string name() const override { return "Chain"; } + + /** + * Construct a chain of up to four filters. The filters are set + * up in the same order as the arguments. + */ + Chain(Filter* = nullptr, Filter* = nullptr, + Filter* = nullptr, Filter* = nullptr); + + /** + * Construct a chain from range of filters + * @param filter_arr the list of filters + * @param length how many filters + */ + Chain(Filter* filter_arr[], size_t length); + }; + +/** +* This class represents a fork filter, whose purpose is to fork the +* flow of data. It causes an input message to result in n messages at +* the end of the filter, where n is the number of forks. +*/ +class BOTAN_PUBLIC_API(2,0) Fork : public Fanout_Filter + { + public: + void write(const uint8_t input[], size_t length) override { send(input, length); } + void set_port(size_t n) { Fanout_Filter::set_port(n); } + + std::string name() const override { return "Fork"; } + + /** + * Construct a Fork filter with up to four forks. + */ + Fork(Filter*, Filter*, Filter* = nullptr, Filter* = nullptr); + + /** + * Construct a Fork from range of filters + * @param filter_arr the list of filters + * @param length how many filters + */ + Fork(Filter* filter_arr[], size_t length); + }; + +#if defined(BOTAN_HAS_THREAD_UTILS) + +/** +* This class is a threaded version of the Fork filter. While this uses +* threads, the class itself is NOT thread-safe. This is meant as a drop- +* in replacement for Fork where performance gains are possible. +*/ +class BOTAN_PUBLIC_API(2,0) Threaded_Fork final : public Fork + { + public: + std::string name() const override; + + /** + * Construct a Threaded_Fork filter with up to four forks. + */ + Threaded_Fork(Filter*, Filter*, Filter* = nullptr, Filter* = nullptr); + + /** + * Construct a Threaded_Fork from range of filters + * @param filter_arr the list of filters + * @param length how many filters + */ + Threaded_Fork(Filter* filter_arr[], size_t length); + + ~Threaded_Fork(); + + private: + void set_next(Filter* f[], size_t n); + void send(const uint8_t in[], size_t length) override; + void thread_delegate_work(const uint8_t input[], size_t length); + void thread_entry(Filter* filter); + + std::vector> m_threads; + std::unique_ptr m_thread_data; + }; +#endif + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/fpe_fe1.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/fpe_fe1.h new file mode 100644 index 00000000..d9f760f0 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/fpe_fe1.h @@ -0,0 +1,123 @@ +/* +* Format Preserving Encryption (FE1 scheme) +* (C) 2009,2018 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_FPE_FE1_H_ +#define BOTAN_FPE_FE1_H_ + +#include +#include + +namespace Botan { + +class Modular_Reducer; +class MessageAuthenticationCode; + +/** +* Format Preserving Encryption using the scheme FE1 from the paper +* "Format-Preserving Encryption" by Bellare, Rogaway, et al +* (https://eprint.iacr.org/2009/251) +*/ +class BOTAN_PUBLIC_API(2,5) FPE_FE1 final : public SymmetricAlgorithm + { + public: + + /** + * @param n the modulus. All plaintext and ciphertext values must be + * less than this. + * @param rounds the number of rounds to use. Must be at least 3. + * @param compat_mode An error in versions before 2.5.0 chose incorrect + * values for a and b. Set compat_mode to true to select this version. + * @param mac_algo the PRF to use as the encryption function + */ + FPE_FE1(const BigInt& n, + size_t rounds = 5, + bool compat_mode = false, + const std::string& mac_algo = "HMAC(SHA-256)"); + + ~FPE_FE1(); + + Key_Length_Specification key_spec() const override; + + std::string name() const override; + + void clear() override; + + /** + * Encrypt X from and onto the group Z_n using key and tweak + * @param x the plaintext to encrypt <= n + * @param tweak will modify the ciphertext + * @param tweak_len length of tweak + */ + BigInt encrypt(const BigInt& x, const uint8_t tweak[], size_t tweak_len) const; + + /** + * Decrypt X from and onto the group Z_n using key and tweak + * @param x the ciphertext to encrypt <= n + * @param tweak must match the value used to encrypt + * @param tweak_len length of tweak + */ + BigInt decrypt(const BigInt& x, const uint8_t tweak[], size_t tweak_len) const; + + BigInt encrypt(const BigInt& x, uint64_t tweak) const; + + BigInt decrypt(const BigInt& x, uint64_t tweak) const; + private: + void key_schedule(const uint8_t key[], size_t length) override; + + BigInt F(const BigInt& R, size_t round, + const secure_vector& tweak, + secure_vector& tmp) const; + + secure_vector compute_tweak_mac(const uint8_t tweak[], size_t tweak_len) const; + + std::unique_ptr m_mac; + std::unique_ptr mod_a; + std::vector m_n_bytes; + BigInt m_a; + BigInt m_b; + size_t m_rounds; + }; + +namespace FPE { + +/** +* Format Preserving Encryption using the scheme FE1 from the paper +* "Format-Preserving Encryption" by Bellare, Rogaway, et al +* (https://eprint.iacr.org/2009/251) +* +* Encrypt X from and onto the group Z_n using key and tweak +* @param n the modulus +* @param X the plaintext as a BigInt +* @param key a random key +* @param tweak will modify the ciphertext (think of as an IV) +* +* @warning This function is hardcoded to use only 3 rounds which +* may be insecure for some values of n. Prefer FPE_FE1 class +*/ +BigInt BOTAN_PUBLIC_API(2,0) fe1_encrypt(const BigInt& n, const BigInt& X, + const SymmetricKey& key, + const std::vector& tweak); + +/** +* Decrypt X from and onto the group Z_n using key and tweak +* @param n the modulus +* @param X the ciphertext as a BigInt +* @param key is the key used for encryption +* @param tweak the same tweak used for encryption +* +* @warning This function is hardcoded to use only 3 rounds which +* may be insecure for some values of n. Prefer FPE_FE1 class +*/ +BigInt BOTAN_PUBLIC_API(2,0) fe1_decrypt(const BigInt& n, const BigInt& X, + const SymmetricKey& key, + const std::vector& tweak); + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gcm.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gcm.h new file mode 100644 index 00000000..fe3c4057 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gcm.h @@ -0,0 +1,117 @@ +/* +* GCM Mode +* (C) 2013 Jack Lloyd +* (C) 2016 Daniel Neus, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_AEAD_GCM_H_ +#define BOTAN_AEAD_GCM_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(gcm.h) + +namespace Botan { + +class BlockCipher; +class StreamCipher; +class GHASH; + +/** +* GCM Mode +*/ +class BOTAN_PUBLIC_API(2,0) GCM_Mode : public AEAD_Mode + { + public: + void set_associated_data(const uint8_t ad[], size_t ad_len) override; + + std::string name() const override; + + size_t update_granularity() const override; + + Key_Length_Specification key_spec() const override; + + bool valid_nonce_length(size_t len) const override; + + size_t tag_size() const override { return m_tag_size; } + + void clear() override; + + void reset() override; + + std::string provider() const override; + protected: + GCM_Mode(BlockCipher* cipher, size_t tag_size); + + ~GCM_Mode(); + + static const size_t GCM_BS = 16; + + const size_t m_tag_size; + const std::string m_cipher_name; + + std::unique_ptr m_ctr; + std::unique_ptr m_ghash; + private: + void start_msg(const uint8_t nonce[], size_t nonce_len) override; + + void key_schedule(const uint8_t key[], size_t length) override; + + secure_vector m_y0; + }; + +/** +* GCM Encryption +*/ +class BOTAN_PUBLIC_API(2,0) GCM_Encryption final : public GCM_Mode + { + public: + /** + * @param cipher the 128 bit block cipher to use + * @param tag_size is how big the auth tag will be + */ + GCM_Encryption(BlockCipher* cipher, size_t tag_size = 16) : + GCM_Mode(cipher, tag_size) {} + + size_t output_length(size_t input_length) const override + { return input_length + tag_size(); } + + size_t minimum_final_size() const override { return 0; } + + size_t process(uint8_t buf[], size_t size) override; + + void finish(secure_vector& final_block, size_t offset = 0) override; + }; + +/** +* GCM Decryption +*/ +class BOTAN_PUBLIC_API(2,0) GCM_Decryption final : public GCM_Mode + { + public: + /** + * @param cipher the 128 bit block cipher to use + * @param tag_size is how big the auth tag will be + */ + GCM_Decryption(BlockCipher* cipher, size_t tag_size = 16) : + GCM_Mode(cipher, tag_size) {} + + size_t output_length(size_t input_length) const override + { + BOTAN_ASSERT(input_length >= tag_size(), "Sufficient input"); + return input_length - tag_size(); + } + + size_t minimum_final_size() const override { return tag_size(); } + + size_t process(uint8_t buf[], size_t size) override; + + void finish(secure_vector& final_block, size_t offset = 0) override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gf2m_small_m.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gf2m_small_m.h new file mode 100644 index 00000000..ae3eab22 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gf2m_small_m.h @@ -0,0 +1,221 @@ +/* + * (C) Copyright Projet SECRET, INRIA, Rocquencourt + * (C) Bhaskar Biswas and Nicolas Sendrier + * + * (C) 2014 cryptosource GmbH + * (C) 2014 Falko Strenzke fstrenzke@cryptosource.de + * + * Botan is released under the Simplified BSD License (see license.txt) + * + */ + +#ifndef BOTAN_GF2M_SMALL_M_H_ +#define BOTAN_GF2M_SMALL_M_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(gf2m_small_m.h) + +namespace Botan { + +typedef uint16_t gf2m; + +/** +* GF(2^m) field for m = [2...16] +*/ +class BOTAN_PUBLIC_API(2,0) GF2m_Field + { + public: + explicit GF2m_Field(size_t extdeg); + + gf2m gf_mul(gf2m x, gf2m y) const + { + return ((x) ? gf_mul_fast(x, y) : 0); + } + + gf2m gf_square(gf2m x) const + { + return ((x) ? gf_exp(_gf_modq_1(gf_log(x) << 1)) : 0); + } + + gf2m square_rr(gf2m x) const + { + return _gf_modq_1(x << 1); + } + + gf2m gf_mul_fast(gf2m x, gf2m y) const + { + return ((y) ? gf_exp(_gf_modq_1(gf_log(x) + gf_log(y))) : 0); + } + + /* + naming convention of GF(2^m) field operations: + l logarithmic, unreduced + r logarithmic, reduced + n normal, non-zero + z normal, might be zero + */ + + gf2m gf_mul_lll(gf2m a, gf2m b) const + { + return (a + b); + } + + gf2m gf_mul_rrr(gf2m a, gf2m b) const + { + return (_gf_modq_1(gf_mul_lll(a, b))); + } + + gf2m gf_mul_nrr(gf2m a, gf2m b) const + { + return (gf_exp(gf_mul_rrr(a, b))); + } + + gf2m gf_mul_rrn(gf2m a, gf2m y) const + { + return _gf_modq_1(gf_mul_lll(a, gf_log(y))); + } + + gf2m gf_mul_rnr(gf2m y, gf2m a) const + { + return gf_mul_rrn(a, y); + } + + gf2m gf_mul_lnn(gf2m x, gf2m y) const + { + return (gf_log(x) + gf_log(y)); + } + + gf2m gf_mul_rnn(gf2m x, gf2m y) const + { + return _gf_modq_1(gf_mul_lnn(x, y)); + } + + gf2m gf_mul_nrn(gf2m a, gf2m y) const + { + return gf_exp(_gf_modq_1((a) + gf_log(y))); + } + + /** + * zero operand allowed + */ + gf2m gf_mul_zrz(gf2m a, gf2m y) const + { + return ( (y == 0) ? 0 : gf_mul_nrn(a, y) ); + } + + gf2m gf_mul_zzr(gf2m a, gf2m y) const + { + return gf_mul_zrz(y, a); + } + + /** + * non-zero operand + */ + gf2m gf_mul_nnr(gf2m y, gf2m a) const + { + return gf_mul_nrn(a, y); + } + + gf2m gf_sqrt(gf2m x) const + { + return ((x) ? gf_exp(_gf_modq_1(gf_log(x) << (get_extension_degree()-1))) : 0); + } + + gf2m gf_div_rnn(gf2m x, gf2m y) const + { + return _gf_modq_1(gf_log(x) - gf_log(y)); + } + + gf2m gf_div_rnr(gf2m x, gf2m b) const + { + return _gf_modq_1(gf_log(x) - b); + } + + gf2m gf_div_nrr(gf2m a, gf2m b) const + { + return gf_exp(_gf_modq_1(a - b)); + } + + gf2m gf_div_zzr(gf2m x, gf2m b) const + { + return ((x) ? gf_exp(_gf_modq_1(gf_log(x) - b)) : 0); + } + + gf2m gf_inv(gf2m x) const + { + return gf_exp(gf_ord() - gf_log(x)); + } + + gf2m gf_inv_rn(gf2m x) const + { + return (gf_ord() - gf_log(x)); + } + + gf2m gf_square_ln(gf2m x) const + { + return gf_log(x) << 1; + } + + gf2m gf_square_rr(gf2m a) const + { + return a << 1; + } + + gf2m gf_l_from_n(gf2m x) const + { + return gf_log(x); + } + + gf2m gf_div(gf2m x, gf2m y) const; + + gf2m gf_exp(gf2m i) const + { + return m_gf_exp_table.at(i); /* alpha^i */ + } + + gf2m gf_log(gf2m i) const + { + return m_gf_log_table.at(i); /* return i when x=alpha^i */ + } + + gf2m gf_ord() const + { + return m_gf_multiplicative_order; + } + + size_t get_extension_degree() const + { + return m_gf_extension_degree; + } + + gf2m get_cardinality() const + { + return static_cast(1 << get_extension_degree()); + } + + private: + gf2m _gf_modq_1(int32_t d) const + { + /* residual modulo q-1 + when -q < d < 0, we get (q-1+d) + when 0 <= d < q, we get (d) + when q <= d < 2q-1, we get (d-q+1) + */ + return static_cast(((d) & gf_ord()) + ((d) >> get_extension_degree())); + } + + const size_t m_gf_extension_degree; + const gf2m m_gf_multiplicative_order; + const std::vector& m_gf_log_table; + const std::vector& m_gf_exp_table; + }; + +uint32_t encode_gf2m(gf2m to_enc, uint8_t* mem); + +gf2m decode_gf2m(const uint8_t* mem); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ghash.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ghash.h new file mode 100644 index 00000000..062a04b8 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ghash.h @@ -0,0 +1,110 @@ +/* +* (C) 2013 Jack Lloyd +* (C) 2016 Daniel Neus, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_GCM_GHASH_H_ +#define BOTAN_GCM_GHASH_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(ghash.h) + +namespace Botan { + +/** +* GCM's GHASH +* This is not intended for general use, but is exposed to allow +* shared code between GCM and GMAC +*/ +class BOTAN_PUBLIC_API(2,0) GHASH final : public SymmetricAlgorithm + { + public: + void set_associated_data(const uint8_t ad[], size_t ad_len); + + secure_vector BOTAN_DEPRECATED("Use other impl") + nonce_hash(const uint8_t nonce[], size_t nonce_len) + { + secure_vector y0(GCM_BS); + nonce_hash(y0, nonce, nonce_len); + return y0; + } + + void nonce_hash(secure_vector& y0, const uint8_t nonce[], size_t len); + + void start(const uint8_t nonce[], size_t len); + + /* + * Assumes input len is multiple of 16 + */ + void update(const uint8_t in[], size_t len); + + /* + * Incremental update of associated data + */ + void update_associated_data(const uint8_t ad[], size_t len); + + secure_vector BOTAN_DEPRECATED("Use version taking output params") final() + { + secure_vector mac(GCM_BS); + final(mac.data(), mac.size()); + return mac; + } + + void final(uint8_t out[], size_t out_len); + + Key_Length_Specification key_spec() const override + { return Key_Length_Specification(16); } + + void clear() override; + + void reset(); + + std::string name() const override { return "GHASH"; } + + std::string provider() const; + + void ghash_update(secure_vector& x, + const uint8_t input[], size_t input_len); + + void add_final_block(secure_vector& x, + size_t ad_len, size_t pt_len); + private: + +#if defined(BOTAN_HAS_GHASH_CLMUL_CPU) + static void ghash_precompute_cpu(const uint8_t H[16], uint64_t H_pow[4*2]); + + static void ghash_multiply_cpu(uint8_t x[16], + const uint64_t H_pow[4*2], + const uint8_t input[], size_t blocks); +#endif + +#if defined(BOTAN_HAS_GHASH_CLMUL_VPERM) + static void ghash_multiply_vperm(uint8_t x[16], + const uint64_t HM[256], + const uint8_t input[], size_t blocks); +#endif + + void key_schedule(const uint8_t key[], size_t key_len) override; + + void ghash_multiply(secure_vector& x, + const uint8_t input[], + size_t blocks); + + static const size_t GCM_BS = 16; + + secure_vector m_H; + secure_vector m_H_ad; + secure_vector m_ghash; + secure_vector m_nonce; + secure_vector m_HM; + secure_vector m_H_pow; + size_t m_ad_len = 0; + size_t m_text_len = 0; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gmac.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gmac.h new file mode 100644 index 00000000..b78aeec6 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gmac.h @@ -0,0 +1,64 @@ +/* + * GMAC + * (C) 2016 Matthias Gierlings, René Korthaus + * (C) 2017 Jack Lloyd + * + * Botan is released under the Simplified BSD License (see license.txt) + */ + +#ifndef BOTAN_GMAC_H_ +#define BOTAN_GMAC_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(gmac.h) + +namespace Botan { + +class BlockCipher; +class GHASH; + +/** +* GMAC +* +* GMAC requires a unique initialization vector be used for each message. +* This must be provided via the MessageAuthenticationCode::start() API +*/ +class BOTAN_PUBLIC_API(2,0) GMAC final : public MessageAuthenticationCode + { + public: + void clear() override; + std::string name() const override; + size_t output_length() const override; + MessageAuthenticationCode* clone() const override; + + Key_Length_Specification key_spec() const override; + + /** + * Creates a new GMAC instance. + * + * @param cipher the underlying block cipher to use + */ + explicit GMAC(BlockCipher* cipher); + + GMAC(const GMAC&) = delete; + GMAC& operator=(const GMAC&) = delete; + + ~GMAC(); + + private: + void add_data(const uint8_t[], size_t) override; + void final_result(uint8_t[]) override; + void start_msg(const uint8_t nonce[], size_t nonce_len) override; + void key_schedule(const uint8_t key[], size_t size) override; + + static const size_t GCM_BS = 16; + std::unique_ptr m_cipher; + std::unique_ptr m_ghash; + secure_vector m_aad_buf; + size_t m_aad_buf_pos; + bool m_initialized; + }; + +} +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gost_28147.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gost_28147.h new file mode 100644 index 00000000..f71bb28b --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gost_28147.h @@ -0,0 +1,95 @@ +/* +* GOST 28147-89 +* (C) 1999-2009 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_GOST_28147_89_H_ +#define BOTAN_GOST_28147_89_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(gost_28147.h) + +namespace Botan { + +/** +* The GOST 28147-89 block cipher uses a set of 4 bit Sboxes, however +* the standard does not actually define these Sboxes; they are +* considered a local configuration issue. Several different sets are +* used. +*/ +class BOTAN_PUBLIC_API(2,0) GOST_28147_89_Params final + { + public: + /** + * @param row the row + * @param col the column + * @return sbox entry at this row/column + */ + uint8_t sbox_entry(size_t row, size_t col) const; + + /** + * @return name of this parameter set + */ + std::string param_name() const { return m_name; } + + /** + * Return a representation used for building larger tables + * For internal use + */ + uint8_t sbox_pair(size_t row, size_t col) const; + + /** + * Default GOST parameters are the ones given in GOST R 34.11 for + * testing purposes; these sboxes are also used by Crypto++, and, + * at least according to Wikipedia, the Central Bank of Russian + * Federation + * @param name of the parameter set + */ + explicit GOST_28147_89_Params(const std::string& name = "R3411_94_TestParam"); + private: + const uint8_t* m_sboxes; + std::string m_name; + }; + +/** +* GOST 28147-89 +*/ +class BOTAN_PUBLIC_API(2,0) GOST_28147_89 final : public Block_Cipher_Fixed_Params<8, 32> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + + std::string name() const override; + BlockCipher* clone() const override { return new GOST_28147_89(m_SBOX); } + + /** + * @param params the sbox parameters to use + */ + explicit GOST_28147_89(const GOST_28147_89_Params& params); + + explicit GOST_28147_89(const std::string& param_name) : + GOST_28147_89(GOST_28147_89_Params(param_name)) {} + private: + explicit GOST_28147_89(const std::vector& other_SBOX) : + m_SBOX(other_SBOX), m_EK(8) {} + + void key_schedule(const uint8_t[], size_t) override; + + /* + * The sbox is not secret, this is just a larger expansion of it + * which we generate at runtime for faster execution + */ + std::vector m_SBOX; + + secure_vector m_EK; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gost_3410.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gost_3410.h new file mode 100644 index 00000000..9eedaf12 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gost_3410.h @@ -0,0 +1,104 @@ +/* +* GOST 34.10-2001 +* (C) 2007 Falko Strenzke, FlexSecure GmbH +* Manuel Hartl, FlexSecure GmbH +* (C) 2008-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_GOST_3410_KEY_H_ +#define BOTAN_GOST_3410_KEY_H_ + +#include + +namespace Botan { + +/** +* GOST-34.10 Public Key +*/ +class BOTAN_PUBLIC_API(2,0) GOST_3410_PublicKey : public virtual EC_PublicKey + { + public: + + /** + * Construct a public key from a given public point. + * @param dom_par the domain parameters associated with this key + * @param public_point the public point defining this key + */ + GOST_3410_PublicKey(const EC_Group& dom_par, + const PointGFp& public_point) : + EC_PublicKey(dom_par, public_point) {} + + /** + * Load a public key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits DER encoded public key bits + */ + GOST_3410_PublicKey(const AlgorithmIdentifier& alg_id, + const std::vector& key_bits); + + /** + * Get this keys algorithm name. + * @result this keys algorithm name + */ + std::string algo_name() const override; + + AlgorithmIdentifier algorithm_identifier() const override; + + std::vector public_key_bits() const override; + + size_t message_parts() const override { return 2; } + + size_t message_part_size() const override + { return domain().get_order().bytes(); } + + Signature_Format default_x509_signature_format() const override + { return IEEE_1363; } + + std::unique_ptr + create_verification_op(const std::string& params, + const std::string& provider) const override; + + protected: + GOST_3410_PublicKey() = default; + }; + +/** +* GOST-34.10 Private Key +*/ +class BOTAN_PUBLIC_API(2,0) GOST_3410_PrivateKey final : + public GOST_3410_PublicKey, public EC_PrivateKey + { + public: + /** + * Load a private key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits ECPrivateKey bits + */ + GOST_3410_PrivateKey(const AlgorithmIdentifier& alg_id, + const secure_vector& key_bits) : + EC_PrivateKey(alg_id, key_bits) {} + + /** + * Generate a new private key + * @param rng a random number generator + * @param domain parameters to used for this key + * @param x the private key; if zero, a new random key is generated + */ + GOST_3410_PrivateKey(RandomNumberGenerator& rng, + const EC_Group& domain, + const BigInt& x = 0); + + AlgorithmIdentifier pkcs8_algorithm_identifier() const override + { return EC_PublicKey::algorithm_identifier(); } + + std::unique_ptr + create_signature_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gost_3411.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gost_3411.h new file mode 100644 index 00000000..51d7aa47 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/gost_3411.h @@ -0,0 +1,47 @@ +/* +* GOST 34.11 +* (C) 2009 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_GOST_3411_H_ +#define BOTAN_GOST_3411_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(gost_3411.h) + +namespace Botan { + +/** +* GOST 34.11 +*/ +class BOTAN_PUBLIC_API(2,0) GOST_34_11 final : public HashFunction + { + public: + std::string name() const override { return "GOST-R-34.11-94" ; } + size_t output_length() const override { return 32; } + size_t hash_block_size() const override { return 32; } + HashFunction* clone() const override { return new GOST_34_11; } + std::unique_ptr copy_state() const override; + + void clear() override; + + GOST_34_11(); + private: + void compress_n(const uint8_t input[], size_t blocks); + + void add_data(const uint8_t[], size_t) override; + void final_result(uint8_t[]) override; + + GOST_28147_89 m_cipher; + secure_vector m_buffer, m_sum, m_hash; + size_t m_position; + uint64_t m_count; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hash.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hash.h new file mode 100644 index 00000000..8c6440e6 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hash.h @@ -0,0 +1,91 @@ +/* +* Hash Function Base Class +* (C) 1999-2008 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_HASH_FUNCTION_BASE_CLASS_H_ +#define BOTAN_HASH_FUNCTION_BASE_CLASS_H_ + +#include +#include +#include + +namespace Botan { + +/** +* This class represents hash function (message digest) objects +*/ +class BOTAN_PUBLIC_API(2,0) HashFunction : public Buffered_Computation + { + public: + /** + * Create an instance based on a name, or return null if the + * algo/provider combination cannot be found. If provider is + * empty then best available is chosen. + */ + static std::unique_ptr + create(const std::string& algo_spec, + const std::string& provider = ""); + + /** + * Create an instance based on a name + * If provider is empty then best available is chosen. + * @param algo_spec algorithm name + * @param provider provider implementation to use + * Throws Lookup_Error if not found. + */ + static std::unique_ptr + create_or_throw(const std::string& algo_spec, + const std::string& provider = ""); + + /** + * @return list of available providers for this algorithm, empty if not available + * @param algo_spec algorithm name + */ + static std::vector providers(const std::string& algo_spec); + + /** + * @return new object representing the same algorithm as *this + */ + virtual HashFunction* clone() const = 0; + + /** + * @return provider information about this implementation. Default is "base", + * might also return "sse2", "avx2", "openssl", or some other arbitrary string. + */ + virtual std::string provider() const { return "base"; } + + virtual ~HashFunction() = default; + + /** + * Reset the state. + */ + virtual void clear() = 0; + + /** + * @return the hash function name + */ + virtual std::string name() const = 0; + + /** + * @return hash block size as defined for this algorithm + */ + virtual size_t hash_block_size() const { return 0; } + + /** + * Return a new hash object with the same state as *this. This + * allows computing the hash of several messages with a common + * prefix more efficiently than would otherwise be possible. + * + * This function should be called `clone` but that was already + * used for the case of returning an uninitialized object. + * @return new hash object + */ + virtual std::unique_ptr copy_state() const = 0; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hash_id.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hash_id.h new file mode 100644 index 00000000..75c86c0c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hash_id.h @@ -0,0 +1,34 @@ +/* +* Hash Function Identification +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_HASHID_H_ +#define BOTAN_HASHID_H_ + +#include +#include + +namespace Botan { + +/** +* Return the PKCS #1 hash identifier +* @see RFC 3447 section 9.2 +* @param hash_name the name of the hash function +* @return uint8_t sequence identifying the hash +* @throw Invalid_Argument if the hash has no known PKCS #1 hash id +*/ +BOTAN_PUBLIC_API(2,0) std::vector pkcs_hash_id(const std::string& hash_name); + +/** +* Return the IEEE 1363 hash identifier +* @param hash_name the name of the hash function +* @return uint8_t code identifying the hash, or 0 if not known +*/ +BOTAN_PUBLIC_API(2,0) uint8_t ieee1363_hash_id(const std::string& hash_name); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hex.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hex.h new file mode 100644 index 00000000..330d8a69 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hex.h @@ -0,0 +1,148 @@ +/* +* Hex Encoding and Decoding +* (C) 2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_HEX_CODEC_H_ +#define BOTAN_HEX_CODEC_H_ + +#include +#include + +namespace Botan { + +/** +* Perform hex encoding +* @param output an array of at least input_length*2 bytes +* @param input is some binary data +* @param input_length length of input in bytes +* @param uppercase should output be upper or lower case? +*/ +void BOTAN_PUBLIC_API(2,0) hex_encode(char output[], + const uint8_t input[], + size_t input_length, + bool uppercase = true); + +/** +* Perform hex encoding +* @param input some input +* @param input_length length of input in bytes +* @param uppercase should output be upper or lower case? +* @return hexadecimal representation of input +*/ +std::string BOTAN_PUBLIC_API(2,0) hex_encode(const uint8_t input[], + size_t input_length, + bool uppercase = true); + +/** +* Perform hex encoding +* @param input some input +* @param uppercase should output be upper or lower case? +* @return hexadecimal representation of input +*/ +template +std::string hex_encode(const std::vector& input, + bool uppercase = true) + { + return hex_encode(input.data(), input.size(), uppercase); + } + +/** +* Perform hex decoding +* @param output an array of at least input_length/2 bytes +* @param input some hex input +* @param input_length length of input in bytes +* @param input_consumed is an output parameter which says how many +* bytes of input were actually consumed. If less than +* input_length, then the range input[consumed:length] +* should be passed in later along with more input. +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return number of bytes written to output +*/ +size_t BOTAN_PUBLIC_API(2,0) hex_decode(uint8_t output[], + const char input[], + size_t input_length, + size_t& input_consumed, + bool ignore_ws = true); + +/** +* Perform hex decoding +* @param output an array of at least input_length/2 bytes +* @param input some hex input +* @param input_length length of input in bytes +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return number of bytes written to output +*/ +size_t BOTAN_PUBLIC_API(2,0) hex_decode(uint8_t output[], + const char input[], + size_t input_length, + bool ignore_ws = true); + +/** +* Perform hex decoding +* @param output an array of at least input_length/2 bytes +* @param input some hex input +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return number of bytes written to output +*/ +size_t BOTAN_PUBLIC_API(2,0) hex_decode(uint8_t output[], + const std::string& input, + bool ignore_ws = true); + +/** +* Perform hex decoding +* @param input some hex input +* @param input_length the length of input in bytes +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return decoded hex output +*/ +std::vector BOTAN_PUBLIC_API(2,0) +hex_decode(const char input[], + size_t input_length, + bool ignore_ws = true); + +/** +* Perform hex decoding +* @param input some hex input +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return decoded hex output +*/ +std::vector BOTAN_PUBLIC_API(2,0) +hex_decode(const std::string& input, + bool ignore_ws = true); + + +/** +* Perform hex decoding +* @param input some hex input +* @param input_length the length of input in bytes +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return decoded hex output +*/ +secure_vector BOTAN_PUBLIC_API(2,0) +hex_decode_locked(const char input[], + size_t input_length, + bool ignore_ws = true); + +/** +* Perform hex decoding +* @param input some hex input +* @param ignore_ws ignore whitespace on input; if false, throw an + exception if whitespace is encountered +* @return decoded hex output +*/ +secure_vector BOTAN_PUBLIC_API(2,0) +hex_decode_locked(const std::string& input, + bool ignore_ws = true); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hex_filt.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hex_filt.h new file mode 100644 index 00000000..b529b529 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hex_filt.h @@ -0,0 +1,14 @@ +/* +* Hex Encoder/Decoder +* (C) 1999-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_HEX_FILTER_H_ +#define BOTAN_HEX_FILTER_H_ + +#include +BOTAN_DEPRECATED_HEADER(hex_filt.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hkdf.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hkdf.h new file mode 100644 index 00000000..4b1ed292 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hkdf.h @@ -0,0 +1,117 @@ +/* +* HKDF +* (C) 2013,2015 Jack Lloyd +* (C) 2016 René Korthaus, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_HKDF_H_ +#define BOTAN_HKDF_H_ + +#include +#include + +/* +* The definitions of HKDF, HKDF_Extract, HKDF_Expand will be made internal +* in the future. However the function hkdf_expand_label will still be defined. +*/ +//BOTAN_FUTURE_INTERNAL_HEADER(hkdf.h) + +namespace Botan { + +/** +* HKDF from RFC 5869. +*/ +class BOTAN_PUBLIC_API(2,0) HKDF final : public KDF + { + public: + /** + * @param prf MAC algorithm to use + */ + explicit HKDF(MessageAuthenticationCode* prf) : m_prf(prf) {} + + KDF* clone() const override { return new HKDF(m_prf->clone()); } + + std::string name() const override { return "HKDF(" + m_prf->name() + ")"; } + + size_t kdf(uint8_t key[], size_t key_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len) const override; + + private: + std::unique_ptr m_prf; + }; + +/** +* HKDF Extraction Step from RFC 5869. +*/ +class BOTAN_PUBLIC_API(2,0) HKDF_Extract final : public KDF + { + public: + /** + * @param prf MAC algorithm to use + */ + explicit HKDF_Extract(MessageAuthenticationCode* prf) : m_prf(prf) {} + + KDF* clone() const override { return new HKDF_Extract(m_prf->clone()); } + + std::string name() const override { return "HKDF-Extract(" + m_prf->name() + ")"; } + + size_t kdf(uint8_t key[], size_t key_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len) const override; + + private: + std::unique_ptr m_prf; + }; + +/** +* HKDF Expansion Step from RFC 5869. +*/ +class BOTAN_PUBLIC_API(2,0) HKDF_Expand final : public KDF + { + public: + /** + * @param prf MAC algorithm to use + */ + explicit HKDF_Expand(MessageAuthenticationCode* prf) : m_prf(prf) {} + + KDF* clone() const override { return new HKDF_Expand(m_prf->clone()); } + + std::string name() const override { return "HKDF-Expand(" + m_prf->name() + ")"; } + + size_t kdf(uint8_t key[], size_t key_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len) const override; + + private: + std::unique_ptr m_prf; + }; + +/** +* HKDF-Expand-Label from TLS 1.3/QUIC +* @param hash_fn the hash to use +* @param secret the secret bits +* @param secret_len the length of secret +* @param label the full label (no "TLS 1.3, " or "tls13 " prefix +* is applied) +* @param hash_val the previous hash value (used for chaining, may be empty) +* @param hash_val_len the length of hash_val +* @param length the desired output length +*/ +secure_vector +BOTAN_PUBLIC_API(2,3) hkdf_expand_label( + const std::string& hash_fn, + const uint8_t secret[], size_t secret_len, + const std::string& label, + const uint8_t hash_val[], size_t hash_val_len, + size_t length); + + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hmac.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hmac.h new file mode 100644 index 00000000..1f2f4227 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hmac.h @@ -0,0 +1,52 @@ +/* +* HMAC +* (C) 1999-2007,2014 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_HMAC_H_ +#define BOTAN_HMAC_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(hmac.h) + +namespace Botan { + +/** +* HMAC +*/ +class BOTAN_PUBLIC_API(2,0) HMAC final : public MessageAuthenticationCode + { + public: + void clear() override; + std::string name() const override; + MessageAuthenticationCode* clone() const override; + + size_t output_length() const override; + + Key_Length_Specification key_spec() const override; + + /** + * @param hash the hash to use for HMACing + */ + explicit HMAC(HashFunction* hash); + + HMAC(const HMAC&) = delete; + HMAC& operator=(const HMAC&) = delete; + private: + void add_data(const uint8_t[], size_t) override; + void final_result(uint8_t[]) override; + void key_schedule(const uint8_t[], size_t) override; + + std::unique_ptr m_hash; + secure_vector m_ikey, m_okey; + size_t m_hash_output_length; + size_t m_hash_block_size; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hmac_drbg.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hmac_drbg.h new file mode 100644 index 00000000..a4c288c7 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hmac_drbg.h @@ -0,0 +1,150 @@ +/* +* HMAC_DRBG (SP800-90A) +* (C) 2014,2015,2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_HMAC_DRBG_H_ +#define BOTAN_HMAC_DRBG_H_ + +#include +#include + +namespace Botan { + +class Entropy_Sources; + +/** +* HMAC_DRBG from NIST SP800-90A +*/ +class BOTAN_PUBLIC_API(2,0) HMAC_DRBG final : public Stateful_RNG + { + public: + /** + * Initialize an HMAC_DRBG instance with the given MAC as PRF (normally HMAC) + * + * Automatic reseeding is disabled completely, as it has no access to + * any source for seed material. + * + * If a fork is detected, the RNG will be unable to reseed itself + * in response. In this case, an exception will be thrown rather + * than generating duplicated output. + */ + explicit HMAC_DRBG(std::unique_ptr prf); + + /** + * Constructor taking a string for the hash + */ + explicit HMAC_DRBG(const std::string& hmac_hash); + + /** + * Initialize an HMAC_DRBG instance with the given MAC as PRF (normally HMAC) + * + * Automatic reseeding from @p underlying_rng will take place after + * @p reseed_interval many requests or after a fork was detected. + * + * @param prf MAC to use as a PRF + * @param underlying_rng is a reference to some RNG which will be used + * to perform the periodic reseeding + * @param reseed_interval specifies a limit of how many times + * the RNG will be called before automatic reseeding is performed (max. 2^24) + * @param max_number_of_bytes_per_request requests that are in size higher + * than max_number_of_bytes_per_request are treated as if multiple single + * requests of max_number_of_bytes_per_request size had been made. + * In theory SP 800-90A requires that we reject any request for a DRBG + * output longer than max_number_of_bytes_per_request. To avoid inconveniencing + * the caller who wants an output larger than max_number_of_bytes_per_request, + * instead treat these requests as if multiple requests of + * max_number_of_bytes_per_request size had been made. NIST requires for + * HMAC_DRBG that every implementation set a value no more than 2**19 bits + * (or 64 KiB). Together with @p reseed_interval = 1 you can enforce that for + * example every 512 bit automatic reseeding occurs. + */ + HMAC_DRBG(std::unique_ptr prf, + RandomNumberGenerator& underlying_rng, + size_t reseed_interval = BOTAN_RNG_DEFAULT_RESEED_INTERVAL, + size_t max_number_of_bytes_per_request = 64 * 1024); + + /** + * Initialize an HMAC_DRBG instance with the given MAC as PRF (normally HMAC) + * + * Automatic reseeding from @p entropy_sources will take place after + * @p reseed_interval many requests or after a fork was detected. + * + * @param prf MAC to use as a PRF + * @param entropy_sources will be polled to perform reseeding periodically + * @param reseed_interval specifies a limit of how many times + * the RNG will be called before automatic reseeding is performed (max. 2^24) + * @param max_number_of_bytes_per_request requests that are in size higher + * than max_number_of_bytes_per_request are treated as if multiple single + * requests of max_number_of_bytes_per_request size had been made. + * In theory SP 800-90A requires that we reject any request for a DRBG + * output longer than max_number_of_bytes_per_request. To avoid inconveniencing + * the caller who wants an output larger than max_number_of_bytes_per_request, + * instead treat these requests as if multiple requests of + * max_number_of_bytes_per_request size had been made. NIST requires for + * HMAC_DRBG that every implementation set a value no more than 2**19 bits + * (or 64 KiB). Together with @p reseed_interval = 1 you can enforce that for + * example every 512 bit automatic reseeding occurs. + */ + HMAC_DRBG(std::unique_ptr prf, + Entropy_Sources& entropy_sources, + size_t reseed_interval = BOTAN_RNG_DEFAULT_RESEED_INTERVAL, + size_t max_number_of_bytes_per_request = 64 * 1024); + + /** + * Initialize an HMAC_DRBG instance with the given MAC as PRF (normally HMAC) + * + * Automatic reseeding from @p underlying_rng and @p entropy_sources + * will take place after @p reseed_interval many requests or after + * a fork was detected. + * + * @param prf MAC to use as a PRF + * @param underlying_rng is a reference to some RNG which will be used + * to perform the periodic reseeding + * @param entropy_sources will be polled to perform reseeding periodically + * @param reseed_interval specifies a limit of how many times + * the RNG will be called before automatic reseeding is performed (max. 2^24) + * @param max_number_of_bytes_per_request requests that are in size higher + * than max_number_of_bytes_per_request are treated as if multiple single + * requests of max_number_of_bytes_per_request size had been made. + * In theory SP 800-90A requires that we reject any request for a DRBG + * output longer than max_number_of_bytes_per_request. To avoid inconveniencing + * the caller who wants an output larger than max_number_of_bytes_per_request, + * instead treat these requests as if multiple requests of + * max_number_of_bytes_per_request size had been made. NIST requires for + * HMAC_DRBG that every implementation set a value no more than 2**19 bits + * (or 64 KiB). Together with @p reseed_interval = 1 you can enforce that for + * example every 512 bit automatic reseeding occurs. + */ + HMAC_DRBG(std::unique_ptr prf, + RandomNumberGenerator& underlying_rng, + Entropy_Sources& entropy_sources, + size_t reseed_interval = BOTAN_RNG_DEFAULT_RESEED_INTERVAL, + size_t max_number_of_bytes_per_request = 64 * 1024); + + std::string name() const override; + + size_t security_level() const override; + + size_t max_number_of_bytes_per_request() const override + { return m_max_number_of_bytes_per_request; } + + private: + void update(const uint8_t input[], size_t input_len) override; + + void generate_output(uint8_t output[], size_t output_len, + const uint8_t input[], size_t input_len) override; + + void clear_state() override; + + std::unique_ptr m_mac; + secure_vector m_V; + const size_t m_max_number_of_bytes_per_request; + const size_t m_security_level; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hotp.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hotp.h new file mode 100644 index 00000000..d8c54555 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/hotp.h @@ -0,0 +1,14 @@ +/* +* HOTP +* (C) 2017 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_HOTP_H_ +#define BOTAN_HOTP_H_ + +#include +BOTAN_DEPRECATED_HEADER(hotp.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/http_util.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/http_util.h new file mode 100644 index 00000000..7ad7c582 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/http_util.h @@ -0,0 +1,107 @@ +/* +* HTTP utilities +* (C) 2013 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_UTILS_URLGET_H_ +#define BOTAN_UTILS_URLGET_H_ + +#include +#include +#include +#include +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(http_util.h) + +namespace Botan { + +namespace HTTP { + +/** +* HTTP_Error Exception +*/ +class BOTAN_PUBLIC_API(2,0) HTTP_Error final : public Exception + { + public: + explicit HTTP_Error(const std::string& msg) : + Exception("HTTP error " + msg) + {} + + ErrorType error_type() const noexcept override { return ErrorType::HttpError; } + + }; + +class Response final + { + public: + Response() : m_status_code(0), m_status_message("Uninitialized") {} + + Response(unsigned int status_code, const std::string& status_message, + const std::vector& body, + const std::map& headers) : + m_status_code(status_code), + m_status_message(status_message), + m_body(body), + m_headers(headers) {} + + unsigned int status_code() const { return m_status_code; } + + const std::vector& body() const { return m_body; } + + const std::map& headers() const { return m_headers; } + + std::string status_message() const { return m_status_message; } + + void throw_unless_ok() + { + if(status_code() != 200) + throw HTTP_Error(status_message()); + } + + private: + unsigned int m_status_code; + std::string m_status_message; + std::vector m_body; + std::map m_headers; + }; + +BOTAN_PUBLIC_API(2,0) std::ostream& operator<<(std::ostream& o, const Response& resp); + +typedef std::function http_exch_fn; + +BOTAN_PUBLIC_API(2,0) Response http_sync(http_exch_fn fn, + const std::string& verb, + const std::string& url, + const std::string& content_type, + const std::vector& body, + size_t allowable_redirects); + +BOTAN_PUBLIC_API(2,0) Response http_sync(const std::string& verb, + const std::string& url, + const std::string& content_type, + const std::vector& body, + size_t allowable_redirects, + std::chrono::milliseconds timeout = std::chrono::milliseconds(3000)); + +BOTAN_PUBLIC_API(2,0) Response GET_sync(const std::string& url, + size_t allowable_redirects = 1, + std::chrono::milliseconds timeout = std::chrono::milliseconds(3000)); + +BOTAN_PUBLIC_API(2,0) Response POST_sync(const std::string& url, + const std::string& content_type, + const std::vector& body, + size_t allowable_redirects = 1, + std::chrono::milliseconds timeout = std::chrono::milliseconds(3000)); + +BOTAN_PUBLIC_API(2,0) std::string url_encode(const std::string& url); + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/idea.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/idea.h new file mode 100644 index 00000000..e5e51606 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/idea.h @@ -0,0 +1,45 @@ +/* +* IDEA +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_IDEA_H_ +#define BOTAN_IDEA_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(idea.h) + +namespace Botan { + +/** +* IDEA +*/ +class BOTAN_PUBLIC_API(2,0) IDEA final : public Block_Cipher_Fixed_Params<8, 16> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + + std::string provider() const override; + std::string name() const override { return "IDEA"; } + BlockCipher* clone() const override { return new IDEA; } + size_t parallelism() const override; + + private: +#if defined(BOTAN_HAS_IDEA_SSE2) + void sse2_idea_op_8(const uint8_t in[64], uint8_t out[64], const uint16_t EK[52]) const; +#endif + + void key_schedule(const uint8_t[], size_t) override; + + secure_vector m_EK, m_DK; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/init.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/init.h new file mode 100644 index 00000000..66865084 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/init.h @@ -0,0 +1,35 @@ +/* +* Library Initialization +* (C) 1999-2008,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_LIBRARY_INITIALIZER_H_ +#define BOTAN_LIBRARY_INITIALIZER_H_ + +#include +#include + +namespace Botan { + +BOTAN_DEPRECATED_HEADER(init.h) + +/* +* Previously botan had state whose lifetime had to be explicitly +* managed by the application. As of 1.11.14 this is no longer the +* case, and this class is no longer needed and kept only for backwards +* compatibility. +*/ +class BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("LibraryInitializer is no longer required") LibraryInitializer final + { + public: + explicit LibraryInitializer(const std::string& /*ignored*/ = "") { } + + static void initialize(const std::string& /*ignored*/ = "") {} + static void deinitialize() {} + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/iso9796.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/iso9796.h new file mode 100644 index 00000000..9782e53b --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/iso9796.h @@ -0,0 +1,98 @@ +/* + * ISO-9796-2 - Digital signature schemes giving message recovery schemes 2 and 3 + * (C) 2016 Tobias Niemann, Hackmanit GmbH + * + * Botan is released under the Simplified BSD License (see license.txt) + */ + +#ifndef BOTAN_ISO9796_H_ +#define BOTAN_ISO9796_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(iso9796.h) + +namespace Botan { + +/** +* ISO-9796-2 - Digital signature scheme 2 (probabilistic) +*/ +class BOTAN_PUBLIC_API(2,0) ISO_9796_DS2 final : public EMSA + { + public: + /** + * @param hash function to use + * @param implicit whether or not the trailer is implicit + */ + explicit ISO_9796_DS2(HashFunction* hash, bool implicit = false) : m_hash(hash), m_implicit(implicit), + m_SALT_SIZE(hash->output_length()) {} + + /** + * @param hash function to use + * @param implicit whether or not the trailer is implicit + * @param salt_size size of the salt to use in bytes + */ + ISO_9796_DS2(HashFunction* hash, bool implicit, size_t salt_size) : m_hash(hash), m_implicit(implicit), + m_SALT_SIZE(salt_size) {} + + EMSA* clone() override; + + std::string name() const override; + private: + void update(const uint8_t input[], size_t length) override; + + secure_vector raw_data() override; + + secure_vector encoding_of(const secure_vector& msg, + size_t output_bits, + RandomNumberGenerator& rng) override; + + bool verify(const secure_vector& coded, + const secure_vector& raw, + size_t key_bits) override; + + std::unique_ptr m_hash; + bool m_implicit; + size_t m_SALT_SIZE; + secure_vector m_msg_buffer; + }; + +/** +* ISO-9796-2 - Digital signature scheme 3 (deterministic) +*/ +class BOTAN_PUBLIC_API(2,0) ISO_9796_DS3 final : public EMSA + { + public: + /** + * @param hash function to use + * @param implicit whether or not the trailer is implicit + */ + ISO_9796_DS3(HashFunction* hash, bool implicit = false) : m_hash(hash), m_implicit(implicit) + {} + + EMSA* clone() override; + + std::string name() const override; + private: + void update(const uint8_t input[], size_t length) override; + + secure_vector raw_data() override; + + secure_vector encoding_of(const secure_vector& msg, + size_t output_bits, + RandomNumberGenerator& rng) override; + + bool verify(const secure_vector& coded, + const secure_vector& raw, + size_t key_bits) override; + + std::unique_ptr m_hash; + bool m_implicit; + secure_vector m_msg_buffer; + }; + +} + +#endif + diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kasumi.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kasumi.h new file mode 100644 index 00000000..9ea09a10 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kasumi.h @@ -0,0 +1,37 @@ +/* +* KASUMI +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_KASUMI_H_ +#define BOTAN_KASUMI_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(kasumi.h) + +namespace Botan { + +/** +* KASUMI, the block cipher used in 3G telephony +*/ +class BOTAN_PUBLIC_API(2,0) KASUMI final : public Block_Cipher_Fixed_Params<8, 16> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "KASUMI"; } + BlockCipher* clone() const override { return new KASUMI; } + private: + void key_schedule(const uint8_t[], size_t) override; + + secure_vector m_EK; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kdf.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kdf.h new file mode 100644 index 00000000..dd4cfedf --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kdf.h @@ -0,0 +1,196 @@ +/* +* Key Derivation Function interfaces +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_KDF_BASE_H_ +#define BOTAN_KDF_BASE_H_ + +#include +#include +#include + +namespace Botan { + +/** +* Key Derivation Function +*/ +class BOTAN_PUBLIC_API(2,0) KDF + { + public: + virtual ~KDF() = default; + + /** + * Create an instance based on a name + * If provider is empty then best available is chosen. + * @param algo_spec algorithm name + * @param provider provider implementation to choose + * @return a null pointer if the algo/provider combination cannot be found + */ + static std::unique_ptr + create(const std::string& algo_spec, + const std::string& provider = ""); + + /** + * Create an instance based on a name, or throw if the + * algo/provider combination cannot be found. If provider is + * empty then best available is chosen. + */ + static std::unique_ptr + create_or_throw(const std::string& algo_spec, + const std::string& provider = ""); + + /** + * @return list of available providers for this algorithm, empty if not available + */ + static std::vector providers(const std::string& algo_spec); + + /** + * @return KDF name + */ + virtual std::string name() const = 0; + + /** + * Derive a key + * @param key buffer holding the derived key, must be of length key_len + * @param key_len the desired output length in bytes + * @param secret the secret input + * @param secret_len size of secret in bytes + * @param salt a diversifier + * @param salt_len size of salt in bytes + * @param label purpose for the derived keying material + * @param label_len size of label in bytes + * @return the derived key + */ + virtual size_t kdf(uint8_t key[], size_t key_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len) const = 0; + + /** + * Derive a key + * @param key_len the desired output length in bytes + * @param secret the secret input + * @param secret_len size of secret in bytes + * @param salt a diversifier + * @param salt_len size of salt in bytes + * @param label purpose for the derived keying material + * @param label_len size of label in bytes + * @return the derived key + */ + secure_vector derive_key(size_t key_len, + const uint8_t secret[], + size_t secret_len, + const uint8_t salt[], + size_t salt_len, + const uint8_t label[] = nullptr, + size_t label_len = 0) const + { + secure_vector key(key_len); + key.resize(kdf(key.data(), key.size(), secret, secret_len, salt, salt_len, label, label_len)); + return key; + } + + /** + * Derive a key + * @param key_len the desired output length in bytes + * @param secret the secret input + * @param salt a diversifier + * @param label purpose for the derived keying material + * @return the derived key + */ + secure_vector derive_key(size_t key_len, + const secure_vector& secret, + const std::string& salt = "", + const std::string& label = "") const + { + return derive_key(key_len, secret.data(), secret.size(), + cast_char_ptr_to_uint8(salt.data()), + salt.length(), + cast_char_ptr_to_uint8(label.data()), + label.length()); + + } + + /** + * Derive a key + * @param key_len the desired output length in bytes + * @param secret the secret input + * @param salt a diversifier + * @param label purpose for the derived keying material + * @return the derived key + */ + template + secure_vector derive_key(size_t key_len, + const std::vector& secret, + const std::vector& salt, + const std::vector& label) const + { + return derive_key(key_len, + secret.data(), secret.size(), + salt.data(), salt.size(), + label.data(), label.size()); + } + + /** + * Derive a key + * @param key_len the desired output length in bytes + * @param secret the secret input + * @param salt a diversifier + * @param salt_len size of salt in bytes + * @param label purpose for the derived keying material + * @return the derived key + */ + secure_vector derive_key(size_t key_len, + const secure_vector& secret, + const uint8_t salt[], + size_t salt_len, + const std::string& label = "") const + { + return derive_key(key_len, + secret.data(), secret.size(), + salt, salt_len, + cast_char_ptr_to_uint8(label.data()), + label.size()); + } + + /** + * Derive a key + * @param key_len the desired output length in bytes + * @param secret the secret input + * @param secret_len size of secret in bytes + * @param salt a diversifier + * @param label purpose for the derived keying material + * @return the derived key + */ + secure_vector derive_key(size_t key_len, + const uint8_t secret[], + size_t secret_len, + const std::string& salt = "", + const std::string& label = "") const + { + return derive_key(key_len, secret, secret_len, + cast_char_ptr_to_uint8(salt.data()), + salt.length(), + cast_char_ptr_to_uint8(label.data()), + label.length()); + } + + /** + * @return new object representing the same algorithm as *this + */ + virtual KDF* clone() const = 0; + }; + +/** +* Factory method for KDF (key derivation function) +* @param algo_spec the name of the KDF to create +* @return pointer to newly allocated object of that type +*/ +BOTAN_PUBLIC_API(2,0) KDF* get_kdf(const std::string& algo_spec); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kdf1.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kdf1.h new file mode 100644 index 00000000..388b5525 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kdf1.h @@ -0,0 +1,43 @@ +/* +* KDF1 +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_KDF1_H_ +#define BOTAN_KDF1_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(kdf1.h) + +namespace Botan { + +/** +* KDF1, from IEEE 1363 +*/ +class BOTAN_PUBLIC_API(2,0) KDF1 final : public KDF + { + public: + std::string name() const override { return "KDF1(" + m_hash->name() + ")"; } + + KDF* clone() const override { return new KDF1(m_hash->clone()); } + + size_t kdf(uint8_t key[], size_t key_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len) const override; + + /** + * @param h hash function to use + */ + explicit KDF1(HashFunction* h) : m_hash(h) {} + private: + std::unique_ptr m_hash; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kdf1_iso18033.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kdf1_iso18033.h new file mode 100644 index 00000000..5f913057 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kdf1_iso18033.h @@ -0,0 +1,43 @@ +/* +* KDF1 from ISO 18033-2 +* (C) 2016 Philipp Weber +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_KDF1_18033_H_ +#define BOTAN_KDF1_18033_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(kdf1_iso18033.h) + +namespace Botan { + +/** +* KDF1, from ISO 18033-2 +*/ +class BOTAN_PUBLIC_API(2,0) KDF1_18033 final : public KDF + { + public: + std::string name() const override { return "KDF1-18033(" + m_hash->name() + ")"; } + + KDF* clone() const override { return new KDF1_18033(m_hash->clone()); } + + size_t kdf(uint8_t key[], size_t key_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len) const override; + + /** + * @param h hash function to use + */ + explicit KDF1_18033(HashFunction* h) : m_hash(h) {} + private: + std::unique_ptr m_hash; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kdf2.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kdf2.h new file mode 100644 index 00000000..43abbf08 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/kdf2.h @@ -0,0 +1,43 @@ +/* +* KDF2 +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_KDF2_H_ +#define BOTAN_KDF2_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(kdf2.h) + +namespace Botan { + +/** +* KDF2, from IEEE 1363 +*/ +class BOTAN_PUBLIC_API(2,0) KDF2 final : public KDF + { + public: + std::string name() const override { return "KDF2(" + m_hash->name() + ")"; } + + KDF* clone() const override { return new KDF2(m_hash->clone()); } + + size_t kdf(uint8_t key[], size_t key_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len) const override; + + /** + * @param h hash function to use + */ + explicit KDF2(HashFunction* h) : m_hash(h) {} + private: + std::unique_ptr m_hash; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/keccak.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/keccak.h new file mode 100644 index 00000000..083d7fc5 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/keccak.h @@ -0,0 +1,51 @@ +/* +* Keccak +* (C) 2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_KECCAK_H_ +#define BOTAN_KECCAK_H_ + +#include +#include +#include + +namespace Botan { + +BOTAN_FUTURE_INTERNAL_HEADER(keccak.h) + +/** +* Keccak[1600], a SHA-3 candidate +*/ +class BOTAN_PUBLIC_API(2,0) Keccak_1600 final : public HashFunction + { + public: + + /** + * @param output_bits the size of the hash output; must be one of + * 224, 256, 384, or 512 + */ + explicit Keccak_1600(size_t output_bits = 512); + + size_t hash_block_size() const override { return m_bitrate / 8; } + size_t output_length() const override { return m_output_bits / 8; } + + HashFunction* clone() const override; + std::unique_ptr copy_state() const override; + std::string name() const override; + void clear() override; + + private: + void add_data(const uint8_t input[], size_t length) override; + void final_result(uint8_t out[]) override; + + size_t m_output_bits, m_bitrate; + secure_vector m_S; + size_t m_S_pos; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/key_constraint.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/key_constraint.h new file mode 100644 index 00000000..5d5c7b08 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/key_constraint.h @@ -0,0 +1,11 @@ +/* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_KEY_CONSTRAINT_H_ +#define BOTAN_KEY_CONSTRAINT_H_ + +#include +BOTAN_DEPRECATED_HEADER(key_constraint.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/key_filt.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/key_filt.h new file mode 100644 index 00000000..3d85d886 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/key_filt.h @@ -0,0 +1,14 @@ +/* +* Keyed_Filter +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_KEYED_FILTER_H_ +#define BOTAN_KEYED_FILTER_H_ + +#include +BOTAN_DEPRECATED_HEADER(key_filt.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/key_spec.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/key_spec.h new file mode 100644 index 00000000..85dcebe3 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/key_spec.h @@ -0,0 +1,14 @@ +/* +* Symmetric Key Length Specification +* (C) 2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_KEY_LEN_SPECIFICATION_H_ +#define BOTAN_KEY_LEN_SPECIFICATION_H_ + +#include +BOTAN_DEPRECATED_HEADER(key_spec.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/keypair.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/keypair.h new file mode 100644 index 00000000..6900faa3 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/keypair.h @@ -0,0 +1,85 @@ +/* +* Keypair Checks +* (C) 1999-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_KEYPAIR_CHECKS_H_ +#define BOTAN_KEYPAIR_CHECKS_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(keypair.h) + +namespace Botan { + +namespace KeyPair { + +/** +* Tests whether the key is consistent for encryption; whether +* encrypting and then decrypting gives to the original plaintext. +* @param rng the rng to use +* @param private_key the key to test +* @param public_key the key to test +* @param padding the encryption padding method to use +* @return true if consistent otherwise false +*/ +BOTAN_PUBLIC_API(2,0) bool +encryption_consistency_check(RandomNumberGenerator& rng, + const Private_Key& private_key, + const Public_Key& public_key, + const std::string& padding); + +/** +* Tests whether the key is consistent for signatures; whether a +* signature can be created and then verified +* @param rng the rng to use +* @param private_key the key to test +* @param public_key the key to test +* @param padding the signature padding method to use +* @return true if consistent otherwise false +*/ +BOTAN_PUBLIC_API(2,0) bool +signature_consistency_check(RandomNumberGenerator& rng, + const Private_Key& private_key, + const Public_Key& public_key, + const std::string& padding); + +/** +* Tests whether the key is consistent for encryption; whether +* encrypting and then decrypting gives to the original plaintext. +* @param rng the rng to use +* @param key the key to test +* @param padding the encryption padding method to use +* @return true if consistent otherwise false +*/ +inline bool +encryption_consistency_check(RandomNumberGenerator& rng, + const Private_Key& key, + const std::string& padding) + { + return encryption_consistency_check(rng, key, key, padding); + } + +/** +* Tests whether the key is consistent for signatures; whether a +* signature can be created and then verified +* @param rng the rng to use +* @param key the key to test +* @param padding the signature padding method to use +* @return true if consistent otherwise false +*/ +inline bool +signature_consistency_check(RandomNumberGenerator& rng, + const Private_Key& key, + const std::string& padding) + { + return signature_consistency_check(rng, key, key, padding); + } + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/lion.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/lion.h new file mode 100644 index 00000000..fa8e9f41 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/lion.h @@ -0,0 +1,66 @@ +/* +* Lion +* (C) 1999-2007,2014 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_LION_H_ +#define BOTAN_LION_H_ + +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(lion.h) + +namespace Botan { + +/** +* Lion is a block cipher construction designed by Ross Anderson and +* Eli Biham, described in "Two Practical and Provably Secure Block +* Ciphers: BEAR and LION". It has a variable block size and is +* designed to encrypt very large blocks (up to a megabyte) + +* https://www.cl.cam.ac.uk/~rja14/Papers/bear-lion.pdf +*/ +class BOTAN_PUBLIC_API(2,0) Lion final : public BlockCipher + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + size_t block_size() const override { return m_block_size; } + + Key_Length_Specification key_spec() const override + { + return Key_Length_Specification(2, 2*m_hash->output_length(), 2); + } + + void clear() override; + std::string name() const override; + BlockCipher* clone() const override; + + /** + * @param hash the hash to use internally + * @param cipher the stream cipher to use internally + * @param block_size the size of the block to use + */ + Lion(HashFunction* hash, + StreamCipher* cipher, + size_t block_size); + private: + void key_schedule(const uint8_t[], size_t) override; + + size_t left_size() const { return m_hash->output_length(); } + size_t right_size() const { return m_block_size - left_size(); } + + const size_t m_block_size; + std::unique_ptr m_hash; + std::unique_ptr m_cipher; + secure_vector m_key1, m_key2; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/loadstor.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/loadstor.h new file mode 100644 index 00000000..9a8e9d4b --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/loadstor.h @@ -0,0 +1,701 @@ +/* +* Load/Store Operators +* (C) 1999-2007,2015,2017 Jack Lloyd +* 2007 Yves Jerschow +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_LOAD_STORE_H_ +#define BOTAN_LOAD_STORE_H_ + +#include +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(loadstor.h) + +#if defined(BOTAN_TARGET_CPU_IS_BIG_ENDIAN) + #define BOTAN_ENDIAN_N2L(x) reverse_bytes(x) + #define BOTAN_ENDIAN_L2N(x) reverse_bytes(x) + #define BOTAN_ENDIAN_N2B(x) (x) + #define BOTAN_ENDIAN_B2N(x) (x) + +#elif defined(BOTAN_TARGET_CPU_IS_LITTLE_ENDIAN) + #define BOTAN_ENDIAN_N2L(x) (x) + #define BOTAN_ENDIAN_L2N(x) (x) + #define BOTAN_ENDIAN_N2B(x) reverse_bytes(x) + #define BOTAN_ENDIAN_B2N(x) reverse_bytes(x) + +#endif + +namespace Botan { + +/** +* Byte extraction +* @param byte_num which byte to extract, 0 == highest byte +* @param input the value to extract from +* @return byte byte_num of input +*/ +template inline constexpr uint8_t get_byte(size_t byte_num, T input) + { + return static_cast( + input >> (((~byte_num)&(sizeof(T)-1)) << 3) + ); + } + +/** +* Make a uint16_t from two bytes +* @param i0 the first byte +* @param i1 the second byte +* @return i0 || i1 +*/ +inline constexpr uint16_t make_uint16(uint8_t i0, uint8_t i1) + { + return static_cast((static_cast(i0) << 8) | i1); + } + +/** +* Make a uint32_t from four bytes +* @param i0 the first byte +* @param i1 the second byte +* @param i2 the third byte +* @param i3 the fourth byte +* @return i0 || i1 || i2 || i3 +*/ +inline constexpr uint32_t make_uint32(uint8_t i0, uint8_t i1, uint8_t i2, uint8_t i3) + { + return ((static_cast(i0) << 24) | + (static_cast(i1) << 16) | + (static_cast(i2) << 8) | + (static_cast(i3))); + } + +/** +* Make a uint64_t from eight bytes +* @param i0 the first byte +* @param i1 the second byte +* @param i2 the third byte +* @param i3 the fourth byte +* @param i4 the fifth byte +* @param i5 the sixth byte +* @param i6 the seventh byte +* @param i7 the eighth byte +* @return i0 || i1 || i2 || i3 || i4 || i5 || i6 || i7 +*/ +inline constexpr uint64_t make_uint64(uint8_t i0, uint8_t i1, uint8_t i2, uint8_t i3, + uint8_t i4, uint8_t i5, uint8_t i6, uint8_t i7) + { + return ((static_cast(i0) << 56) | + (static_cast(i1) << 48) | + (static_cast(i2) << 40) | + (static_cast(i3) << 32) | + (static_cast(i4) << 24) | + (static_cast(i5) << 16) | + (static_cast(i6) << 8) | + (static_cast(i7))); + } + +/** +* Load a big-endian word +* @param in a pointer to some bytes +* @param off an offset into the array +* @return off'th T of in, as a big-endian value +*/ +template +inline T load_be(const uint8_t in[], size_t off) + { + in += off * sizeof(T); + T out = 0; + for(size_t i = 0; i != sizeof(T); ++i) + out = static_cast((out << 8) | in[i]); + return out; + } + +/** +* Load a little-endian word +* @param in a pointer to some bytes +* @param off an offset into the array +* @return off'th T of in, as a litte-endian value +*/ +template +inline T load_le(const uint8_t in[], size_t off) + { + in += off * sizeof(T); + T out = 0; + for(size_t i = 0; i != sizeof(T); ++i) + out = (out << 8) | in[sizeof(T)-1-i]; + return out; + } + +/** +* Load a big-endian uint16_t +* @param in a pointer to some bytes +* @param off an offset into the array +* @return off'th uint16_t of in, as a big-endian value +*/ +template<> +inline uint16_t load_be(const uint8_t in[], size_t off) + { + in += off * sizeof(uint16_t); + +#if defined(BOTAN_ENDIAN_N2B) + uint16_t x; + typecast_copy(x, in); + return BOTAN_ENDIAN_N2B(x); +#else + return make_uint16(in[0], in[1]); +#endif + } + +/** +* Load a little-endian uint16_t +* @param in a pointer to some bytes +* @param off an offset into the array +* @return off'th uint16_t of in, as a little-endian value +*/ +template<> +inline uint16_t load_le(const uint8_t in[], size_t off) + { + in += off * sizeof(uint16_t); + +#if defined(BOTAN_ENDIAN_N2L) + uint16_t x; + typecast_copy(x, in); + return BOTAN_ENDIAN_N2L(x); +#else + return make_uint16(in[1], in[0]); +#endif + } + +/** +* Load a big-endian uint32_t +* @param in a pointer to some bytes +* @param off an offset into the array +* @return off'th uint32_t of in, as a big-endian value +*/ +template<> +inline uint32_t load_be(const uint8_t in[], size_t off) + { + in += off * sizeof(uint32_t); +#if defined(BOTAN_ENDIAN_N2B) + uint32_t x; + typecast_copy(x, in); + return BOTAN_ENDIAN_N2B(x); +#else + return make_uint32(in[0], in[1], in[2], in[3]); +#endif + } + +/** +* Load a little-endian uint32_t +* @param in a pointer to some bytes +* @param off an offset into the array +* @return off'th uint32_t of in, as a little-endian value +*/ +template<> +inline uint32_t load_le(const uint8_t in[], size_t off) + { + in += off * sizeof(uint32_t); +#if defined(BOTAN_ENDIAN_N2L) + uint32_t x; + typecast_copy(x, in); + return BOTAN_ENDIAN_N2L(x); +#else + return make_uint32(in[3], in[2], in[1], in[0]); +#endif + } + +/** +* Load a big-endian uint64_t +* @param in a pointer to some bytes +* @param off an offset into the array +* @return off'th uint64_t of in, as a big-endian value +*/ +template<> +inline uint64_t load_be(const uint8_t in[], size_t off) + { + in += off * sizeof(uint64_t); +#if defined(BOTAN_ENDIAN_N2B) + uint64_t x; + typecast_copy(x, in); + return BOTAN_ENDIAN_N2B(x); +#else + return make_uint64(in[0], in[1], in[2], in[3], + in[4], in[5], in[6], in[7]); +#endif + } + +/** +* Load a little-endian uint64_t +* @param in a pointer to some bytes +* @param off an offset into the array +* @return off'th uint64_t of in, as a little-endian value +*/ +template<> +inline uint64_t load_le(const uint8_t in[], size_t off) + { + in += off * sizeof(uint64_t); +#if defined(BOTAN_ENDIAN_N2L) + uint64_t x; + typecast_copy(x, in); + return BOTAN_ENDIAN_N2L(x); +#else + return make_uint64(in[7], in[6], in[5], in[4], + in[3], in[2], in[1], in[0]); +#endif + } + +/** +* Load two little-endian words +* @param in a pointer to some bytes +* @param x0 where the first word will be written +* @param x1 where the second word will be written +*/ +template +inline void load_le(const uint8_t in[], T& x0, T& x1) + { + x0 = load_le(in, 0); + x1 = load_le(in, 1); + } + +/** +* Load four little-endian words +* @param in a pointer to some bytes +* @param x0 where the first word will be written +* @param x1 where the second word will be written +* @param x2 where the third word will be written +* @param x3 where the fourth word will be written +*/ +template +inline void load_le(const uint8_t in[], + T& x0, T& x1, T& x2, T& x3) + { + x0 = load_le(in, 0); + x1 = load_le(in, 1); + x2 = load_le(in, 2); + x3 = load_le(in, 3); + } + +/** +* Load eight little-endian words +* @param in a pointer to some bytes +* @param x0 where the first word will be written +* @param x1 where the second word will be written +* @param x2 where the third word will be written +* @param x3 where the fourth word will be written +* @param x4 where the fifth word will be written +* @param x5 where the sixth word will be written +* @param x6 where the seventh word will be written +* @param x7 where the eighth word will be written +*/ +template +inline void load_le(const uint8_t in[], + T& x0, T& x1, T& x2, T& x3, + T& x4, T& x5, T& x6, T& x7) + { + x0 = load_le(in, 0); + x1 = load_le(in, 1); + x2 = load_le(in, 2); + x3 = load_le(in, 3); + x4 = load_le(in, 4); + x5 = load_le(in, 5); + x6 = load_le(in, 6); + x7 = load_le(in, 7); + } + +/** +* Load a variable number of little-endian words +* @param out the output array of words +* @param in the input array of bytes +* @param count how many words are in in +*/ +template +inline void load_le(T out[], + const uint8_t in[], + size_t count) + { + if(count > 0) + { +#if defined(BOTAN_TARGET_CPU_IS_LITTLE_ENDIAN) + typecast_copy(out, in, count); + +#elif defined(BOTAN_TARGET_CPU_IS_BIG_ENDIAN) + typecast_copy(out, in, count); + + const size_t blocks = count - (count % 4); + const size_t left = count - blocks; + + for(size_t i = 0; i != blocks; i += 4) + bswap_4(out + i); + + for(size_t i = 0; i != left; ++i) + out[blocks+i] = reverse_bytes(out[blocks+i]); +#else + for(size_t i = 0; i != count; ++i) + out[i] = load_le(in, i); +#endif + } + } + +/** +* Load two big-endian words +* @param in a pointer to some bytes +* @param x0 where the first word will be written +* @param x1 where the second word will be written +*/ +template +inline void load_be(const uint8_t in[], T& x0, T& x1) + { + x0 = load_be(in, 0); + x1 = load_be(in, 1); + } + +/** +* Load four big-endian words +* @param in a pointer to some bytes +* @param x0 where the first word will be written +* @param x1 where the second word will be written +* @param x2 where the third word will be written +* @param x3 where the fourth word will be written +*/ +template +inline void load_be(const uint8_t in[], + T& x0, T& x1, T& x2, T& x3) + { + x0 = load_be(in, 0); + x1 = load_be(in, 1); + x2 = load_be(in, 2); + x3 = load_be(in, 3); + } + +/** +* Load eight big-endian words +* @param in a pointer to some bytes +* @param x0 where the first word will be written +* @param x1 where the second word will be written +* @param x2 where the third word will be written +* @param x3 where the fourth word will be written +* @param x4 where the fifth word will be written +* @param x5 where the sixth word will be written +* @param x6 where the seventh word will be written +* @param x7 where the eighth word will be written +*/ +template +inline void load_be(const uint8_t in[], + T& x0, T& x1, T& x2, T& x3, + T& x4, T& x5, T& x6, T& x7) + { + x0 = load_be(in, 0); + x1 = load_be(in, 1); + x2 = load_be(in, 2); + x3 = load_be(in, 3); + x4 = load_be(in, 4); + x5 = load_be(in, 5); + x6 = load_be(in, 6); + x7 = load_be(in, 7); + } + +/** +* Load a variable number of big-endian words +* @param out the output array of words +* @param in the input array of bytes +* @param count how many words are in in +*/ +template +inline void load_be(T out[], + const uint8_t in[], + size_t count) + { + if(count > 0) + { +#if defined(BOTAN_TARGET_CPU_IS_BIG_ENDIAN) + typecast_copy(out, in, count); + +#elif defined(BOTAN_TARGET_CPU_IS_LITTLE_ENDIAN) + typecast_copy(out, in, count); + const size_t blocks = count - (count % 4); + const size_t left = count - blocks; + + for(size_t i = 0; i != blocks; i += 4) + bswap_4(out + i); + + for(size_t i = 0; i != left; ++i) + out[blocks+i] = reverse_bytes(out[blocks+i]); +#else + for(size_t i = 0; i != count; ++i) + out[i] = load_be(in, i); +#endif + } + } + +/** +* Store a big-endian uint16_t +* @param in the input uint16_t +* @param out the byte array to write to +*/ +inline void store_be(uint16_t in, uint8_t out[2]) + { +#if defined(BOTAN_ENDIAN_N2B) + uint16_t o = BOTAN_ENDIAN_N2B(in); + typecast_copy(out, o); +#else + out[0] = get_byte(0, in); + out[1] = get_byte(1, in); +#endif + } + +/** +* Store a little-endian uint16_t +* @param in the input uint16_t +* @param out the byte array to write to +*/ +inline void store_le(uint16_t in, uint8_t out[2]) + { +#if defined(BOTAN_ENDIAN_N2L) + uint16_t o = BOTAN_ENDIAN_N2L(in); + typecast_copy(out, o); +#else + out[0] = get_byte(1, in); + out[1] = get_byte(0, in); +#endif + } + +/** +* Store a big-endian uint32_t +* @param in the input uint32_t +* @param out the byte array to write to +*/ +inline void store_be(uint32_t in, uint8_t out[4]) + { +#if defined(BOTAN_ENDIAN_B2N) + uint32_t o = BOTAN_ENDIAN_B2N(in); + typecast_copy(out, o); +#else + out[0] = get_byte(0, in); + out[1] = get_byte(1, in); + out[2] = get_byte(2, in); + out[3] = get_byte(3, in); +#endif + } + +/** +* Store a little-endian uint32_t +* @param in the input uint32_t +* @param out the byte array to write to +*/ +inline void store_le(uint32_t in, uint8_t out[4]) + { +#if defined(BOTAN_ENDIAN_L2N) + uint32_t o = BOTAN_ENDIAN_L2N(in); + typecast_copy(out, o); +#else + out[0] = get_byte(3, in); + out[1] = get_byte(2, in); + out[2] = get_byte(1, in); + out[3] = get_byte(0, in); +#endif + } + +/** +* Store a big-endian uint64_t +* @param in the input uint64_t +* @param out the byte array to write to +*/ +inline void store_be(uint64_t in, uint8_t out[8]) + { +#if defined(BOTAN_ENDIAN_B2N) + uint64_t o = BOTAN_ENDIAN_B2N(in); + typecast_copy(out, o); +#else + out[0] = get_byte(0, in); + out[1] = get_byte(1, in); + out[2] = get_byte(2, in); + out[3] = get_byte(3, in); + out[4] = get_byte(4, in); + out[5] = get_byte(5, in); + out[6] = get_byte(6, in); + out[7] = get_byte(7, in); +#endif + } + +/** +* Store a little-endian uint64_t +* @param in the input uint64_t +* @param out the byte array to write to +*/ +inline void store_le(uint64_t in, uint8_t out[8]) + { +#if defined(BOTAN_ENDIAN_L2N) + uint64_t o = BOTAN_ENDIAN_L2N(in); + typecast_copy(out, o); +#else + out[0] = get_byte(7, in); + out[1] = get_byte(6, in); + out[2] = get_byte(5, in); + out[3] = get_byte(4, in); + out[4] = get_byte(3, in); + out[5] = get_byte(2, in); + out[6] = get_byte(1, in); + out[7] = get_byte(0, in); +#endif + } + +/** +* Store two little-endian words +* @param out the output byte array +* @param x0 the first word +* @param x1 the second word +*/ +template +inline void store_le(uint8_t out[], T x0, T x1) + { + store_le(x0, out + (0 * sizeof(T))); + store_le(x1, out + (1 * sizeof(T))); + } + +/** +* Store two big-endian words +* @param out the output byte array +* @param x0 the first word +* @param x1 the second word +*/ +template +inline void store_be(uint8_t out[], T x0, T x1) + { + store_be(x0, out + (0 * sizeof(T))); + store_be(x1, out + (1 * sizeof(T))); + } + +/** +* Store four little-endian words +* @param out the output byte array +* @param x0 the first word +* @param x1 the second word +* @param x2 the third word +* @param x3 the fourth word +*/ +template +inline void store_le(uint8_t out[], T x0, T x1, T x2, T x3) + { + store_le(x0, out + (0 * sizeof(T))); + store_le(x1, out + (1 * sizeof(T))); + store_le(x2, out + (2 * sizeof(T))); + store_le(x3, out + (3 * sizeof(T))); + } + +/** +* Store four big-endian words +* @param out the output byte array +* @param x0 the first word +* @param x1 the second word +* @param x2 the third word +* @param x3 the fourth word +*/ +template +inline void store_be(uint8_t out[], T x0, T x1, T x2, T x3) + { + store_be(x0, out + (0 * sizeof(T))); + store_be(x1, out + (1 * sizeof(T))); + store_be(x2, out + (2 * sizeof(T))); + store_be(x3, out + (3 * sizeof(T))); + } + +/** +* Store eight little-endian words +* @param out the output byte array +* @param x0 the first word +* @param x1 the second word +* @param x2 the third word +* @param x3 the fourth word +* @param x4 the fifth word +* @param x5 the sixth word +* @param x6 the seventh word +* @param x7 the eighth word +*/ +template +inline void store_le(uint8_t out[], T x0, T x1, T x2, T x3, + T x4, T x5, T x6, T x7) + { + store_le(x0, out + (0 * sizeof(T))); + store_le(x1, out + (1 * sizeof(T))); + store_le(x2, out + (2 * sizeof(T))); + store_le(x3, out + (3 * sizeof(T))); + store_le(x4, out + (4 * sizeof(T))); + store_le(x5, out + (5 * sizeof(T))); + store_le(x6, out + (6 * sizeof(T))); + store_le(x7, out + (7 * sizeof(T))); + } + +/** +* Store eight big-endian words +* @param out the output byte array +* @param x0 the first word +* @param x1 the second word +* @param x2 the third word +* @param x3 the fourth word +* @param x4 the fifth word +* @param x5 the sixth word +* @param x6 the seventh word +* @param x7 the eighth word +*/ +template +inline void store_be(uint8_t out[], T x0, T x1, T x2, T x3, + T x4, T x5, T x6, T x7) + { + store_be(x0, out + (0 * sizeof(T))); + store_be(x1, out + (1 * sizeof(T))); + store_be(x2, out + (2 * sizeof(T))); + store_be(x3, out + (3 * sizeof(T))); + store_be(x4, out + (4 * sizeof(T))); + store_be(x5, out + (5 * sizeof(T))); + store_be(x6, out + (6 * sizeof(T))); + store_be(x7, out + (7 * sizeof(T))); + } + +template +void copy_out_be(uint8_t out[], size_t out_bytes, const T in[]) + { + while(out_bytes >= sizeof(T)) + { + store_be(in[0], out); + out += sizeof(T); + out_bytes -= sizeof(T); + in += 1; + } + + for(size_t i = 0; i != out_bytes; ++i) + out[i] = get_byte(i%8, in[0]); + } + +template +void copy_out_vec_be(uint8_t out[], size_t out_bytes, const std::vector& in) + { + copy_out_be(out, out_bytes, in.data()); + } + +template +void copy_out_le(uint8_t out[], size_t out_bytes, const T in[]) + { + while(out_bytes >= sizeof(T)) + { + store_le(in[0], out); + out += sizeof(T); + out_bytes -= sizeof(T); + in += 1; + } + + for(size_t i = 0; i != out_bytes; ++i) + out[i] = get_byte(sizeof(T) - 1 - (i % 8), in[0]); + } + +template +void copy_out_vec_le(uint8_t out[], size_t out_bytes, const std::vector& in) + { + copy_out_le(out, out_bytes, in.data()); + } + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/locking_allocator.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/locking_allocator.h new file mode 100644 index 00000000..8d1d2498 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/locking_allocator.h @@ -0,0 +1,45 @@ +/* +* Mlock Allocator +* (C) 2012 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_MLOCK_ALLOCATOR_H_ +#define BOTAN_MLOCK_ALLOCATOR_H_ + +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(locking_allocator.h) + +namespace Botan { + +class Memory_Pool; + +class BOTAN_PUBLIC_API(2,0) mlock_allocator final + { + public: + static mlock_allocator& instance(); + + void* allocate(size_t num_elems, size_t elem_size); + + bool deallocate(void* p, size_t num_elems, size_t elem_size) noexcept; + + mlock_allocator(const mlock_allocator&) = delete; + + mlock_allocator& operator=(const mlock_allocator&) = delete; + + private: + mlock_allocator(); + + ~mlock_allocator(); + + std::unique_ptr m_pool; + std::vector m_locked_pages; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/lookup.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/lookup.h new file mode 100644 index 00000000..4a14230d --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/lookup.h @@ -0,0 +1,179 @@ +/* +* Algorithm Lookup +* (C) 1999-2007,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_LOOKUP_H_ +#define BOTAN_LOOKUP_H_ + +#include +#include +#include +#include +#include + +#if defined(BOTAN_HAS_BLOCK_CIPHER) + #include +#endif + +#if defined(BOTAN_HAS_STREAM_CIPHER) + #include +#endif + +#if defined(BOTAN_HAS_HASH) + #include +#endif + +#if defined(BOTAN_HAS_MAC) + #include +#endif + +namespace Botan { + +BOTAN_DEPRECATED_HEADER(lookup.h) + +/* +* As of 1.11.26 this header is deprecated. Instead use the calls T::create and +* T::providers (as demonstrated in the implementation below). +*/ + +/* +* Get an algorithm object +* NOTE: these functions create and return new objects, letting the +* caller assume ownership of them +*/ + +#if defined(BOTAN_HAS_BLOCK_CIPHER) + +/** +* Block cipher factory method. +* +* @param algo_spec the name of the desired block cipher +* @param provider the provider to use +* @return pointer to the block cipher object +*/ +BOTAN_DEPRECATED("Use BlockCipher::create") +inline BlockCipher* get_block_cipher(const std::string& algo_spec, + const std::string& provider = "") + { + return BlockCipher::create(algo_spec, provider).release(); + } + +BOTAN_DEPRECATED("Use BlockCipher::create_or_throw") +inline std::unique_ptr make_block_cipher(const std::string& algo_spec, + const std::string& provider = "") + { + return BlockCipher::create_or_throw(algo_spec, provider); + } + +BOTAN_DEPRECATED("Use BlockCipher::providers") +inline std::vector get_block_cipher_providers(const std::string& algo_spec) + { + return BlockCipher::providers(algo_spec); + } + +#endif + +#if defined(BOTAN_HAS_STREAM_CIPHER) + +/** +* Stream cipher factory method. +* +* @param algo_spec the name of the desired stream cipher +* @param provider the provider to use +* @return pointer to the stream cipher object +*/ +BOTAN_DEPRECATED("Use StreamCipher::create") +inline StreamCipher* get_stream_cipher(const std::string& algo_spec, + const std::string& provider = "") + { + return StreamCipher::create(algo_spec, provider).release(); + } + +BOTAN_DEPRECATED("Use StreamCipher::create_or_throw") +inline std::unique_ptr make_stream_cipher(const std::string& algo_spec, + const std::string& provider = "") + { + return StreamCipher::create_or_throw(algo_spec, provider); + } + +BOTAN_DEPRECATED("Use StreamCipher::providers") +inline std::vector get_stream_cipher_providers(const std::string& algo_spec) + { + return StreamCipher::providers(algo_spec); + } + +#endif + +#if defined(BOTAN_HAS_HASH) + +/** +* Hash function factory method. +* +* @param algo_spec the name of the desired hash function +* @param provider the provider to use +* @return pointer to the hash function object +*/ +BOTAN_DEPRECATED("Use HashFunction::create") +inline HashFunction* get_hash_function(const std::string& algo_spec, + const std::string& provider = "") + { + return HashFunction::create(algo_spec, provider).release(); + } + +BOTAN_DEPRECATED("Use HashFunction::create_or_throw") +inline std::unique_ptr make_hash_function(const std::string& algo_spec, + const std::string& provider = "") + { + return HashFunction::create_or_throw(algo_spec, provider); + } + +BOTAN_DEPRECATED("Use HashFunction::create") +inline HashFunction* get_hash(const std::string& algo_spec, + const std::string& provider = "") + { + return HashFunction::create(algo_spec, provider).release(); + } + +BOTAN_DEPRECATED("Use HashFunction::providers") +inline std::vector get_hash_function_providers(const std::string& algo_spec) + { + return HashFunction::providers(algo_spec); + } + +#endif + +#if defined(BOTAN_HAS_MAC) +/** +* MAC factory method. +* +* @param algo_spec the name of the desired MAC +* @param provider the provider to use +* @return pointer to the MAC object +*/ +BOTAN_DEPRECATED("MessageAuthenticationCode::create") +inline MessageAuthenticationCode* get_mac(const std::string& algo_spec, + const std::string& provider = "") + { + return MessageAuthenticationCode::create(algo_spec, provider).release(); + } + +BOTAN_DEPRECATED("MessageAuthenticationCode::create_or_throw") +inline std::unique_ptr make_message_auth(const std::string& algo_spec, + const std::string& provider = "") + { + return MessageAuthenticationCode::create(algo_spec, provider); + } + +BOTAN_DEPRECATED("MessageAuthenticationCode::providers") +inline std::vector get_mac_providers(const std::string& algo_spec) + { + return MessageAuthenticationCode::providers(algo_spec); + } +#endif + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mac.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mac.h new file mode 100644 index 00000000..de30b7db --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mac.h @@ -0,0 +1,143 @@ +/* +* Base class for message authentiction codes +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_MESSAGE_AUTH_CODE_BASE_H_ +#define BOTAN_MESSAGE_AUTH_CODE_BASE_H_ + +#include +#include +#include +#include + +namespace Botan { + +/** +* This class represents Message Authentication Code (MAC) objects. +*/ +class BOTAN_PUBLIC_API(2,0) MessageAuthenticationCode : public Buffered_Computation, + public SymmetricAlgorithm + { + public: + /** + * Create an instance based on a name + * If provider is empty then best available is chosen. + * @param algo_spec algorithm name + * @param provider provider implementation to use + * @return a null pointer if the algo/provider combination cannot be found + */ + static std::unique_ptr + create(const std::string& algo_spec, + const std::string& provider = ""); + + /* + * Create an instance based on a name + * If provider is empty then best available is chosen. + * @param algo_spec algorithm name + * @param provider provider implementation to use + * Throws a Lookup_Error if algo/provider combination cannot be found + */ + static std::unique_ptr + create_or_throw(const std::string& algo_spec, + const std::string& provider = ""); + + /** + * @return list of available providers for this algorithm, empty if not available + */ + static std::vector providers(const std::string& algo_spec); + + virtual ~MessageAuthenticationCode() = default; + + /** + * Prepare for processing a message under the specified nonce + * + * Most MACs neither require nor support a nonce; for these algorithms + * calling `start_msg` is optional and calling it with anything other than + * an empty string is an error. One MAC which *requires* a per-message + * nonce be specified is GMAC. + * + * @param nonce the message nonce bytes + * @param nonce_len the size of len in bytes + * Default implementation simply rejects all non-empty nonces + * since most hash/MAC algorithms do not support randomization + */ + virtual void start_msg(const uint8_t nonce[], size_t nonce_len); + + /** + * Begin processing a message with a nonce + * + * @param nonce the per message nonce + */ + template + void start(const std::vector& nonce) + { + start_msg(nonce.data(), nonce.size()); + } + + /** + * Begin processing a message. + * @param nonce the per message nonce + * @param nonce_len length of nonce + */ + void start(const uint8_t nonce[], size_t nonce_len) + { + start_msg(nonce, nonce_len); + } + + /** + * Begin processing a message. + */ + void start() + { + return start_msg(nullptr, 0); + } + + /** + * Verify a MAC. + * @param in the MAC to verify as a byte array + * @param length the length of param in + * @return true if the MAC is valid, false otherwise + */ + virtual bool verify_mac(const uint8_t in[], size_t length); + + /** + * Verify a MAC. + * @param in the MAC to verify as a byte array + * @return true if the MAC is valid, false otherwise + */ + virtual bool verify_mac(const std::vector& in) + { + return verify_mac(in.data(), in.size()); + } + + /** + * Verify a MAC. + * @param in the MAC to verify as a byte array + * @return true if the MAC is valid, false otherwise + */ + virtual bool verify_mac(const secure_vector& in) + { + return verify_mac(in.data(), in.size()); + } + + /** + * Get a new object representing the same algorithm as *this + */ + virtual MessageAuthenticationCode* clone() const = 0; + + /** + * @return provider information about this implementation. Default is "base", + * might also return "sse2", "avx2", "openssl", or some other arbitrary string. + */ + virtual std::string provider() const { return "base"; } + + }; + +typedef MessageAuthenticationCode MAC; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mceies.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mceies.h new file mode 100644 index 00000000..c9b3f7ef --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mceies.h @@ -0,0 +1,46 @@ +/* +* McEliece Integrated Encryption System +* (C) 2014,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_MCEIES_H_ +#define BOTAN_MCEIES_H_ + +#include +#include + +namespace Botan { + +class RandomNumberGenerator; +class McEliece_PublicKey; +class McEliece_PrivateKey; + +/** +* McEliece Integrated Encryption System +* Derive a shared key using MCE KEM and encrypt/authenticate the +* plaintext and AD using AES-256 in OCB mode. +*/ +secure_vector +BOTAN_PUBLIC_API(2,0) mceies_encrypt(const McEliece_PublicKey& pubkey, + const uint8_t pt[], size_t pt_len, + const uint8_t ad[], size_t ad_len, + RandomNumberGenerator& rng, + const std::string& aead = "AES-256/OCB"); + +/** +* McEliece Integrated Encryption System +* Derive a shared key using MCE KEM and decrypt/authenticate the +* ciphertext and AD using AES-256 in OCB mode. +*/ +secure_vector +BOTAN_PUBLIC_API(2,0) mceies_decrypt(const McEliece_PrivateKey& privkey, + const uint8_t ct[], size_t ct_len, + const uint8_t ad[], size_t ad_len, + const std::string& aead = "AES-256/OCB"); + + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mceliece.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mceliece.h new file mode 100644 index 00000000..ba044ef7 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mceliece.h @@ -0,0 +1,141 @@ +/* + * (C) Copyright Projet SECRET, INRIA, Rocquencourt + * (C) Bhaskar Biswas and Nicolas Sendrier + * + * (C) 2014 cryptosource GmbH + * (C) 2014 Falko Strenzke fstrenzke@cryptosource.de + * + * Botan is released under the Simplified BSD License (see license.txt) + * + */ + +#ifndef BOTAN_MCELIECE_KEY_H_ +#define BOTAN_MCELIECE_KEY_H_ + +#include +#include + +namespace Botan { + +typedef uint16_t gf2m; + +class polyn_gf2m; + +class BOTAN_PUBLIC_API(2,0) McEliece_PublicKey : public virtual Public_Key + { + public: + explicit McEliece_PublicKey(const std::vector& key_bits); + + McEliece_PublicKey(const std::vector& pub_matrix, size_t t, size_t the_code_length) : + m_public_matrix(pub_matrix), + m_t(t), + m_code_length(the_code_length){} + + McEliece_PublicKey(const McEliece_PublicKey& other) = default; + McEliece_PublicKey& operator=(const McEliece_PublicKey& other) = default; + virtual ~McEliece_PublicKey()= default; + + secure_vector random_plaintext_element(RandomNumberGenerator& rng) const; + + std::string algo_name() const override { return "McEliece"; } + + AlgorithmIdentifier algorithm_identifier() const override; + + size_t key_length() const override; + size_t estimated_strength() const override; + + std::vector public_key_bits() const override; + + bool check_key(RandomNumberGenerator&, bool) const override + { return true; } + + size_t get_t() const { return m_t; } + size_t get_code_length() const { return m_code_length; } + size_t get_message_word_bit_length() const; + const std::vector& get_public_matrix() const { return m_public_matrix; } + + bool operator==(const McEliece_PublicKey& other) const; + bool operator!=(const McEliece_PublicKey& other) const { return !(*this == other); } + + std::unique_ptr + create_kem_encryption_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + + protected: + McEliece_PublicKey() : m_t(0), m_code_length(0) {} + + std::vector m_public_matrix; + size_t m_t; + size_t m_code_length; + }; + +class BOTAN_PUBLIC_API(2,0) McEliece_PrivateKey final : public virtual McEliece_PublicKey, + public virtual Private_Key + { + public: + + /** + Generate a McEliece key pair + + Suggested parameters for a given security level (SL) + + SL=80 n=1632 t=33 - 59 KB pubkey 140 KB privkey + SL=107 n=2480 t=45 - 128 KB pubkey 300 KB privkey + SL=128 n=2960 t=57 - 195 KB pubkey 459 KB privkey + SL=147 n=3408 t=67 - 265 KB pubkey 622 KB privkey + SL=191 n=4624 t=95 - 516 KB pubkey 1234 KB privkey + SL=256 n=6624 t=115 - 942 KB pubkey 2184 KB privkey + */ + McEliece_PrivateKey(RandomNumberGenerator& rng, size_t code_length, size_t t); + + explicit McEliece_PrivateKey(const secure_vector& key_bits); + + McEliece_PrivateKey(polyn_gf2m const& goppa_polyn, + std::vector const& parity_check_matrix_coeffs, + std::vector const& square_root_matrix, + std::vector const& inverse_support, + std::vector const& public_matrix ); + + ~McEliece_PrivateKey(); + + bool check_key(RandomNumberGenerator& rng, bool strong) const override; + + polyn_gf2m const& get_goppa_polyn() const; + std::vector const& get_H_coeffs() const { return m_coeffs; } + std::vector const& get_Linv() const { return m_Linv; } + std::vector const& get_sqrtmod() const { return m_sqrtmod; } + + inline size_t get_dimension() const { return m_dimension; } + + inline size_t get_codimension() const { return m_codimension; } + + secure_vector private_key_bits() const override; + + bool operator==(const McEliece_PrivateKey & other) const; + + bool operator!=(const McEliece_PrivateKey& other) const { return !(*this == other); } + + std::unique_ptr + create_kem_decryption_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + private: + std::vector m_g; // single element + std::vector m_sqrtmod; + std::vector m_Linv; + std::vector m_coeffs; + + size_t m_codimension; + size_t m_dimension; + }; + +/** +* Estimate work factor for McEliece +* @return estimated security level for these key parameters +*/ +BOTAN_PUBLIC_API(2,0) size_t mceliece_work_factor(size_t code_size, size_t t); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/md4.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/md4.h new file mode 100644 index 00000000..0e6f5dc0 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/md4.h @@ -0,0 +1,45 @@ +/* +* MD4 +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_MD4_H_ +#define BOTAN_MD4_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(md4.h) + +namespace Botan { + +/** +* MD4 +*/ +class BOTAN_PUBLIC_API(2,0) MD4 final : public MDx_HashFunction + { + public: + std::string name() const override { return "MD4"; } + size_t output_length() const override { return 16; } + HashFunction* clone() const override { return new MD4; } + std::unique_ptr copy_state() const override; + + void clear() override; + + MD4() : MDx_HashFunction(64, false, true), m_digest(4) + { clear(); } + + private: + void compress_n(const uint8_t input[], size_t blocks) override; + void copy_out(uint8_t[]) override; + + /** + * The digest value + */ + secure_vector m_digest; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/md5.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/md5.h new file mode 100644 index 00000000..18214552 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/md5.h @@ -0,0 +1,50 @@ +/* +* MD5 +* (C) 1999-2008 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_MD5_H_ +#define BOTAN_MD5_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(md5.h) + +namespace Botan { + +/** +* MD5 +*/ +class BOTAN_PUBLIC_API(2,0) MD5 final : public MDx_HashFunction + { + public: + std::string name() const override { return "MD5"; } + size_t output_length() const override { return 16; } + HashFunction* clone() const override { return new MD5; } + std::unique_ptr copy_state() const override; + + void clear() override; + + MD5() : MDx_HashFunction(64, false, true), m_M(16), m_digest(4) + { clear(); } + + private: + void compress_n(const uint8_t[], size_t blocks) override; + void copy_out(uint8_t[]) override; + + /** + * The message buffer + */ + secure_vector m_M; + + /** + * The digest value + */ + secure_vector m_digest; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mdx_hash.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mdx_hash.h new file mode 100644 index 00000000..a061e9c8 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mdx_hash.h @@ -0,0 +1,73 @@ +/* +* MDx Hash Function +* (C) 1999-2008 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_MDX_BASE_H_ +#define BOTAN_MDX_BASE_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(mdx_hash.h) + +namespace Botan { + +/** +* MDx Hash Function Base Class +*/ +class BOTAN_PUBLIC_API(2,0) MDx_HashFunction : public HashFunction + { + public: + /** + * @param block_length is the number of bytes per block, which must + * be a power of 2 and at least 8. + * @param big_byte_endian specifies if the hash uses big-endian bytes + * @param big_bit_endian specifies if the hash uses big-endian bits + * @param counter_size specifies the size of the counter var in bytes + */ + MDx_HashFunction(size_t block_length, + bool big_byte_endian, + bool big_bit_endian, + uint8_t counter_size = 8); + + size_t hash_block_size() const override final { return m_buffer.size(); } + protected: + void add_data(const uint8_t input[], size_t length) override final; + void final_result(uint8_t output[]) override final; + + /** + * Run the hash's compression function over a set of blocks + * @param blocks the input + * @param block_n the number of blocks + */ + virtual void compress_n(const uint8_t blocks[], size_t block_n) = 0; + + void clear() override; + + /** + * Copy the output to the buffer + * @param buffer to put the output into + */ + virtual void copy_out(uint8_t buffer[]) = 0; + + /** + * Write the count, if used, to this spot + * @param out where to write the counter to + */ + virtual void write_count(uint8_t out[]); + private: + const uint8_t m_pad_char; + const uint8_t m_counter_size; + const uint8_t m_block_bits; + const bool m_count_big_endian; + + uint64_t m_count; + secure_vector m_buffer; + size_t m_position; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mem_ops.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mem_ops.h new file mode 100644 index 00000000..deb4c01f --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mem_ops.h @@ -0,0 +1,365 @@ +/* +* Memory Operations +* (C) 1999-2009,2012,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_MEMORY_OPS_H_ +#define BOTAN_MEMORY_OPS_H_ + +#include +#include +#include +#include + +namespace Botan { + +/** +* Allocate a memory buffer by some method. This should only be used for +* primitive types (uint8_t, uint32_t, etc). +* +* @param elems the number of elements +* @param elem_size the size of each element +* @return pointer to allocated and zeroed memory, or throw std::bad_alloc on failure +*/ +BOTAN_PUBLIC_API(2,3) BOTAN_MALLOC_FN void* allocate_memory(size_t elems, size_t elem_size); + +/** +* Free a pointer returned by allocate_memory +* @param p the pointer returned by allocate_memory +* @param elems the number of elements, as passed to allocate_memory +* @param elem_size the size of each element, as passed to allocate_memory +*/ +BOTAN_PUBLIC_API(2,3) void deallocate_memory(void* p, size_t elems, size_t elem_size); + +/** +* Ensure the allocator is initialized +*/ +void BOTAN_UNSTABLE_API initialize_allocator(); + +class Allocator_Initializer + { + public: + Allocator_Initializer() { initialize_allocator(); } + }; + +/** +* Scrub memory contents in a way that a compiler should not elide, +* using some system specific technique. Note that this function might +* not zero the memory (for example, in some hypothetical +* implementation it might combine the memory contents with the output +* of a system PRNG), but if you can detect any difference in behavior +* at runtime then the clearing is side-effecting and you can just +* use `clear_mem`. +* +* Use this function to scrub memory just before deallocating it, or on +* a stack buffer before returning from the function. +* +* @param ptr a pointer to memory to scrub +* @param n the number of bytes pointed to by ptr +*/ +BOTAN_PUBLIC_API(2,0) void secure_scrub_memory(void* ptr, size_t n); + +/** +* Memory comparison, input insensitive +* @param x a pointer to an array +* @param y a pointer to another array +* @param len the number of Ts in x and y +* @return 0xFF iff x[i] == y[i] forall i in [0...n) or 0x00 otherwise +*/ +BOTAN_PUBLIC_API(2,9) uint8_t ct_compare_u8(const uint8_t x[], + const uint8_t y[], + size_t len); + +/** +* Memory comparison, input insensitive +* @param x a pointer to an array +* @param y a pointer to another array +* @param len the number of Ts in x and y +* @return true iff x[i] == y[i] forall i in [0...n) +*/ +inline bool constant_time_compare(const uint8_t x[], + const uint8_t y[], + size_t len) + { + return ct_compare_u8(x, y, len) == 0xFF; + } + +/** +* Zero out some bytes. Warning: use secure_scrub_memory instead if the +* memory is about to be freed or otherwise the compiler thinks it can +* elide the writes. +* +* @param ptr a pointer to memory to zero +* @param bytes the number of bytes to zero in ptr +*/ +inline void clear_bytes(void* ptr, size_t bytes) + { + if(bytes > 0) + { + std::memset(ptr, 0, bytes); + } + } + +/** +* Zero memory before use. This simply calls memset and should not be +* used in cases where the compiler cannot see the call as a +* side-effecting operation (for example, if calling clear_mem before +* deallocating memory, the compiler would be allowed to omit the call +* to memset entirely under the as-if rule.) +* +* @param ptr a pointer to an array of Ts to zero +* @param n the number of Ts pointed to by ptr +*/ +template inline void clear_mem(T* ptr, size_t n) + { + clear_bytes(ptr, sizeof(T)*n); + } + +// is_trivially_copyable is missing in g++ < 5.0 +#if (BOTAN_GCC_VERSION > 0 && BOTAN_GCC_VERSION < 500) +#define BOTAN_IS_TRIVIALLY_COPYABLE(T) true +#else +#define BOTAN_IS_TRIVIALLY_COPYABLE(T) std::is_trivially_copyable::value +#endif + +/** +* Copy memory +* @param out the destination array +* @param in the source array +* @param n the number of elements of in/out +*/ +template inline void copy_mem(T* out, const T* in, size_t n) + { + static_assert(std::is_trivial::type>::value, ""); + BOTAN_ASSERT_IMPLICATION(n > 0, in != nullptr && out != nullptr, + "If n > 0 then args are not null"); + + if(in != nullptr && out != nullptr && n > 0) + { + std::memmove(out, in, sizeof(T)*n); + } + } + +template inline void typecast_copy(uint8_t out[], T in[], size_t N) + { + static_assert(BOTAN_IS_TRIVIALLY_COPYABLE(T), ""); + std::memcpy(out, in, sizeof(T)*N); + } + +template inline void typecast_copy(T out[], const uint8_t in[], size_t N) + { + static_assert(std::is_trivial::value, ""); + std::memcpy(out, in, sizeof(T)*N); + } + +template inline void typecast_copy(uint8_t out[], T in) + { + typecast_copy(out, &in, 1); + } + +template inline void typecast_copy(T& out, const uint8_t in[]) + { + static_assert(std::is_trivial::type>::value, ""); + typecast_copy(&out, in, 1); + } + +template inline To typecast_copy(const From *src) noexcept + { + static_assert(BOTAN_IS_TRIVIALLY_COPYABLE(From) && std::is_trivial::value, ""); + To dst; + std::memcpy(&dst, src, sizeof(To)); + return dst; + } + +/** +* Set memory to a fixed value +* @param ptr a pointer to an array of bytes +* @param n the number of Ts pointed to by ptr +* @param val the value to set each byte to +*/ +inline void set_mem(uint8_t* ptr, size_t n, uint8_t val) + { + if(n > 0) + { + std::memset(ptr, val, n); + } + } + +inline const uint8_t* cast_char_ptr_to_uint8(const char* s) + { + return reinterpret_cast(s); + } + +inline const char* cast_uint8_ptr_to_char(const uint8_t* b) + { + return reinterpret_cast(b); + } + +inline uint8_t* cast_char_ptr_to_uint8(char* s) + { + return reinterpret_cast(s); + } + +inline char* cast_uint8_ptr_to_char(uint8_t* b) + { + return reinterpret_cast(b); + } + +/** +* Memory comparison, input insensitive +* @param p1 a pointer to an array +* @param p2 a pointer to another array +* @param n the number of Ts in p1 and p2 +* @return true iff p1[i] == p2[i] forall i in [0...n) +*/ +template inline bool same_mem(const T* p1, const T* p2, size_t n) + { + volatile T difference = 0; + + for(size_t i = 0; i != n; ++i) + difference |= (p1[i] ^ p2[i]); + + return difference == 0; + } + +template +size_t buffer_insert(std::vector& buf, + size_t buf_offset, + const T input[], + size_t input_length) + { + BOTAN_ASSERT_NOMSG(buf_offset <= buf.size()); + const size_t to_copy = std::min(input_length, buf.size() - buf_offset); + if(to_copy > 0) + { + copy_mem(&buf[buf_offset], input, to_copy); + } + return to_copy; + } + +template +size_t buffer_insert(std::vector& buf, + size_t buf_offset, + const std::vector& input) + { + BOTAN_ASSERT_NOMSG(buf_offset <= buf.size()); + const size_t to_copy = std::min(input.size(), buf.size() - buf_offset); + if(to_copy > 0) + { + copy_mem(&buf[buf_offset], input.data(), to_copy); + } + return to_copy; + } + +/** +* XOR arrays. Postcondition out[i] = in[i] ^ out[i] forall i = 0...length +* @param out the input/output buffer +* @param in the read-only input buffer +* @param length the length of the buffers +*/ +inline void xor_buf(uint8_t out[], + const uint8_t in[], + size_t length) + { + const size_t blocks = length - (length % 32); + + for(size_t i = 0; i != blocks; i += 32) + { + uint64_t x[4]; + uint64_t y[4]; + + typecast_copy(x, out + i, 4); + typecast_copy(y, in + i, 4); + + x[0] ^= y[0]; + x[1] ^= y[1]; + x[2] ^= y[2]; + x[3] ^= y[3]; + + typecast_copy(out + i, x, 4); + } + + for(size_t i = blocks; i != length; ++i) + { + out[i] ^= in[i]; + } + } + +/** +* XOR arrays. Postcondition out[i] = in[i] ^ in2[i] forall i = 0...length +* @param out the output buffer +* @param in the first input buffer +* @param in2 the second output buffer +* @param length the length of the three buffers +*/ +inline void xor_buf(uint8_t out[], + const uint8_t in[], + const uint8_t in2[], + size_t length) + { + const size_t blocks = length - (length % 32); + + for(size_t i = 0; i != blocks; i += 32) + { + uint64_t x[4]; + uint64_t y[4]; + + typecast_copy(x, in + i, 4); + typecast_copy(y, in2 + i, 4); + + x[0] ^= y[0]; + x[1] ^= y[1]; + x[2] ^= y[2]; + x[3] ^= y[3]; + + typecast_copy(out + i, x, 4); + } + + for(size_t i = blocks; i != length; ++i) + { + out[i] = in[i] ^ in2[i]; + } + } + +template +void xor_buf(std::vector& out, + const std::vector& in, + size_t n) + { + xor_buf(out.data(), in.data(), n); + } + +template +void xor_buf(std::vector& out, + const uint8_t* in, + size_t n) + { + xor_buf(out.data(), in, n); + } + +template +void xor_buf(std::vector& out, + const uint8_t* in, + const std::vector& in2, + size_t n) + { + xor_buf(out.data(), in, in2.data(), n); + } + +template +std::vector& +operator^=(std::vector& out, + const std::vector& in) + { + if(out.size() < in.size()) + out.resize(in.size()); + + xor_buf(out.data(), in.data(), in.size()); + return out; + } + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mgf1.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mgf1.h new file mode 100644 index 00000000..9eb652a8 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mgf1.h @@ -0,0 +1,31 @@ +/* +* MGF1 +* (C) 1999-2007,2014 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_MGF1_H_ +#define BOTAN_MGF1_H_ + +#include + +namespace Botan { + +class HashFunction; + +/** +* MGF1 from PKCS #1 v2.0 +* @param hash hash function to use +* @param in input buffer +* @param in_len size of the input buffer in bytes +* @param out output buffer +* @param out_len size of the output buffer in bytes +*/ +void BOTAN_PUBLIC_API(2,0) mgf1_mask(HashFunction& hash, + const uint8_t in[], size_t in_len, + uint8_t out[], size_t out_len); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/misty1.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/misty1.h new file mode 100644 index 00000000..b6c4abbd --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/misty1.h @@ -0,0 +1,37 @@ +/* +* MISTY1 +* (C) 1999-2008 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_MISTY1_H_ +#define BOTAN_MISTY1_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(misty1.h) + +namespace Botan { + +/** +* MISTY1 with 8 rounds +*/ +class BOTAN_PUBLIC_API(2,0) MISTY1 final : public Block_Cipher_Fixed_Params<8, 16> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "MISTY1"; } + BlockCipher* clone() const override { return new MISTY1; } + private: + void key_schedule(const uint8_t[], size_t) override; + + secure_vector m_EK, m_DK; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mode_pad.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mode_pad.h new file mode 100644 index 00000000..b0e4a3cf --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mode_pad.h @@ -0,0 +1,160 @@ +/* +* CBC Padding Methods +* (C) 1999-2008,2013 Jack Lloyd +* (C) 2016 René Korthaus, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_MODE_PADDING_H_ +#define BOTAN_MODE_PADDING_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(mode_pad.h) + +namespace Botan { + +/** +* Block Cipher Mode Padding Method +* This class is pretty limited, it cannot deal well with +* randomized padding methods, or any padding method that +* wants to add more than one block. For instance, it should +* be possible to define cipher text stealing mode as simply +* a padding mode for CBC, which happens to consume the last +* two block (and requires use of the block cipher). +*/ +class BOTAN_PUBLIC_API(2,0) BlockCipherModePaddingMethod + { + public: + /** + * Add padding bytes to buffer. + * @param buffer data to pad + * @param final_block_bytes size of the final block in bytes + * @param block_size size of each block in bytes + */ + virtual void add_padding(secure_vector& buffer, + size_t final_block_bytes, + size_t block_size) const = 0; + + /** + * Remove padding bytes from block + * @param block the last block + * @param len the size of the block in bytes + * @return number of data bytes, or if the padding is invalid returns len + */ + virtual size_t unpad(const uint8_t block[], size_t len) const = 0; + + /** + * @param block_size of the cipher + * @return valid block size for this padding mode + */ + virtual bool valid_blocksize(size_t block_size) const = 0; + + /** + * @return name of the mode + */ + virtual std::string name() const = 0; + + /** + * virtual destructor + */ + virtual ~BlockCipherModePaddingMethod() = default; + }; + +/** +* PKCS#7 Padding +*/ +class BOTAN_PUBLIC_API(2,0) PKCS7_Padding final : public BlockCipherModePaddingMethod + { + public: + void add_padding(secure_vector& buffer, + size_t final_block_bytes, + size_t block_size) const override; + + size_t unpad(const uint8_t[], size_t) const override; + + bool valid_blocksize(size_t bs) const override { return (bs > 2 && bs < 256); } + + std::string name() const override { return "PKCS7"; } + }; + +/** +* ANSI X9.23 Padding +*/ +class BOTAN_PUBLIC_API(2,0) ANSI_X923_Padding final : public BlockCipherModePaddingMethod + { + public: + void add_padding(secure_vector& buffer, + size_t final_block_bytes, + size_t block_size) const override; + + size_t unpad(const uint8_t[], size_t) const override; + + bool valid_blocksize(size_t bs) const override { return (bs > 2 && bs < 256); } + + std::string name() const override { return "X9.23"; } + }; + +/** +* One And Zeros Padding (ISO/IEC 9797-1, padding method 2) +*/ +class BOTAN_PUBLIC_API(2,0) OneAndZeros_Padding final : public BlockCipherModePaddingMethod + { + public: + void add_padding(secure_vector& buffer, + size_t final_block_bytes, + size_t block_size) const override; + + size_t unpad(const uint8_t[], size_t) const override; + + bool valid_blocksize(size_t bs) const override { return (bs > 2); } + + std::string name() const override { return "OneAndZeros"; } + }; + +/** +* ESP Padding (RFC 4304) +*/ +class BOTAN_PUBLIC_API(2,0) ESP_Padding final : public BlockCipherModePaddingMethod + { + public: + void add_padding(secure_vector& buffer, + size_t final_block_bytes, + size_t block_size) const override; + + size_t unpad(const uint8_t[], size_t) const override; + + bool valid_blocksize(size_t bs) const override { return (bs > 2 && bs < 256); } + + std::string name() const override { return "ESP"; } + }; + +/** +* Null Padding +*/ +class BOTAN_PUBLIC_API(2,0) Null_Padding final : public BlockCipherModePaddingMethod + { + public: + void add_padding(secure_vector&, size_t, size_t) const override + { + /* no padding */ + } + + size_t unpad(const uint8_t[], size_t size) const override { return size; } + + bool valid_blocksize(size_t) const override { return true; } + + std::string name() const override { return "NoPadding"; } + }; + +/** +* Get a block cipher padding mode by name (eg "NoPadding" or "PKCS7") +* @param algo_spec block cipher padding mode name +*/ +BOTAN_PUBLIC_API(2,0) BlockCipherModePaddingMethod* get_bc_pad(const std::string& algo_spec); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/monty.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/monty.h new file mode 100644 index 00000000..8e0cd342 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/monty.h @@ -0,0 +1,191 @@ +/* +* (C) 2018 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_MONTY_INT_H_ +#define BOTAN_MONTY_INT_H_ + +#include +BOTAN_FUTURE_INTERNAL_HEADER(monty.h) + +namespace Botan { + +class Modular_Reducer; + +class Montgomery_Params; + +/** +* The Montgomery representation of an integer +*/ +class BOTAN_UNSTABLE_API Montgomery_Int final + { + public: + /** + * Create a zero-initialized Montgomery_Int + */ + Montgomery_Int(std::shared_ptr params) : m_params(params) {} + + /** + * Create a Montgomery_Int + */ + Montgomery_Int(std::shared_ptr params, + const BigInt& v, + bool redc_needed = true); + + /** + * Create a Montgomery_Int + */ + Montgomery_Int(std::shared_ptr params, + const uint8_t bits[], size_t len, + bool redc_needed = true); + + /** + * Create a Montgomery_Int + */ + Montgomery_Int(std::shared_ptr params, + const word words[], size_t len, + bool redc_needed = true); + + bool operator==(const Montgomery_Int& other) const; + bool operator!=(const Montgomery_Int& other) const { return (m_v != other.m_v); } + + std::vector serialize() const; + + size_t size() const; + bool is_one() const; + bool is_zero() const; + + void fix_size(); + + /** + * Return the value to normal mod-p space + */ + BigInt value() const; + + /** + * Return the Montgomery representation + */ + const BigInt& repr() const { return m_v; } + + Montgomery_Int operator+(const Montgomery_Int& other) const; + + Montgomery_Int operator-(const Montgomery_Int& other) const; + + Montgomery_Int& operator+=(const Montgomery_Int& other); + + Montgomery_Int& operator-=(const Montgomery_Int& other); + + Montgomery_Int operator*(const Montgomery_Int& other) const; + + Montgomery_Int& operator*=(const Montgomery_Int& other); + + Montgomery_Int& operator*=(const secure_vector& other); + + Montgomery_Int& add(const Montgomery_Int& other, + secure_vector& ws); + + Montgomery_Int& sub(const Montgomery_Int& other, + secure_vector& ws); + + Montgomery_Int mul(const Montgomery_Int& other, + secure_vector& ws) const; + + Montgomery_Int& mul_by(const Montgomery_Int& other, + secure_vector& ws); + + Montgomery_Int& mul_by(const secure_vector& other, + secure_vector& ws); + + Montgomery_Int square(secure_vector& ws) const; + + Montgomery_Int& square_this(secure_vector& ws); + + Montgomery_Int& square_this_n_times(secure_vector& ws, size_t n); + + Montgomery_Int multiplicative_inverse() const; + + Montgomery_Int additive_inverse() const; + + Montgomery_Int& mul_by_2(secure_vector& ws); + + Montgomery_Int& mul_by_3(secure_vector& ws); + + Montgomery_Int& mul_by_4(secure_vector& ws); + + Montgomery_Int& mul_by_8(secure_vector& ws); + + void const_time_poison() const { m_v.const_time_poison(); } + void const_time_unpoison() const { return m_v.const_time_unpoison(); } + + private: + std::shared_ptr m_params; + BigInt m_v; + }; + +/** +* Parameters for Montgomery Reduction +*/ +class BOTAN_UNSTABLE_API Montgomery_Params final + { + public: + /** + * Initialize a set of Montgomery reduction parameters. These values + * can be shared by all values in a specific Montgomery domain. + */ + Montgomery_Params(const BigInt& p, const Modular_Reducer& mod_p); + + /** + * Initialize a set of Montgomery reduction parameters. These values + * can be shared by all values in a specific Montgomery domain. + */ + Montgomery_Params(const BigInt& p); + + const BigInt& p() const { return m_p; } + const BigInt& R1() const { return m_r1; } + const BigInt& R2() const { return m_r2; } + const BigInt& R3() const { return m_r3; } + + word p_dash() const { return m_p_dash; } + + size_t p_words() const { return m_p_words; } + + BigInt redc(const BigInt& x, + secure_vector& ws) const; + + BigInt mul(const BigInt& x, + const BigInt& y, + secure_vector& ws) const; + + BigInt mul(const BigInt& x, + const secure_vector& y, + secure_vector& ws) const; + + void mul_by(BigInt& x, + const secure_vector& y, + secure_vector& ws) const; + + void mul_by(BigInt& x, const BigInt& y, + secure_vector& ws) const; + + BigInt sqr(const BigInt& x, + secure_vector& ws) const; + + void square_this(BigInt& x, + secure_vector& ws) const; + + BigInt inv_mod_p(const BigInt& x) const; + + private: + BigInt m_p; + BigInt m_r1; + BigInt m_r2; + BigInt m_r3; + word m_p_dash; + size_t m_p_words; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mul128.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mul128.h new file mode 100644 index 00000000..8cdaae21 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mul128.h @@ -0,0 +1,125 @@ +/* +* 64x64->128 bit multiply operation +* (C) 2013,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_UTIL_MUL128_H_ +#define BOTAN_UTIL_MUL128_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(mul128.h) + +namespace Botan { + +#if defined(__SIZEOF_INT128__) && defined(BOTAN_TARGET_CPU_HAS_NATIVE_64BIT) + #define BOTAN_TARGET_HAS_NATIVE_UINT128 + + // Prefer TI mode over __int128 as GCC rejects the latter in pendantic mode + #if defined(__GNUG__) + typedef unsigned int uint128_t __attribute__((mode(TI))); + #else + typedef unsigned __int128 uint128_t; + #endif +#endif + +} + +#if defined(BOTAN_TARGET_HAS_NATIVE_UINT128) + +#define BOTAN_FAST_64X64_MUL(a,b,lo,hi) \ + do { \ + const uint128_t r = static_cast(a) * b; \ + *hi = (r >> 64) & 0xFFFFFFFFFFFFFFFF; \ + *lo = (r ) & 0xFFFFFFFFFFFFFFFF; \ + } while(0) + +#elif defined(BOTAN_BUILD_COMPILER_IS_MSVC) && defined(BOTAN_TARGET_CPU_HAS_NATIVE_64BIT) + +#include +#pragma intrinsic(_umul128) + +#define BOTAN_FAST_64X64_MUL(a,b,lo,hi) \ + do { *lo = _umul128(a, b, hi); } while(0) + +#elif defined(BOTAN_USE_GCC_INLINE_ASM) + +#if defined(BOTAN_TARGET_ARCH_IS_X86_64) + +#define BOTAN_FAST_64X64_MUL(a,b,lo,hi) do { \ + asm("mulq %3" : "=d" (*hi), "=a" (*lo) : "a" (a), "rm" (b) : "cc"); \ + } while(0) + +#elif defined(BOTAN_TARGET_ARCH_IS_ALPHA) + +#define BOTAN_FAST_64X64_MUL(a,b,lo,hi) do { \ + asm("umulh %1,%2,%0" : "=r" (*hi) : "r" (a), "r" (b)); \ + *lo = a * b; \ +} while(0) + +#elif defined(BOTAN_TARGET_ARCH_IS_IA64) + +#define BOTAN_FAST_64X64_MUL(a,b,lo,hi) do { \ + asm("xmpy.hu %0=%1,%2" : "=f" (*hi) : "f" (a), "f" (b)); \ + *lo = a * b; \ +} while(0) + +#elif defined(BOTAN_TARGET_ARCH_IS_PPC64) + +#define BOTAN_FAST_64X64_MUL(a,b,lo,hi) do { \ + asm("mulhdu %0,%1,%2" : "=r" (*hi) : "r" (a), "r" (b) : "cc"); \ + *lo = a * b; \ +} while(0) + +#endif + +#endif + +namespace Botan { + +/** +* Perform a 64x64->128 bit multiplication +*/ +inline void mul64x64_128(uint64_t a, uint64_t b, uint64_t* lo, uint64_t* hi) + { +#if defined(BOTAN_FAST_64X64_MUL) + BOTAN_FAST_64X64_MUL(a, b, lo, hi); +#else + + /* + * Do a 64x64->128 multiply using four 32x32->64 multiplies plus + * some adds and shifts. Last resort for CPUs like UltraSPARC (with + * 64-bit registers/ALU, but no 64x64->128 multiply) or 32-bit CPUs. + */ + const size_t HWORD_BITS = 32; + const uint32_t HWORD_MASK = 0xFFFFFFFF; + + const uint32_t a_hi = (a >> HWORD_BITS); + const uint32_t a_lo = (a & HWORD_MASK); + const uint32_t b_hi = (b >> HWORD_BITS); + const uint32_t b_lo = (b & HWORD_MASK); + + uint64_t x0 = static_cast(a_hi) * b_hi; + uint64_t x1 = static_cast(a_lo) * b_hi; + uint64_t x2 = static_cast(a_hi) * b_lo; + uint64_t x3 = static_cast(a_lo) * b_lo; + + // this cannot overflow as (2^32-1)^2 + 2^32-1 < 2^64-1 + x2 += x3 >> HWORD_BITS; + + // this one can overflow + x2 += x1; + + // propagate the carry if any + x0 += static_cast(static_cast(x2 < x1)) << HWORD_BITS; + + *hi = x0 + (x2 >> HWORD_BITS); + *lo = ((x2 & HWORD_MASK) << HWORD_BITS) + (x3 & HWORD_MASK); +#endif + } + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mutex.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mutex.h new file mode 100644 index 00000000..a230af98 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/mutex.h @@ -0,0 +1,60 @@ +/* +* (C) 2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_UTIL_MUTEX_H_ +#define BOTAN_UTIL_MUTEX_H_ + +#include + +#if defined(BOTAN_TARGET_OS_HAS_THREADS) + +#include + +namespace Botan { + +template using lock_guard_type = std::lock_guard; +typedef std::mutex mutex_type; +typedef std::recursive_mutex recursive_mutex_type; + +} + +#else + +// No threads + +namespace Botan { + +template +class lock_guard final + { + public: + explicit lock_guard(Mutex& m) : m_mutex(m) + { m_mutex.lock(); } + + ~lock_guard() { m_mutex.unlock(); } + + lock_guard(const lock_guard& other) = delete; + lock_guard& operator=(const lock_guard& other) = delete; + private: + Mutex& m_mutex; + }; + +class noop_mutex final + { + public: + void lock() {} + void unlock() {} + }; + +typedef noop_mutex mutex_type; +typedef noop_mutex recursive_mutex_type; +template using lock_guard_type = lock_guard; + +} + +#endif + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/name_constraint.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/name_constraint.h new file mode 100644 index 00000000..4f56f89e --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/name_constraint.h @@ -0,0 +1,11 @@ +/* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_NAME_CONSTRAINT_H_ +#define BOTAN_NAME_CONSTRAINT_H_ + +#include +BOTAN_DEPRECATED_HEADER(name_constraint.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/newhope.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/newhope.h new file mode 100644 index 00000000..8840ef56 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/newhope.h @@ -0,0 +1,85 @@ +/* +* NEWHOPE Ring-LWE scheme +* Based on the public domain reference implementation by the +* designers (https://github.com/tpoeppelmann/newhope) +* +* Further changes +* (C) 2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_NEWHOPE_H_ +#define BOTAN_NEWHOPE_H_ + +#include + +namespace Botan { + +class RandomNumberGenerator; + +/* +* WARNING: This API is preliminary and will change +* Currently pubkey.h does not support a 2-phase KEM scheme of +* the sort NEWHOPE exports. +*/ + +// TODO: change to just a secure_vector +class BOTAN_UNSTABLE_API newhope_poly final + { + public: + uint16_t coeffs[1024]; + ~newhope_poly(); + }; + +enum Newhope_Params + { + NEWHOPE_SENDABYTES = 1824, + NEWHOPE_SENDBBYTES = 2048, + + NEWHOPE_OFFER_BYTES = 1824, + NEWHOPE_ACCEPT_BYTES = 2048, + NEWHOPE_SHARED_KEY_BYTES = 32, + + NEWHOPE_SEED_BYTES = 32, + NEWHOPE_POLY_BYTES = 1792, + + CECPQ1_OFFER_BYTES = NEWHOPE_OFFER_BYTES + 32, + CECPQ1_ACCEPT_BYTES = NEWHOPE_ACCEPT_BYTES + 32, + CECPQ1_SHARED_KEY_BYTES = NEWHOPE_SHARED_KEY_BYTES + 32 + }; + +/** +* This chooses the XOF + hash for NewHope +* The official NewHope specification and reference implementation use +* SHA-3 and SHAKE-128. BoringSSL instead uses SHA-256 and AES-128 in +* CTR mode. CECPQ1 (x25519+NewHope) always uses BoringSSL's mode +*/ +enum class Newhope_Mode + { + SHA3, + BoringSSL + }; + +// offer +void BOTAN_PUBLIC_API(2,0) newhope_keygen(uint8_t send[NEWHOPE_SENDABYTES], + newhope_poly* sk, + RandomNumberGenerator& rng, + Newhope_Mode = Newhope_Mode::SHA3); + +// accept +void BOTAN_PUBLIC_API(2,0) newhope_sharedb(uint8_t sharedkey[NEWHOPE_SHARED_KEY_BYTES], + uint8_t send[], + const uint8_t* received, + RandomNumberGenerator& rng, + Newhope_Mode mode = Newhope_Mode::SHA3); + +// finish +void BOTAN_PUBLIC_API(2,0) newhope_shareda(uint8_t sharedkey[NEWHOPE_SHARED_KEY_BYTES], + const newhope_poly* ska, + const uint8_t* received, + Newhope_Mode mode = Newhope_Mode::SHA3); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/nist_keywrap.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/nist_keywrap.h new file mode 100644 index 00000000..022b4016 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/nist_keywrap.h @@ -0,0 +1,67 @@ +/* +* (C) 2011,2017 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_NIST_KEY_WRAP_H_ +#define BOTAN_NIST_KEY_WRAP_H_ + +#include + +namespace Botan { + +class BlockCipher; + +/** +* Key wrap. See RFC 3394 and NIST SP800-38F +* @param input the value to be encrypted +* @param input_len length of input, must be a multiple of 8 +* @param bc a keyed 128-bit block cipher that will be used to encrypt input +* @return input encrypted under NIST key wrap algorithm +*/ +std::vector BOTAN_PUBLIC_API(2,4) +nist_key_wrap(const uint8_t input[], + size_t input_len, + const BlockCipher& bc); + +/** +* @param input the value to be decrypted, output of nist_key_wrap +* @param input_len length of input +* @param bc a keyed 128-bit block cipher that will be used to decrypt input +* @return input decrypted under NIST key wrap algorithm +* Throws an exception if decryption fails. +*/ +secure_vector BOTAN_PUBLIC_API(2,4) +nist_key_unwrap(const uint8_t input[], + size_t input_len, + const BlockCipher& bc); + +/** +* KWP (key wrap with padding). See RFC 5649 and NIST SP800-38F +* @param input the value to be encrypted +* @param input_len length of input +* @param bc a keyed 128-bit block cipher that will be used to encrypt input +* @return input encrypted under NIST key wrap algorithm +*/ +std::vector BOTAN_PUBLIC_API(2,4) +nist_key_wrap_padded(const uint8_t input[], + size_t input_len, + const BlockCipher& bc); + +/** +* @param input the value to be decrypted, output of nist_key_wrap +* @param input_len length of input +* @param bc a keyed 128-bit block cipher that will be used to decrypt input +* @return input decrypted under NIST key wrap algorithm +* Throws an exception if decryption fails. +*/ +secure_vector BOTAN_PUBLIC_API(2,4) +nist_key_unwrap_padded(const uint8_t input[], + size_t input_len, + const BlockCipher& bc); + + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/noekeon.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/noekeon.h new file mode 100644 index 00000000..9e7e4a5f --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/noekeon.h @@ -0,0 +1,49 @@ +/* +* Noekeon +* (C) 1999-2008 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_NOEKEON_H_ +#define BOTAN_NOEKEON_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(noekeon.h) + +namespace Botan { + +/** +* Noekeon +*/ +class BOTAN_PUBLIC_API(2,0) Noekeon final : public Block_Cipher_Fixed_Params<16, 16> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + std::string provider() const override; + void clear() override; + std::string name() const override { return "Noekeon"; } + BlockCipher* clone() const override { return new Noekeon; } + size_t parallelism() const override; + + private: +#if defined(BOTAN_HAS_NOEKEON_SIMD) + void simd_encrypt_4(const uint8_t in[], uint8_t out[]) const; + void simd_decrypt_4(const uint8_t in[], uint8_t out[]) const; +#endif + + /** + * The Noekeon round constants + */ + static const uint8_t RC[17]; + + void key_schedule(const uint8_t[], size_t) override; + secure_vector m_EK, m_DK; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/numthry.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/numthry.h new file mode 100644 index 00000000..be9cd985 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/numthry.h @@ -0,0 +1,296 @@ +/* +* Number Theory Functions +* (C) 1999-2007,2018 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_NUMBER_THEORY_H_ +#define BOTAN_NUMBER_THEORY_H_ + +#include + +namespace Botan { + +class RandomNumberGenerator; + +/** +* Fused multiply-add +* @param a an integer +* @param b an integer +* @param c an integer +* @return (a*b)+c +*/ +BigInt BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Just use (a*b)+c") + mul_add(const BigInt& a, + const BigInt& b, + const BigInt& c); + +/** +* Fused subtract-multiply +* @param a an integer +* @param b an integer +* @param c an integer +* @return (a-b)*c +*/ +BigInt BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Just use (a-b)*c") + sub_mul(const BigInt& a, + const BigInt& b, + const BigInt& c); + +/** +* Fused multiply-subtract +* @param a an integer +* @param b an integer +* @param c an integer +* @return (a*b)-c +*/ +BigInt BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Just use (a*b)-c") + mul_sub(const BigInt& a, + const BigInt& b, + const BigInt& c); + +/** +* Return the absolute value +* @param n an integer +* @return absolute value of n +*/ +inline BigInt abs(const BigInt& n) { return n.abs(); } + +/** +* Compute the greatest common divisor +* @param x a positive integer +* @param y a positive integer +* @return gcd(x,y) +*/ +BigInt BOTAN_PUBLIC_API(2,0) gcd(const BigInt& x, const BigInt& y); + +/** +* Least common multiple +* @param x a positive integer +* @param y a positive integer +* @return z, smallest integer such that z % x == 0 and z % y == 0 +*/ +BigInt BOTAN_PUBLIC_API(2,0) lcm(const BigInt& x, const BigInt& y); + +/** +* @param x an integer +* @return (x*x) +*/ +BigInt BOTAN_PUBLIC_API(2,0) square(const BigInt& x); + +/** +* Modular inversion. This algorithm is const time with respect to x, +* as long as x is less than modulus. It also avoids leaking +* information about the modulus, except that it does leak which of 3 +* categories the modulus is in: an odd integer, a power of 2, or some +* other even number, and if the modulus is even, leaks the power of 2 +* which divides the modulus. +* +* @param x a positive integer +* @param modulus a positive integer +* @return y st (x*y) % modulus == 1 or 0 if no such value +*/ +BigInt BOTAN_PUBLIC_API(2,0) inverse_mod(const BigInt& x, + const BigInt& modulus); + +/** +* Deprecated modular inversion function. Use inverse_mod instead. +* @param x a positive integer +* @param modulus a positive integer +* @return y st (x*y) % modulus == 1 or 0 if no such value +*/ +BigInt BOTAN_DEPRECATED_API("Use inverse_mod") inverse_euclid(const BigInt& x, const BigInt& modulus); + +/** +* Deprecated modular inversion function. Use inverse_mod instead. +*/ +BigInt BOTAN_DEPRECATED_API("Use inverse_mod") ct_inverse_mod_odd_modulus(const BigInt& x, const BigInt& modulus); + +/** +* Return a^-1 * 2^k mod b +* Returns k, between n and 2n +* Not const time +*/ +size_t BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use inverse_mod") + almost_montgomery_inverse(BigInt& result, + const BigInt& a, + const BigInt& b); + +/** +* Call almost_montgomery_inverse and correct the result to a^-1 mod b +*/ +BigInt BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use inverse_mod") + normalized_montgomery_inverse(const BigInt& a, const BigInt& b); + + +/** +* Compute the Jacobi symbol. If n is prime, this is equivalent +* to the Legendre symbol. +* @see http://mathworld.wolfram.com/JacobiSymbol.html +* +* @param a is a non-negative integer +* @param n is an odd integer > 1 +* @return (n / m) +*/ +int32_t BOTAN_PUBLIC_API(2,0) jacobi(const BigInt& a, const BigInt& n); + +/** +* Modular exponentation +* @param b an integer base +* @param x a positive exponent +* @param m a positive modulus +* @return (b^x) % m +*/ +BigInt BOTAN_PUBLIC_API(2,0) power_mod(const BigInt& b, + const BigInt& x, + const BigInt& m); + +/** +* Compute the square root of x modulo a prime using the +* Tonelli-Shanks algorithm +* +* @param x the input +* @param p the prime +* @return y such that (y*y)%p == x, or -1 if no such integer +*/ +BigInt BOTAN_PUBLIC_API(2,0) ressol(const BigInt& x, const BigInt& p); + +/* +* Compute -input^-1 mod 2^MP_WORD_BITS. Throws an exception if input +* is even. If input is odd, then input and 2^n are relatively prime +* and an inverse exists. +*/ +word BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use inverse_mod") + monty_inverse(word input); + +/** +* @param x an integer +* @return count of the low zero bits in x, or, equivalently, the +* largest value of n such that 2^n divides x evenly. Returns +* zero if x is equal to zero. +*/ +size_t BOTAN_PUBLIC_API(2,0) low_zero_bits(const BigInt& x); + +/** +* Check for primality +* @param n a positive integer to test for primality +* @param rng a random number generator +* @param prob chance of false positive is bounded by 1/2**prob +* @param is_random true if n was randomly chosen by us +* @return true if all primality tests passed, otherwise false +*/ +bool BOTAN_PUBLIC_API(2,0) is_prime(const BigInt& n, + RandomNumberGenerator& rng, + size_t prob = 64, + bool is_random = false); + +/** +* Test if the positive integer x is a perfect square ie if there +* exists some positive integer y st y*y == x +* See FIPS 186-4 sec C.4 +* @return 0 if the integer is not a perfect square, otherwise +* returns the positive y st y*y == x +*/ +BigInt BOTAN_PUBLIC_API(2,8) is_perfect_square(const BigInt& x); + +inline bool BOTAN_DEPRECATED("Use is_prime") + quick_check_prime(const BigInt& n, RandomNumberGenerator& rng) + { return is_prime(n, rng, 32); } + +inline bool BOTAN_DEPRECATED("Use is_prime") + check_prime(const BigInt& n, RandomNumberGenerator& rng) + { return is_prime(n, rng, 56); } + +inline bool BOTAN_DEPRECATED("Use is_prime") + verify_prime(const BigInt& n, RandomNumberGenerator& rng) + { return is_prime(n, rng, 80); } + +/** +* Randomly generate a prime suitable for discrete logarithm parameters +* @param rng a random number generator +* @param bits how large the resulting prime should be in bits +* @param coprime a positive integer that (prime - 1) should be coprime to +* @param equiv a non-negative number that the result should be + equivalent to modulo equiv_mod +* @param equiv_mod the modulus equiv should be checked against +* @param prob use test so false positive is bounded by 1/2**prob +* @return random prime with the specified criteria +*/ +BigInt BOTAN_PUBLIC_API(2,0) random_prime(RandomNumberGenerator& rng, + size_t bits, + const BigInt& coprime = 0, + size_t equiv = 1, + size_t equiv_mod = 2, + size_t prob = 128); + +/** +* Generate a prime suitable for RSA p/q +* @param keygen_rng a random number generator +* @param prime_test_rng a random number generator +* @param bits how large the resulting prime should be in bits (must be >= 512) +* @param coprime a positive integer that (prime - 1) should be coprime to +* @param prob use test so false positive is bounded by 1/2**prob +* @return random prime with the specified criteria +*/ +BigInt BOTAN_PUBLIC_API(2,7) generate_rsa_prime(RandomNumberGenerator& keygen_rng, + RandomNumberGenerator& prime_test_rng, + size_t bits, + const BigInt& coprime, + size_t prob = 128); + +/** +* Return a 'safe' prime, of the form p=2*q+1 with q prime +* @param rng a random number generator +* @param bits is how long the resulting prime should be +* @return prime randomly chosen from safe primes of length bits +*/ +BigInt BOTAN_PUBLIC_API(2,0) random_safe_prime(RandomNumberGenerator& rng, + size_t bits); + +/** +* Generate DSA parameters using the FIPS 186 kosherizer +* @param rng a random number generator +* @param p_out where the prime p will be stored +* @param q_out where the prime q will be stored +* @param pbits how long p will be in bits +* @param qbits how long q will be in bits +* @return random seed used to generate this parameter set +*/ +std::vector BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use DL_Group") +generate_dsa_primes(RandomNumberGenerator& rng, + BigInt& p_out, BigInt& q_out, + size_t pbits, size_t qbits); + +/** +* Generate DSA parameters using the FIPS 186 kosherizer +* @param rng a random number generator +* @param p_out where the prime p will be stored +* @param q_out where the prime q will be stored +* @param pbits how long p will be in bits +* @param qbits how long q will be in bits +* @param seed the seed used to generate the parameters +* @param offset optional offset from seed to start searching at +* @return true if seed generated a valid DSA parameter set, otherwise + false. p_out and q_out are only valid if true was returned. +*/ +bool BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("Use DL_Group") +generate_dsa_primes(RandomNumberGenerator& rng, + BigInt& p_out, BigInt& q_out, + size_t pbits, size_t qbits, + const std::vector& seed, + size_t offset = 0); + +/** +* The size of the PRIMES[] array +*/ +const size_t PRIME_TABLE_SIZE = 6541; + +/** +* A const array of all odd primes less than 65535 +*/ +extern const uint16_t BOTAN_PUBLIC_API(2,0) PRIMES[]; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/oaep.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/oaep.h new file mode 100644 index 00000000..383617b8 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/oaep.h @@ -0,0 +1,62 @@ +/* +* OAEP +* (C) 1999-2007,2018 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_OAEP_H_ +#define BOTAN_OAEP_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(oaep.h) + +namespace Botan { + +/** +* OAEP (called EME1 in IEEE 1363 and in earlier versions of the library) +* as specified in PKCS#1 v2.0 (RFC 2437) +*/ +class BOTAN_PUBLIC_API(2,0) OAEP final : public EME + { + public: + size_t maximum_input_size(size_t) const override; + + /** + * @param hash function to use for hashing (takes ownership) + * @param P an optional label. Normally empty. + */ + OAEP(HashFunction* hash, const std::string& P = ""); + + /** + * @param hash function to use for hashing (takes ownership) + * @param mgf1_hash function to use for MGF1 (takes ownership) + * @param P an optional label. Normally empty. + */ + OAEP(HashFunction* hash, + HashFunction* mgf1_hash, + const std::string& P = ""); + private: + secure_vector pad(const uint8_t in[], + size_t in_length, + size_t key_length, + RandomNumberGenerator& rng) const override; + + secure_vector unpad(uint8_t& valid_mask, + const uint8_t in[], + size_t in_len) const override; + + secure_vector m_Phash; + std::unique_ptr m_mgf1_hash; + }; + +secure_vector +BOTAN_TEST_API oaep_find_delim(uint8_t& valid_mask, + const uint8_t input[], size_t input_len, + const secure_vector& Phash); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ocb.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ocb.h new file mode 100644 index 00000000..4029fcda --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ocb.h @@ -0,0 +1,137 @@ +/* +* OCB Mode +* (C) 2013,2014 Jack Lloyd +* (C) 2016 Daniel Neus, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_AEAD_OCB_H_ +#define BOTAN_AEAD_OCB_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(ocb.h) + +namespace Botan { + +class BlockCipher; +class L_computer; + +/** +* OCB Mode (base class for OCB_Encryption and OCB_Decryption). Note +* that OCB is patented, but is freely licensed in some circumstances. +* +* @see "The OCB Authenticated-Encryption Algorithm" RFC 7253 +* https://tools.ietf.org/html/rfc7253 +* @see "OCB For Block Ciphers Without 128-Bit Blocks" +* (draft-krovetz-ocb-wide-d3) for the extension of OCB to +* block ciphers with larger block sizes. +* @see Free Licenses http://www.cs.ucdavis.edu/~rogaway/ocb/license.htm +* @see OCB home page http://www.cs.ucdavis.edu/~rogaway/ocb +*/ +class BOTAN_PUBLIC_API(2,0) OCB_Mode : public AEAD_Mode + { + public: + void set_associated_data(const uint8_t ad[], size_t ad_len) override; + + std::string name() const override; + + size_t update_granularity() const override; + + Key_Length_Specification key_spec() const override; + + bool valid_nonce_length(size_t) const override; + + size_t tag_size() const override { return m_tag_size; } + + void clear() override; + + void reset() override; + + ~OCB_Mode(); + protected: + /** + * @param cipher the block cipher to use + * @param tag_size is how big the auth tag will be + */ + OCB_Mode(BlockCipher* cipher, size_t tag_size); + + size_t block_size() const { return m_block_size; } + size_t par_blocks() const { return m_par_blocks; } + size_t par_bytes() const { return m_checksum.size(); } + + // fixme make these private + std::unique_ptr m_cipher; + std::unique_ptr m_L; + + size_t m_block_index = 0; + + secure_vector m_checksum; + secure_vector m_ad_hash; + private: + void start_msg(const uint8_t nonce[], size_t nonce_len) override; + + void key_schedule(const uint8_t key[], size_t length) override; + + const secure_vector& update_nonce(const uint8_t nonce[], size_t nonce_len); + + const size_t m_tag_size; + const size_t m_block_size; + const size_t m_par_blocks; + secure_vector m_last_nonce; + secure_vector m_stretch; + secure_vector m_nonce_buf; + secure_vector m_offset; + }; + +class BOTAN_PUBLIC_API(2,0) OCB_Encryption final : public OCB_Mode + { + public: + /** + * @param cipher the block cipher to use + * @param tag_size is how big the auth tag will be + */ + OCB_Encryption(BlockCipher* cipher, size_t tag_size = 16) : + OCB_Mode(cipher, tag_size) {} + + size_t output_length(size_t input_length) const override + { return input_length + tag_size(); } + + size_t minimum_final_size() const override { return 0; } + + size_t process(uint8_t buf[], size_t size) override; + + void finish(secure_vector& final_block, size_t offset = 0) override; + private: + void encrypt(uint8_t input[], size_t blocks); + }; + +class BOTAN_PUBLIC_API(2,0) OCB_Decryption final : public OCB_Mode + { + public: + /** + * @param cipher the block cipher to use + * @param tag_size is how big the auth tag will be + */ + OCB_Decryption(BlockCipher* cipher, size_t tag_size = 16) : + OCB_Mode(cipher, tag_size) {} + + size_t output_length(size_t input_length) const override + { + BOTAN_ASSERT(input_length >= tag_size(), "Sufficient input"); + return input_length - tag_size(); + } + + size_t minimum_final_size() const override { return tag_size(); } + + size_t process(uint8_t buf[], size_t size) override; + + void finish(secure_vector& final_block, size_t offset = 0) override; + private: + void decrypt(uint8_t input[], size_t blocks); + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ocsp.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ocsp.h new file mode 100644 index 00000000..55224564 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ocsp.h @@ -0,0 +1,282 @@ +/* +* OCSP +* (C) 2012 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_OCSP_H_ +#define BOTAN_OCSP_H_ + +#include +#include +#include +#include +#include + +namespace Botan { + +class Certificate_Store; + +namespace OCSP { + +class BOTAN_PUBLIC_API(2,0) CertID final : public ASN1_Object + { + public: + CertID() = default; + + CertID(const X509_Certificate& issuer, + const BigInt& subject_serial); + + bool is_id_for(const X509_Certificate& issuer, + const X509_Certificate& subject) const; + + void encode_into(class DER_Encoder& to) const override; + + void decode_from(class BER_Decoder& from) override; + + const std::vector& issuer_key_hash() const { return m_issuer_key_hash; } + + private: + AlgorithmIdentifier m_hash_id; + std::vector m_issuer_dn_hash; + std::vector m_issuer_key_hash; + BigInt m_subject_serial; + }; + +class BOTAN_PUBLIC_API(2,0) SingleResponse final : public ASN1_Object + { + public: + const CertID& certid() const { return m_certid; } + + size_t cert_status() const { return m_cert_status; } + + X509_Time this_update() const { return m_thisupdate; } + + X509_Time next_update() const { return m_nextupdate; } + + void encode_into(class DER_Encoder& to) const override; + + void decode_from(class BER_Decoder& from) override; + private: + CertID m_certid; + size_t m_cert_status = 2; // unknown + X509_Time m_thisupdate; + X509_Time m_nextupdate; + }; + +/** +* An OCSP request. +*/ +class BOTAN_PUBLIC_API(2,0) Request final + { + public: + /** + * Create an OCSP request. + * @param issuer_cert issuer certificate + * @param subject_cert subject certificate + */ + Request(const X509_Certificate& issuer_cert, + const X509_Certificate& subject_cert); + + Request(const X509_Certificate& issuer_cert, + const BigInt& subject_serial); + + /** + * @return BER-encoded OCSP request + */ + std::vector BER_encode() const; + + /** + * @return Base64-encoded OCSP request + */ + std::string base64_encode() const; + + /** + * @return issuer certificate + */ + const X509_Certificate& issuer() const { return m_issuer; } + + /** + * @return subject certificate + */ + const X509_Certificate& subject() const { throw Not_Implemented("Method have been deprecated"); } + + const std::vector& issuer_key_hash() const + { return m_certid.issuer_key_hash(); } + private: + X509_Certificate m_issuer; + CertID m_certid; + }; + +/** +* OCSP response status. +* +* see https://tools.ietf.org/html/rfc6960#section-4.2.1 +*/ +enum class Response_Status_Code { + Successful = 0, + Malformed_Request = 1, + Internal_Error = 2, + Try_Later = 3, + Sig_Required = 5, + Unauthorized = 6 +}; + +/** +* OCSP response. +* +* Note this class is only usable as an OCSP client +*/ +class BOTAN_PUBLIC_API(2,0) Response final + { + public: + /** + * Creates an empty OCSP response. + */ + Response() = default; + + /** + * Create a fake OCSP response from a given status code. + * @param status the status code the check functions will return + */ + Response(Certificate_Status_Code status); + + /** + * Parses an OCSP response. + * @param response_bits response bits received + */ + Response(const std::vector& response_bits) : + Response(response_bits.data(), response_bits.size()) + {} + + /** + * Parses an OCSP response. + * @param response_bits response bits received + * @param response_bits_len length of response in bytes + */ + Response(const uint8_t response_bits[], + size_t response_bits_len); + + /** + * Check signature and return status + * The optional cert_path is the (already validated!) certificate path of + * the end entity which is being inquired about + * @param trust_roots list of certstores containing trusted roots + * @param cert_path optionally, the (already verified!) certificate path for the certificate + * this is an OCSP response for. This is necessary to find the correct intermediate CA in + * some cases. + */ + Certificate_Status_Code check_signature(const std::vector& trust_roots, + const std::vector>& cert_path = {}) const; + + /** + * Verify that issuer's key signed this response + * @param issuer certificate of issuer + * @return if signature valid OCSP_SIGNATURE_OK else an error code + */ + Certificate_Status_Code verify_signature(const X509_Certificate& issuer) const; + + /** + * @return the status of the response + */ + Response_Status_Code status() const { return m_status; } + + /** + * @return the time this OCSP response was supposedly produced at + */ + const X509_Time& produced_at() const { return m_produced_at; } + + /** + * @return DN of signer, if provided in response (may be empty) + */ + const X509_DN& signer_name() const { return m_signer_name; } + + /** + * @return key hash, if provided in response (may be empty) + */ + const std::vector& signer_key_hash() const { return m_key_hash; } + + const std::vector& raw_bits() const { return m_response_bits; } + + /** + * Searches the OCSP response for issuer and subject certificate. + * @param issuer issuer certificate + * @param subject subject certificate + * @param ref_time the reference time + * @param max_age the maximum age the response should be considered valid + * if next_update is not set + * @return OCSP status code, possible values: + * CERT_IS_REVOKED, + * OCSP_NOT_YET_VALID, + * OCSP_HAS_EXPIRED, + * OCSP_IS_TOO_OLD, + * OCSP_RESPONSE_GOOD, + * OCSP_BAD_STATUS, + * OCSP_CERT_NOT_LISTED + */ + Certificate_Status_Code status_for(const X509_Certificate& issuer, + const X509_Certificate& subject, + std::chrono::system_clock::time_point ref_time = std::chrono::system_clock::now(), + std::chrono::seconds max_age = std::chrono::seconds::zero()) const; + + /** + * @return the certificate chain, if provided in response + */ + const std::vector &certificates() const { return m_certs; } + + private: + Response_Status_Code m_status; + std::vector m_response_bits; + X509_Time m_produced_at; + X509_DN m_signer_name; + std::vector m_key_hash; + std::vector m_tbs_bits; + AlgorithmIdentifier m_sig_algo; + std::vector m_signature; + std::vector m_certs; + + std::vector m_responses; + + Certificate_Status_Code m_dummy_response_status; + }; + +#if defined(BOTAN_HAS_HTTP_UTIL) + +/** +* Makes an online OCSP request via HTTP and returns the OCSP response. +* @param issuer issuer certificate +* @param subject_serial the subject's serial number +* @param ocsp_responder the OCSP responder to query +* @param trusted_roots trusted roots for the OCSP response +* @param timeout a timeout on the HTTP request +* @return OCSP response +*/ +BOTAN_PUBLIC_API(2,1) +Response online_check(const X509_Certificate& issuer, + const BigInt& subject_serial, + const std::string& ocsp_responder, + Certificate_Store* trusted_roots, + std::chrono::milliseconds timeout = std::chrono::milliseconds(3000)); + +/** +* Makes an online OCSP request via HTTP and returns the OCSP response. +* @param issuer issuer certificate +* @param subject subject certificate +* @param trusted_roots trusted roots for the OCSP response +* @param timeout a timeout on the HTTP request +* @return OCSP response +*/ +BOTAN_PUBLIC_API(2,0) +Response online_check(const X509_Certificate& issuer, + const X509_Certificate& subject, + Certificate_Store* trusted_roots, + std::chrono::milliseconds timeout = std::chrono::milliseconds(3000)); + +#endif + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ocsp_types.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ocsp_types.h new file mode 100644 index 00000000..aa628d8d --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ocsp_types.h @@ -0,0 +1,11 @@ +/* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_OCSP_TYPES_H_ +#define BOTAN_OCSP_TYPES_H_ + +#include +BOTAN_DEPRECATED_HEADER(ocsp_types.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ofb.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ofb.h new file mode 100644 index 00000000..994d3d19 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/ofb.h @@ -0,0 +1,56 @@ +/* +* OFB Mode +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_OUTPUT_FEEDBACK_MODE_H_ +#define BOTAN_OUTPUT_FEEDBACK_MODE_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(ofb.h) + +namespace Botan { + +/** +* Output Feedback Mode +*/ +class BOTAN_PUBLIC_API(2,0) OFB final : public StreamCipher + { + public: + void cipher(const uint8_t in[], uint8_t out[], size_t length) override; + + void set_iv(const uint8_t iv[], size_t iv_len) override; + + size_t default_iv_length() const override; + + bool valid_iv_length(size_t iv_len) const override; + + Key_Length_Specification key_spec() const override; + + std::string name() const override; + + OFB* clone() const override; + + void clear() override; + + /** + * @param cipher the block cipher to use + */ + explicit OFB(BlockCipher* cipher); + + void seek(uint64_t offset) override; + private: + void key_schedule(const uint8_t key[], size_t key_len) override; + + std::unique_ptr m_cipher; + secure_vector m_buffer; + size_t m_buf_pos; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/oids.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/oids.h new file mode 100644 index 00000000..9af451fe --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/oids.h @@ -0,0 +1,98 @@ +/* +* OID Registry +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_OIDS_H_ +#define BOTAN_OIDS_H_ + +#include +#include + +namespace Botan { + +namespace OIDS { + +/** +* Register an OID to string mapping. +* @param oid the oid to register +* @param name the name to be associated with the oid +*/ +BOTAN_UNSTABLE_API void add_oid(const OID& oid, const std::string& name); + +BOTAN_UNSTABLE_API void add_oid2str(const OID& oid, const std::string& name); +BOTAN_UNSTABLE_API void add_str2oid(const OID& oid, const std::string& name); + +BOTAN_UNSTABLE_API void add_oidstr(const char* oidstr, const char* name); + +std::unordered_map load_oid2str_map(); +std::unordered_map load_str2oid_map(); + +/** +* Resolve an OID +* @param oid the OID to look up +* @return name associated with this OID, or an empty string +*/ +BOTAN_UNSTABLE_API std::string oid2str_or_empty(const OID& oid); + +/** +* Find the OID to a name. The lookup will be performed in the +* general OID section of the configuration. +* @param name the name to resolve +* @return OID associated with the specified name +*/ +BOTAN_UNSTABLE_API OID str2oid_or_empty(const std::string& name); + +BOTAN_UNSTABLE_API std::string oid2str_or_throw(const OID& oid); + +/** +* See if an OID exists in the internal table. +* @param oid the oid to check for +* @return true if the oid is registered +*/ +BOTAN_UNSTABLE_API bool BOTAN_DEPRECATED("Just lookup the value instead") have_oid(const std::string& oid); + +/** +* Tests whether the specified OID stands for the specified name. +* @param oid the OID to check +* @param name the name to check +* @return true if the specified OID stands for the specified name +*/ +inline bool BOTAN_DEPRECATED("Use oid == OID::from_string(name)") name_of(const OID& oid, const std::string& name) + { + return (oid == str2oid_or_empty(name)); + } + +/** +* Prefer oid2str_or_empty +*/ +inline std::string lookup(const OID& oid) + { + return oid2str_or_empty(oid); + } + +/** +* Prefer str2oid_or_empty +*/ +inline OID lookup(const std::string& name) + { + return str2oid_or_empty(name); + } + +inline std::string BOTAN_DEPRECATED("Use oid2str_or_empty") oid2str(const OID& oid) + { + return oid2str_or_empty(oid); + } + +inline OID BOTAN_DEPRECATED("Use str2oid_or_empty") str2oid(const std::string& name) + { + return str2oid_or_empty(name); + } + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/otp.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/otp.h new file mode 100644 index 00000000..664f181f --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/otp.h @@ -0,0 +1,117 @@ +/* +* HOTP/TOTP +* (C) 2017 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ONE_TIME_PASSWORDS_H_ +#define BOTAN_ONE_TIME_PASSWORDS_H_ + +#include +#include + +namespace Botan { + +/** +* HOTP one time passwords (RFC 4226) +*/ +class BOTAN_PUBLIC_API(2,2) HOTP final + { + public: + /** + * @param key the secret key shared between client and server + * @param hash_algo the hash algorithm to use, should be SHA-1 or SHA-256 + * @param digits the number of digits in the OTP (must be 6, 7, or 8) + */ + HOTP(const SymmetricKey& key, const std::string& hash_algo = "SHA-1", size_t digits = 6) : + HOTP(key.begin(), key.size(), hash_algo, digits) {} + + /** + * @param key the secret key shared between client and server + * @param key_len length of key param + * @param hash_algo the hash algorithm to use, should be SHA-1 or SHA-256 + * @param digits the number of digits in the OTP (must be 6, 7, or 8) + */ + HOTP(const uint8_t key[], size_t key_len, + const std::string& hash_algo = "SHA-1", + size_t digits = 6); + + /** + * Generate the HOTP for a particular counter value + * @warning if the counter value is repeated the OTP ceases to be one-time + */ + uint32_t generate_hotp(uint64_t counter); + + /** + * Check an OTP value using a starting counter and a resync range + * @param otp the client provided OTP + * @param starting_counter the server's guess as to the current counter state + * @param resync_range if 0 then only HOTP(starting_counter) is accepted + * If larger than 0, up to resync_range values after HOTP are also checked. + * @return (valid,next_counter). If the OTP does not validate, always + * returns (false,starting_counter). Otherwise returns (true,next_counter) + * where next_counter is at most starting_counter + resync_range + 1 + */ + std::pair verify_hotp(uint32_t otp, uint64_t starting_counter, size_t resync_range = 0); + private: + std::unique_ptr m_mac; + uint32_t m_digit_mod; + }; + +/** +* TOTP (time based) one time passwords (RFC 6238) +*/ +class BOTAN_PUBLIC_API(2,2) TOTP final + { + public: + /** + * @param key the secret key shared between client and server + * @param hash_algo the hash algorithm to use, should be SHA-1, SHA-256 or SHA-512 + * @param digits the number of digits in the OTP (must be 6, 7, or 8) + * @param time_step granularity of OTP in seconds + */ + TOTP(const SymmetricKey& key, + const std::string& hash_algo = "SHA-1", + size_t digits = 6, size_t time_step = 30) : + TOTP(key.begin(), key.size(), hash_algo, digits, time_step) {} + + /** + * @param key the secret key shared between client and server + * @param key_len length of key + * @param hash_algo the hash algorithm to use, should be SHA-1, SHA-256 or SHA-512 + * @param digits the number of digits in the OTP (must be 6, 7, or 8) + * @param time_step granularity of OTP in seconds + */ + TOTP(const uint8_t key[], size_t key_len, + const std::string& hash_algo = "SHA-1", + size_t digits = 6, + size_t time_step = 30); + + /** + * Convert the provided time_point to a Unix timestamp and call generate_totp + */ + uint32_t generate_totp(std::chrono::system_clock::time_point time_point); + + /** + * Generate the OTP corresponding the the provided "Unix timestamp" (ie + * number of seconds since midnight Jan 1, 1970) + */ + uint32_t generate_totp(uint64_t unix_time); + + bool verify_totp(uint32_t otp, + std::chrono::system_clock::time_point time, + size_t clock_drift_accepted = 0); + + bool verify_totp(uint32_t otp, uint64_t unix_time, + size_t clock_drift_accepted = 0); + + private: + HOTP m_hotp; + size_t m_time_step; + std::chrono::system_clock::time_point m_unix_epoch; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11.h new file mode 100644 index 00000000..0fae1c2c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11.h @@ -0,0 +1,2930 @@ +/* +* PKCS#11 +* (C) 2016 Daniel Neus, Sirrix AG +* (C) 2016 Philipp Weber, Sirrix AG +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_P11_H_ +#define BOTAN_P11_H_ + +#include +#include + +#include +#include +#include + +#define CK_PTR * + +#if defined(_MSC_VER) +#define CK_DECLARE_FUNCTION(returnType, name) \ + returnType __declspec(dllimport) name +#else +#define CK_DECLARE_FUNCTION(returnType, name) \ + returnType name +#endif + +#if defined(_MSC_VER) +#define CK_DECLARE_FUNCTION_POINTER(returnType, name) \ + returnType __declspec(dllimport) (* name) +#else +#define CK_DECLARE_FUNCTION_POINTER(returnType, name) \ + returnType (* name) +#endif + +#define CK_CALLBACK_FUNCTION(returnType, name) \ + returnType (* name) + +#ifndef NULL_PTR + #define NULL_PTR nullptr +#endif + +#if defined(_MSC_VER) + #pragma pack(push, cryptoki, 1) +#endif + +#include "pkcs11.h" + +#if defined(_MSC_VER) + #pragma pack(pop, cryptoki) +#endif + +static_assert(CRYPTOKI_VERSION_MAJOR == 2 && CRYPTOKI_VERSION_MINOR == 40, + "The Botan PKCS#11 module was implemented against PKCS#11 v2.40. Please use the correct PKCS#11 headers."); + +namespace Botan { + +class Dynamically_Loaded_Library; + +namespace PKCS11 { + +using secure_string = secure_vector; + +enum class AttributeType : CK_ATTRIBUTE_TYPE + { + Class = CKA_CLASS, + Token = CKA_TOKEN, + Private = CKA_PRIVATE, + Label = CKA_LABEL, + Application = CKA_APPLICATION, + Value = CKA_VALUE, + ObjectId = CKA_OBJECT_ID, + CertificateType = CKA_CERTIFICATE_TYPE, + Issuer = CKA_ISSUER, + SerialNumber = CKA_SERIAL_NUMBER, + AcIssuer = CKA_AC_ISSUER, + Owner = CKA_OWNER, + AttrTypes = CKA_ATTR_TYPES, + Trusted = CKA_TRUSTED, + CertificateCategory = CKA_CERTIFICATE_CATEGORY, + JavaMidpSecurityDomain = CKA_JAVA_MIDP_SECURITY_DOMAIN, + Url = CKA_URL, + HashOfSubjectPublicKey = CKA_HASH_OF_SUBJECT_PUBLIC_KEY, + HashOfIssuerPublicKey = CKA_HASH_OF_ISSUER_PUBLIC_KEY, + NameHashAlgorithm = CKA_NAME_HASH_ALGORITHM, + CheckValue = CKA_CHECK_VALUE, + KeyType = CKA_KEY_TYPE, + Subject = CKA_SUBJECT, + Id = CKA_ID, + Sensitive = CKA_SENSITIVE, + Encrypt = CKA_ENCRYPT, + Decrypt = CKA_DECRYPT, + Wrap = CKA_WRAP, + Unwrap = CKA_UNWRAP, + Sign = CKA_SIGN, + SignRecover = CKA_SIGN_RECOVER, + Verify = CKA_VERIFY, + VerifyRecover = CKA_VERIFY_RECOVER, + Derive = CKA_DERIVE, + StartDate = CKA_START_DATE, + EndDate = CKA_END_DATE, + Modulus = CKA_MODULUS, + ModulusBits = CKA_MODULUS_BITS, + PublicExponent = CKA_PUBLIC_EXPONENT, + PrivateExponent = CKA_PRIVATE_EXPONENT, + Prime1 = CKA_PRIME_1, + Prime2 = CKA_PRIME_2, + Exponent1 = CKA_EXPONENT_1, + Exponent2 = CKA_EXPONENT_2, + Coefficient = CKA_COEFFICIENT, + PublicKeyInfo = CKA_PUBLIC_KEY_INFO, + Prime = CKA_PRIME, + Subprime = CKA_SUBPRIME, + Base = CKA_BASE, + PrimeBits = CKA_PRIME_BITS, + SubprimeBits = CKA_SUBPRIME_BITS, + SubPrimeBits = CKA_SUB_PRIME_BITS, + ValueBits = CKA_VALUE_BITS, + ValueLen = CKA_VALUE_LEN, + Extractable = CKA_EXTRACTABLE, + Local = CKA_LOCAL, + NeverExtractable = CKA_NEVER_EXTRACTABLE, + AlwaysSensitive = CKA_ALWAYS_SENSITIVE, + KeyGenMechanism = CKA_KEY_GEN_MECHANISM, + Modifiable = CKA_MODIFIABLE, + Copyable = CKA_COPYABLE, + Destroyable = CKA_DESTROYABLE, + EcdsaParams = CKA_ECDSA_PARAMS, + EcParams = CKA_EC_PARAMS, + EcPoint = CKA_EC_POINT, + SecondaryAuth = CKA_SECONDARY_AUTH, + AuthPinFlags = CKA_AUTH_PIN_FLAGS, + AlwaysAuthenticate = CKA_ALWAYS_AUTHENTICATE, + WrapWithTrusted = CKA_WRAP_WITH_TRUSTED, + WrapTemplate = CKA_WRAP_TEMPLATE, + UnwrapTemplate = CKA_UNWRAP_TEMPLATE, + DeriveTemplate = CKA_DERIVE_TEMPLATE, + OtpFormat = CKA_OTP_FORMAT, + OtpLength = CKA_OTP_LENGTH, + OtpTimeInterval = CKA_OTP_TIME_INTERVAL, + OtpUserFriendlyMode = CKA_OTP_USER_FRIENDLY_MODE, + OtpChallengeRequirement = CKA_OTP_CHALLENGE_REQUIREMENT, + OtpTimeRequirement = CKA_OTP_TIME_REQUIREMENT, + OtpCounterRequirement = CKA_OTP_COUNTER_REQUIREMENT, + OtpPinRequirement = CKA_OTP_PIN_REQUIREMENT, + OtpCounter = CKA_OTP_COUNTER, + OtpTime = CKA_OTP_TIME, + OtpUserIdentifier = CKA_OTP_USER_IDENTIFIER, + OtpServiceIdentifier = CKA_OTP_SERVICE_IDENTIFIER, + OtpServiceLogo = CKA_OTP_SERVICE_LOGO, + OtpServiceLogoType = CKA_OTP_SERVICE_LOGO_TYPE, + Gostr3410Params = CKA_GOSTR3410_PARAMS, + Gostr3411Params = CKA_GOSTR3411_PARAMS, + Gost28147Params = CKA_GOST28147_PARAMS, + HwFeatureType = CKA_HW_FEATURE_TYPE, + ResetOnInit = CKA_RESET_ON_INIT, + HasReset = CKA_HAS_RESET, + PixelX = CKA_PIXEL_X, + PixelY = CKA_PIXEL_Y, + Resolution = CKA_RESOLUTION, + CharRows = CKA_CHAR_ROWS, + CharColumns = CKA_CHAR_COLUMNS, + Color = CKA_COLOR, + BitsPerPixel = CKA_BITS_PER_PIXEL, + CharSets = CKA_CHAR_SETS, + EncodingMethods = CKA_ENCODING_METHODS, + MimeTypes = CKA_MIME_TYPES, + MechanismType = CKA_MECHANISM_TYPE, + RequiredCmsAttributes = CKA_REQUIRED_CMS_ATTRIBUTES, + DefaultCmsAttributes = CKA_DEFAULT_CMS_ATTRIBUTES, + SupportedCmsAttributes = CKA_SUPPORTED_CMS_ATTRIBUTES, + AllowedMechanisms = CKA_ALLOWED_MECHANISMS, + VendorDefined = CKA_VENDOR_DEFINED, + }; + +enum class CertificateType : CK_CERTIFICATE_TYPE + { + X509 = CKC_X_509, + X509AttrCert = CKC_X_509_ATTR_CERT, + Wtls = CKC_WTLS, + VendorDefined = CKC_VENDOR_DEFINED, + }; + +/// Indicates if a stored certificate is a user certificate for which the corresponding private key is available +/// on the token ("token user"), a CA certificate ("authority"), or another end-entity certificate ("other entity"). +enum class CertificateCategory : CK_ULONG + { + Unspecified = CK_CERTIFICATE_CATEGORY_UNSPECIFIED, + TokenUser = CK_CERTIFICATE_CATEGORY_TOKEN_USER, + Authority = CK_CERTIFICATE_CATEGORY_AUTHORITY, + OtherEntity = CK_CERTIFICATE_CATEGORY_OTHER_ENTITY + }; + +enum class KeyDerivation : CK_ULONG + { + Null = CKD_NULL, + Sha1Kdf = CKD_SHA1_KDF, + Sha1KdfAsn1 = CKD_SHA1_KDF_ASN1, + Sha1KdfConcatenate = CKD_SHA1_KDF_CONCATENATE, + Sha224Kdf = CKD_SHA224_KDF, + Sha256Kdf = CKD_SHA256_KDF, + Sha384Kdf = CKD_SHA384_KDF, + Sha512Kdf = CKD_SHA512_KDF, + CpdiversifyKdf = CKD_CPDIVERSIFY_KDF, + }; + +enum class Flag : CK_FLAGS + { + None = 0, + TokenPresent = CKF_TOKEN_PRESENT, + RemovableDevice = CKF_REMOVABLE_DEVICE, + HwSlot = CKF_HW_SLOT, + Rng = CKF_RNG, + WriteProtected = CKF_WRITE_PROTECTED, + LoginRequired = CKF_LOGIN_REQUIRED, + UserPinInitialized = CKF_USER_PIN_INITIALIZED, + RestoreKeyNotNeeded = CKF_RESTORE_KEY_NOT_NEEDED, + ClockOnToken = CKF_CLOCK_ON_TOKEN, + ProtectedAuthenticationPath = CKF_PROTECTED_AUTHENTICATION_PATH, + DualCryptoOperations = CKF_DUAL_CRYPTO_OPERATIONS, + TokenInitialized = CKF_TOKEN_INITIALIZED, + SecondaryAuthentication = CKF_SECONDARY_AUTHENTICATION, + UserPinCountLow = CKF_USER_PIN_COUNT_LOW, + UserPinFinalTry = CKF_USER_PIN_FINAL_TRY, + UserPinLocked = CKF_USER_PIN_LOCKED, + UserPinToBeChanged = CKF_USER_PIN_TO_BE_CHANGED, + SoPinCountLow = CKF_SO_PIN_COUNT_LOW, + SoPinFinalTry = CKF_SO_PIN_FINAL_TRY, + SoPinLocked = CKF_SO_PIN_LOCKED, + SoPinToBeChanged = CKF_SO_PIN_TO_BE_CHANGED, + ErrorState = CKF_ERROR_STATE, + RwSession = CKF_RW_SESSION, + SerialSession = CKF_SERIAL_SESSION, + ArrayAttribute = CKF_ARRAY_ATTRIBUTE, + Hw = CKF_HW, + Encrypt = CKF_ENCRYPT, + Decrypt = CKF_DECRYPT, + Digest = CKF_DIGEST, + Sign = CKF_SIGN, + SignRecover = CKF_SIGN_RECOVER, + Verify = CKF_VERIFY, + VerifyRecover = CKF_VERIFY_RECOVER, + Generate = CKF_GENERATE, + GenerateKeyPair = CKF_GENERATE_KEY_PAIR, + Wrap = CKF_WRAP, + Unwrap = CKF_UNWRAP, + Derive = CKF_DERIVE, + EcFP = CKF_EC_F_P, + EcF2m = CKF_EC_F_2M, + EcEcparameters = CKF_EC_ECPARAMETERS, + EcNamedcurve = CKF_EC_NAMEDCURVE, + EcUncompress = CKF_EC_UNCOMPRESS, + EcCompress = CKF_EC_COMPRESS, + Extension = CKF_EXTENSION, + LibraryCantCreateOsThreads = CKF_LIBRARY_CANT_CREATE_OS_THREADS, + OsLockingOk = CKF_OS_LOCKING_OK, + DontBlock = CKF_DONT_BLOCK, + NextOtp = CKF_NEXT_OTP, + ExcludeTime = CKF_EXCLUDE_TIME, + ExcludeCounter = CKF_EXCLUDE_COUNTER, + ExcludeChallenge = CKF_EXCLUDE_CHALLENGE, + ExcludePin = CKF_EXCLUDE_PIN, + UserFriendlyOtp = CKF_USER_FRIENDLY_OTP, + }; + +inline Flag operator | (Flag a, Flag b) + { + return static_cast< Flag >(static_cast< CK_FLAGS >(a) | static_cast< CK_FLAGS >(b)); + } + +enum class MGF : CK_RSA_PKCS_MGF_TYPE + { + Mgf1Sha1 = CKG_MGF1_SHA1, + Mgf1Sha256 = CKG_MGF1_SHA256, + Mgf1Sha384 = CKG_MGF1_SHA384, + Mgf1Sha512 = CKG_MGF1_SHA512, + Mgf1Sha224 = CKG_MGF1_SHA224, + }; + +enum class HardwareType : CK_HW_FEATURE_TYPE + { + MonotonicCounter = CKH_MONOTONIC_COUNTER, + Clock = CKH_CLOCK, + UserInterface = CKH_USER_INTERFACE, + VendorDefined = CKH_VENDOR_DEFINED, + }; + +enum class KeyType : CK_KEY_TYPE + { + Rsa = CKK_RSA, + Dsa = CKK_DSA, + Dh = CKK_DH, + Ecdsa = CKK_ECDSA, + Ec = CKK_EC, + X942Dh = CKK_X9_42_DH, + Kea = CKK_KEA, + GenericSecret = CKK_GENERIC_SECRET, + Rc2 = CKK_RC2, + Rc4 = CKK_RC4, + Des = CKK_DES, + Des2 = CKK_DES2, + Des3 = CKK_DES3, + Cast = CKK_CAST, + Cast3 = CKK_CAST3, + Cast5 = CKK_CAST5, + Cast128 = CKK_CAST128, + Rc5 = CKK_RC5, + Idea = CKK_IDEA, + Skipjack = CKK_SKIPJACK, + Baton = CKK_BATON, + Juniper = CKK_JUNIPER, + Cdmf = CKK_CDMF, + Aes = CKK_AES, + Blowfish = CKK_BLOWFISH, + Twofish = CKK_TWOFISH, + Securid = CKK_SECURID, + Hotp = CKK_HOTP, + Acti = CKK_ACTI, + Camellia = CKK_CAMELLIA, + Aria = CKK_ARIA, + Md5Hmac = CKK_MD5_HMAC, + Sha1Hmac = CKK_SHA_1_HMAC, + Ripemd128Hmac = CKK_RIPEMD128_HMAC, + Ripemd160Hmac = CKK_RIPEMD160_HMAC, + Sha256Hmac = CKK_SHA256_HMAC, + Sha384Hmac = CKK_SHA384_HMAC, + Sha512Hmac = CKK_SHA512_HMAC, + Sha224Hmac = CKK_SHA224_HMAC, + Seed = CKK_SEED, + Gostr3410 = CKK_GOSTR3410, + Gostr3411 = CKK_GOSTR3411, + Gost28147 = CKK_GOST28147, + VendorDefined = CKK_VENDOR_DEFINED, + }; + +enum class MechanismType : CK_MECHANISM_TYPE + { + RsaPkcsKeyPairGen = CKM_RSA_PKCS_KEY_PAIR_GEN, + RsaPkcs = CKM_RSA_PKCS, + Rsa9796 = CKM_RSA_9796, + RsaX509 = CKM_RSA_X_509, + Md2RsaPkcs = CKM_MD2_RSA_PKCS, + Md5RsaPkcs = CKM_MD5_RSA_PKCS, + Sha1RsaPkcs = CKM_SHA1_RSA_PKCS, + Ripemd128RsaPkcs = CKM_RIPEMD128_RSA_PKCS, + Ripemd160RsaPkcs = CKM_RIPEMD160_RSA_PKCS, + RsaPkcsOaep = CKM_RSA_PKCS_OAEP, + RsaX931KeyPairGen = CKM_RSA_X9_31_KEY_PAIR_GEN, + RsaX931 = CKM_RSA_X9_31, + Sha1RsaX931 = CKM_SHA1_RSA_X9_31, + RsaPkcsPss = CKM_RSA_PKCS_PSS, + Sha1RsaPkcsPss = CKM_SHA1_RSA_PKCS_PSS, + DsaKeyPairGen = CKM_DSA_KEY_PAIR_GEN, + Dsa = CKM_DSA, + DsaSha1 = CKM_DSA_SHA1, + DsaSha224 = CKM_DSA_SHA224, + DsaSha256 = CKM_DSA_SHA256, + DsaSha384 = CKM_DSA_SHA384, + DsaSha512 = CKM_DSA_SHA512, + DhPkcsKeyPairGen = CKM_DH_PKCS_KEY_PAIR_GEN, + DhPkcsDerive = CKM_DH_PKCS_DERIVE, + X942DhKeyPairGen = CKM_X9_42_DH_KEY_PAIR_GEN, + X942DhDerive = CKM_X9_42_DH_DERIVE, + X942DhHybridDerive = CKM_X9_42_DH_HYBRID_DERIVE, + X942MqvDerive = CKM_X9_42_MQV_DERIVE, + Sha256RsaPkcs = CKM_SHA256_RSA_PKCS, + Sha384RsaPkcs = CKM_SHA384_RSA_PKCS, + Sha512RsaPkcs = CKM_SHA512_RSA_PKCS, + Sha256RsaPkcsPss = CKM_SHA256_RSA_PKCS_PSS, + Sha384RsaPkcsPss = CKM_SHA384_RSA_PKCS_PSS, + Sha512RsaPkcsPss = CKM_SHA512_RSA_PKCS_PSS, + Sha224RsaPkcs = CKM_SHA224_RSA_PKCS, + Sha224RsaPkcsPss = CKM_SHA224_RSA_PKCS_PSS, + Sha512224 = CKM_SHA512_224, + Sha512224Hmac = CKM_SHA512_224_HMAC, + Sha512224HmacGeneral = CKM_SHA512_224_HMAC_GENERAL, + Sha512224KeyDerivation = CKM_SHA512_224_KEY_DERIVATION, + Sha512256 = CKM_SHA512_256, + Sha512256Hmac = CKM_SHA512_256_HMAC, + Sha512256HmacGeneral = CKM_SHA512_256_HMAC_GENERAL, + Sha512256KeyDerivation = CKM_SHA512_256_KEY_DERIVATION, + Sha512T = CKM_SHA512_T, + Sha512THmac = CKM_SHA512_T_HMAC, + Sha512THmacGeneral = CKM_SHA512_T_HMAC_GENERAL, + Sha512TKeyDerivation = CKM_SHA512_T_KEY_DERIVATION, + Rc2KeyGen = CKM_RC2_KEY_GEN, + Rc2Ecb = CKM_RC2_ECB, + Rc2Cbc = CKM_RC2_CBC, + Rc2Mac = CKM_RC2_MAC, + Rc2MacGeneral = CKM_RC2_MAC_GENERAL, + Rc2CbcPad = CKM_RC2_CBC_PAD, + Rc4KeyGen = CKM_RC4_KEY_GEN, + Rc4 = CKM_RC4, + DesKeyGen = CKM_DES_KEY_GEN, + DesEcb = CKM_DES_ECB, + DesCbc = CKM_DES_CBC, + DesMac = CKM_DES_MAC, + DesMacGeneral = CKM_DES_MAC_GENERAL, + DesCbcPad = CKM_DES_CBC_PAD, + Des2KeyGen = CKM_DES2_KEY_GEN, + Des3KeyGen = CKM_DES3_KEY_GEN, + Des3Ecb = CKM_DES3_ECB, + Des3Cbc = CKM_DES3_CBC, + Des3Mac = CKM_DES3_MAC, + Des3MacGeneral = CKM_DES3_MAC_GENERAL, + Des3CbcPad = CKM_DES3_CBC_PAD, + Des3CmacGeneral = CKM_DES3_CMAC_GENERAL, + Des3Cmac = CKM_DES3_CMAC, + CdmfKeyGen = CKM_CDMF_KEY_GEN, + CdmfEcb = CKM_CDMF_ECB, + CdmfCbc = CKM_CDMF_CBC, + CdmfMac = CKM_CDMF_MAC, + CdmfMacGeneral = CKM_CDMF_MAC_GENERAL, + CdmfCbcPad = CKM_CDMF_CBC_PAD, + DesOfb64 = CKM_DES_OFB64, + DesOfb8 = CKM_DES_OFB8, + DesCfb64 = CKM_DES_CFB64, + DesCfb8 = CKM_DES_CFB8, + Md2 = CKM_MD2, + Md2Hmac = CKM_MD2_HMAC, + Md2HmacGeneral = CKM_MD2_HMAC_GENERAL, + Md5 = CKM_MD5, + Md5Hmac = CKM_MD5_HMAC, + Md5HmacGeneral = CKM_MD5_HMAC_GENERAL, + Sha1 = CKM_SHA_1, + Sha1Hmac = CKM_SHA_1_HMAC, + Sha1HmacGeneral = CKM_SHA_1_HMAC_GENERAL, + Ripemd128 = CKM_RIPEMD128, + Ripemd128Hmac = CKM_RIPEMD128_HMAC, + Ripemd128HmacGeneral = CKM_RIPEMD128_HMAC_GENERAL, + Ripemd160 = CKM_RIPEMD160, + Ripemd160Hmac = CKM_RIPEMD160_HMAC, + Ripemd160HmacGeneral = CKM_RIPEMD160_HMAC_GENERAL, + Sha256 = CKM_SHA256, + Sha256Hmac = CKM_SHA256_HMAC, + Sha256HmacGeneral = CKM_SHA256_HMAC_GENERAL, + Sha224 = CKM_SHA224, + Sha224Hmac = CKM_SHA224_HMAC, + Sha224HmacGeneral = CKM_SHA224_HMAC_GENERAL, + Sha384 = CKM_SHA384, + Sha384Hmac = CKM_SHA384_HMAC, + Sha384HmacGeneral = CKM_SHA384_HMAC_GENERAL, + Sha512 = CKM_SHA512, + Sha512Hmac = CKM_SHA512_HMAC, + Sha512HmacGeneral = CKM_SHA512_HMAC_GENERAL, + SecuridKeyGen = CKM_SECURID_KEY_GEN, + Securid = CKM_SECURID, + HotpKeyGen = CKM_HOTP_KEY_GEN, + Hotp = CKM_HOTP, + Acti = CKM_ACTI, + ActiKeyGen = CKM_ACTI_KEY_GEN, + CastKeyGen = CKM_CAST_KEY_GEN, + CastEcb = CKM_CAST_ECB, + CastCbc = CKM_CAST_CBC, + CastMac = CKM_CAST_MAC, + CastMacGeneral = CKM_CAST_MAC_GENERAL, + CastCbcPad = CKM_CAST_CBC_PAD, + Cast3KeyGen = CKM_CAST3_KEY_GEN, + Cast3Ecb = CKM_CAST3_ECB, + Cast3Cbc = CKM_CAST3_CBC, + Cast3Mac = CKM_CAST3_MAC, + Cast3MacGeneral = CKM_CAST3_MAC_GENERAL, + Cast3CbcPad = CKM_CAST3_CBC_PAD, + Cast5KeyGen = CKM_CAST5_KEY_GEN, + Cast128KeyGen = CKM_CAST128_KEY_GEN, + Cast5Ecb = CKM_CAST5_ECB, + Cast128Ecb = CKM_CAST128_ECB, + Cast5Cbc = CKM_CAST5_CBC, + Cast128Cbc = CKM_CAST128_CBC, + Cast5Mac = CKM_CAST5_MAC, + Cast128Mac = CKM_CAST128_MAC, + Cast5MacGeneral = CKM_CAST5_MAC_GENERAL, + Cast128MacGeneral = CKM_CAST128_MAC_GENERAL, + Cast5CbcPad = CKM_CAST5_CBC_PAD, + Cast128CbcPad = CKM_CAST128_CBC_PAD, + Rc5KeyGen = CKM_RC5_KEY_GEN, + Rc5Ecb = CKM_RC5_ECB, + Rc5Cbc = CKM_RC5_CBC, + Rc5Mac = CKM_RC5_MAC, + Rc5MacGeneral = CKM_RC5_MAC_GENERAL, + Rc5CbcPad = CKM_RC5_CBC_PAD, + IdeaKeyGen = CKM_IDEA_KEY_GEN, + IdeaEcb = CKM_IDEA_ECB, + IdeaCbc = CKM_IDEA_CBC, + IdeaMac = CKM_IDEA_MAC, + IdeaMacGeneral = CKM_IDEA_MAC_GENERAL, + IdeaCbcPad = CKM_IDEA_CBC_PAD, + GenericSecretKeyGen = CKM_GENERIC_SECRET_KEY_GEN, + ConcatenateBaseAndKey = CKM_CONCATENATE_BASE_AND_KEY, + ConcatenateBaseAndData = CKM_CONCATENATE_BASE_AND_DATA, + ConcatenateDataAndBase = CKM_CONCATENATE_DATA_AND_BASE, + XorBaseAndData = CKM_XOR_BASE_AND_DATA, + ExtractKeyFromKey = CKM_EXTRACT_KEY_FROM_KEY, + Ssl3PreMasterKeyGen = CKM_SSL3_PRE_MASTER_KEY_GEN, + Ssl3MasterKeyDerive = CKM_SSL3_MASTER_KEY_DERIVE, + Ssl3KeyAndMacDerive = CKM_SSL3_KEY_AND_MAC_DERIVE, + Ssl3MasterKeyDeriveDh = CKM_SSL3_MASTER_KEY_DERIVE_DH, + TlsPreMasterKeyGen = CKM_TLS_PRE_MASTER_KEY_GEN, + TlsMasterKeyDerive = CKM_TLS_MASTER_KEY_DERIVE, + TlsKeyAndMacDerive = CKM_TLS_KEY_AND_MAC_DERIVE, + TlsMasterKeyDeriveDh = CKM_TLS_MASTER_KEY_DERIVE_DH, + TlsPrf = CKM_TLS_PRF, + Ssl3Md5Mac = CKM_SSL3_MD5_MAC, + Ssl3Sha1Mac = CKM_SSL3_SHA1_MAC, + Md5KeyDerivation = CKM_MD5_KEY_DERIVATION, + Md2KeyDerivation = CKM_MD2_KEY_DERIVATION, + Sha1KeyDerivation = CKM_SHA1_KEY_DERIVATION, + Sha256KeyDerivation = CKM_SHA256_KEY_DERIVATION, + Sha384KeyDerivation = CKM_SHA384_KEY_DERIVATION, + Sha512KeyDerivation = CKM_SHA512_KEY_DERIVATION, + Sha224KeyDerivation = CKM_SHA224_KEY_DERIVATION, + PbeMd2DesCbc = CKM_PBE_MD2_DES_CBC, + PbeMd5DesCbc = CKM_PBE_MD5_DES_CBC, + PbeMd5CastCbc = CKM_PBE_MD5_CAST_CBC, + PbeMd5Cast3Cbc = CKM_PBE_MD5_CAST3_CBC, + PbeMd5Cast5Cbc = CKM_PBE_MD5_CAST5_CBC, + PbeMd5Cast128Cbc = CKM_PBE_MD5_CAST128_CBC, + PbeSha1Cast5Cbc = CKM_PBE_SHA1_CAST5_CBC, + PbeSha1Cast128Cbc = CKM_PBE_SHA1_CAST128_CBC, + PbeSha1Rc4128 = CKM_PBE_SHA1_RC4_128, + PbeSha1Rc440 = CKM_PBE_SHA1_RC4_40, + PbeSha1Des3EdeCbc = CKM_PBE_SHA1_DES3_EDE_CBC, + PbeSha1Des2EdeCbc = CKM_PBE_SHA1_DES2_EDE_CBC, + PbeSha1Rc2128Cbc = CKM_PBE_SHA1_RC2_128_CBC, + PbeSha1Rc240Cbc = CKM_PBE_SHA1_RC2_40_CBC, + Pkcs5Pbkd2 = CKM_PKCS5_PBKD2, + PbaSha1WithSha1Hmac = CKM_PBA_SHA1_WITH_SHA1_HMAC, + WtlsPreMasterKeyGen = CKM_WTLS_PRE_MASTER_KEY_GEN, + WtlsMasterKeyDerive = CKM_WTLS_MASTER_KEY_DERIVE, + WtlsMasterKeyDeriveDhEcc = CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC, + WtlsPrf = CKM_WTLS_PRF, + WtlsServerKeyAndMacDerive = CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE, + WtlsClientKeyAndMacDerive = CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE, + Tls10MacServer = CKM_TLS10_MAC_SERVER, + Tls10MacClient = CKM_TLS10_MAC_CLIENT, + Tls12Mac = CKM_TLS12_MAC, + Tls12Kdf = CKM_TLS12_KDF, + Tls12MasterKeyDerive = CKM_TLS12_MASTER_KEY_DERIVE, + Tls12KeyAndMacDerive = CKM_TLS12_KEY_AND_MAC_DERIVE, + Tls12MasterKeyDeriveDh = CKM_TLS12_MASTER_KEY_DERIVE_DH, + Tls12KeySafeDerive = CKM_TLS12_KEY_SAFE_DERIVE, + TlsMac = CKM_TLS_MAC, + TlsKdf = CKM_TLS_KDF, + KeyWrapLynks = CKM_KEY_WRAP_LYNKS, + KeyWrapSetOaep = CKM_KEY_WRAP_SET_OAEP, + CmsSig = CKM_CMS_SIG, + KipDerive = CKM_KIP_DERIVE, + KipWrap = CKM_KIP_WRAP, + KipMac = CKM_KIP_MAC, + CamelliaKeyGen = CKM_CAMELLIA_KEY_GEN, + CamelliaEcb = CKM_CAMELLIA_ECB, + CamelliaCbc = CKM_CAMELLIA_CBC, + CamelliaMac = CKM_CAMELLIA_MAC, + CamelliaMacGeneral = CKM_CAMELLIA_MAC_GENERAL, + CamelliaCbcPad = CKM_CAMELLIA_CBC_PAD, + CamelliaEcbEncryptData = CKM_CAMELLIA_ECB_ENCRYPT_DATA, + CamelliaCbcEncryptData = CKM_CAMELLIA_CBC_ENCRYPT_DATA, + CamelliaCtr = CKM_CAMELLIA_CTR, + AriaKeyGen = CKM_ARIA_KEY_GEN, + AriaEcb = CKM_ARIA_ECB, + AriaCbc = CKM_ARIA_CBC, + AriaMac = CKM_ARIA_MAC, + AriaMacGeneral = CKM_ARIA_MAC_GENERAL, + AriaCbcPad = CKM_ARIA_CBC_PAD, + AriaEcbEncryptData = CKM_ARIA_ECB_ENCRYPT_DATA, + AriaCbcEncryptData = CKM_ARIA_CBC_ENCRYPT_DATA, + SeedKeyGen = CKM_SEED_KEY_GEN, + SeedEcb = CKM_SEED_ECB, + SeedCbc = CKM_SEED_CBC, + SeedMac = CKM_SEED_MAC, + SeedMacGeneral = CKM_SEED_MAC_GENERAL, + SeedCbcPad = CKM_SEED_CBC_PAD, + SeedEcbEncryptData = CKM_SEED_ECB_ENCRYPT_DATA, + SeedCbcEncryptData = CKM_SEED_CBC_ENCRYPT_DATA, + SkipjackKeyGen = CKM_SKIPJACK_KEY_GEN, + SkipjackEcb64 = CKM_SKIPJACK_ECB64, + SkipjackCbc64 = CKM_SKIPJACK_CBC64, + SkipjackOfb64 = CKM_SKIPJACK_OFB64, + SkipjackCfb64 = CKM_SKIPJACK_CFB64, + SkipjackCfb32 = CKM_SKIPJACK_CFB32, + SkipjackCfb16 = CKM_SKIPJACK_CFB16, + SkipjackCfb8 = CKM_SKIPJACK_CFB8, + SkipjackWrap = CKM_SKIPJACK_WRAP, + SkipjackPrivateWrap = CKM_SKIPJACK_PRIVATE_WRAP, + SkipjackRelayx = CKM_SKIPJACK_RELAYX, + KeaKeyPairGen = CKM_KEA_KEY_PAIR_GEN, + KeaKeyDerive = CKM_KEA_KEY_DERIVE, + KeaDerive = CKM_KEA_DERIVE, + FortezzaTimestamp = CKM_FORTEZZA_TIMESTAMP, + BatonKeyGen = CKM_BATON_KEY_GEN, + BatonEcb128 = CKM_BATON_ECB128, + BatonEcb96 = CKM_BATON_ECB96, + BatonCbc128 = CKM_BATON_CBC128, + BatonCounter = CKM_BATON_COUNTER, + BatonShuffle = CKM_BATON_SHUFFLE, + BatonWrap = CKM_BATON_WRAP, + EcdsaKeyPairGen = CKM_ECDSA_KEY_PAIR_GEN, + EcKeyPairGen = CKM_EC_KEY_PAIR_GEN, + Ecdsa = CKM_ECDSA, + EcdsaSha1 = CKM_ECDSA_SHA1, + EcdsaSha224 = CKM_ECDSA_SHA224, + EcdsaSha256 = CKM_ECDSA_SHA256, + EcdsaSha384 = CKM_ECDSA_SHA384, + EcdsaSha512 = CKM_ECDSA_SHA512, + Ecdh1Derive = CKM_ECDH1_DERIVE, + Ecdh1CofactorDerive = CKM_ECDH1_COFACTOR_DERIVE, + EcmqvDerive = CKM_ECMQV_DERIVE, + EcdhAesKeyWrap = CKM_ECDH_AES_KEY_WRAP, + RsaAesKeyWrap = CKM_RSA_AES_KEY_WRAP, + JuniperKeyGen = CKM_JUNIPER_KEY_GEN, + JuniperEcb128 = CKM_JUNIPER_ECB128, + JuniperCbc128 = CKM_JUNIPER_CBC128, + JuniperCounter = CKM_JUNIPER_COUNTER, + JuniperShuffle = CKM_JUNIPER_SHUFFLE, + JuniperWrap = CKM_JUNIPER_WRAP, + Fasthash = CKM_FASTHASH, + AesKeyGen = CKM_AES_KEY_GEN, + AesEcb = CKM_AES_ECB, + AesCbc = CKM_AES_CBC, + AesMac = CKM_AES_MAC, + AesMacGeneral = CKM_AES_MAC_GENERAL, + AesCbcPad = CKM_AES_CBC_PAD, + AesCtr = CKM_AES_CTR, + AesGcm = CKM_AES_GCM, + AesCcm = CKM_AES_CCM, + AesCts = CKM_AES_CTS, + AesCmac = CKM_AES_CMAC, + AesCmacGeneral = CKM_AES_CMAC_GENERAL, + AesXcbcMac = CKM_AES_XCBC_MAC, + AesXcbcMac96 = CKM_AES_XCBC_MAC_96, + AesGmac = CKM_AES_GMAC, + BlowfishKeyGen = CKM_BLOWFISH_KEY_GEN, + BlowfishCbc = CKM_BLOWFISH_CBC, + TwofishKeyGen = CKM_TWOFISH_KEY_GEN, + TwofishCbc = CKM_TWOFISH_CBC, + BlowfishCbcPad = CKM_BLOWFISH_CBC_PAD, + TwofishCbcPad = CKM_TWOFISH_CBC_PAD, + DesEcbEncryptData = CKM_DES_ECB_ENCRYPT_DATA, + DesCbcEncryptData = CKM_DES_CBC_ENCRYPT_DATA, + Des3EcbEncryptData = CKM_DES3_ECB_ENCRYPT_DATA, + Des3CbcEncryptData = CKM_DES3_CBC_ENCRYPT_DATA, + AesEcbEncryptData = CKM_AES_ECB_ENCRYPT_DATA, + AesCbcEncryptData = CKM_AES_CBC_ENCRYPT_DATA, + Gostr3410KeyPairGen = CKM_GOSTR3410_KEY_PAIR_GEN, + Gostr3410 = CKM_GOSTR3410, + Gostr3410WithGostr3411 = CKM_GOSTR3410_WITH_GOSTR3411, + Gostr3410KeyWrap = CKM_GOSTR3410_KEY_WRAP, + Gostr3410Derive = CKM_GOSTR3410_DERIVE, + Gostr3411 = CKM_GOSTR3411, + Gostr3411Hmac = CKM_GOSTR3411_HMAC, + Gost28147KeyGen = CKM_GOST28147_KEY_GEN, + Gost28147Ecb = CKM_GOST28147_ECB, + Gost28147 = CKM_GOST28147, + Gost28147Mac = CKM_GOST28147_MAC, + Gost28147KeyWrap = CKM_GOST28147_KEY_WRAP, + DsaParameterGen = CKM_DSA_PARAMETER_GEN, + DhPkcsParameterGen = CKM_DH_PKCS_PARAMETER_GEN, + X942DhParameterGen = CKM_X9_42_DH_PARAMETER_GEN, + DsaProbablisticParameterGen = CKM_DSA_PROBABLISTIC_PARAMETER_GEN, + DsaShaweTaylorParameterGen = CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN, + AesOfb = CKM_AES_OFB, + AesCfb64 = CKM_AES_CFB64, + AesCfb8 = CKM_AES_CFB8, + AesCfb128 = CKM_AES_CFB128, + AesCfb1 = CKM_AES_CFB1, + AesKeyWrap = CKM_AES_KEY_WRAP, + AesKeyWrapPad = CKM_AES_KEY_WRAP_PAD, + RsaPkcsTpm11 = CKM_RSA_PKCS_TPM_1_1, + RsaPkcsOaepTpm11 = CKM_RSA_PKCS_OAEP_TPM_1_1, + VendorDefined = CKM_VENDOR_DEFINED, + }; + +enum class Notification : CK_NOTIFICATION + { + Surrender = CKN_SURRENDER, + OtpChanged = CKN_OTP_CHANGED, + }; + +enum class ObjectClass : CK_OBJECT_CLASS + { + Data = CKO_DATA, + Certificate = CKO_CERTIFICATE, + PublicKey = CKO_PUBLIC_KEY, + PrivateKey = CKO_PRIVATE_KEY, + SecretKey = CKO_SECRET_KEY, + HwFeature = CKO_HW_FEATURE, + DomainParameters = CKO_DOMAIN_PARAMETERS, + Mechanism = CKO_MECHANISM, + OtpKey = CKO_OTP_KEY, + VendorDefined = CKO_VENDOR_DEFINED, + }; + +enum class PseudoRandom : CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE + { + Pkcs5Pbkd2HmacSha1 = CKP_PKCS5_PBKD2_HMAC_SHA1, + Pkcs5Pbkd2HmacGostr3411 = CKP_PKCS5_PBKD2_HMAC_GOSTR3411, + Pkcs5Pbkd2HmacSha224 = CKP_PKCS5_PBKD2_HMAC_SHA224, + Pkcs5Pbkd2HmacSha256 = CKP_PKCS5_PBKD2_HMAC_SHA256, + Pkcs5Pbkd2HmacSha384 = CKP_PKCS5_PBKD2_HMAC_SHA384, + Pkcs5Pbkd2HmacSha512 = CKP_PKCS5_PBKD2_HMAC_SHA512, + Pkcs5Pbkd2HmacSha512224 = CKP_PKCS5_PBKD2_HMAC_SHA512_224, + Pkcs5Pbkd2HmacSha512256 = CKP_PKCS5_PBKD2_HMAC_SHA512_256, + }; + +enum class SessionState : CK_STATE + { + RoPublicSession = CKS_RO_PUBLIC_SESSION, + RoUserFunctions = CKS_RO_USER_FUNCTIONS, + RwPublicSession = CKS_RW_PUBLIC_SESSION, + RwUserFunctions = CKS_RW_USER_FUNCTIONS, + RwSoFunctions = CKS_RW_SO_FUNCTIONS, + }; + +enum class ReturnValue : CK_RV + { + OK = CKR_OK, + Cancel = CKR_CANCEL, + HostMemory = CKR_HOST_MEMORY, + SlotIdInvalid = CKR_SLOT_ID_INVALID, + GeneralError = CKR_GENERAL_ERROR, + FunctionFailed = CKR_FUNCTION_FAILED, + ArgumentsBad = CKR_ARGUMENTS_BAD, + NoEvent = CKR_NO_EVENT, + NeedToCreateThreads = CKR_NEED_TO_CREATE_THREADS, + CantLock = CKR_CANT_LOCK, + AttributeReadOnly = CKR_ATTRIBUTE_READ_ONLY, + AttributeSensitive = CKR_ATTRIBUTE_SENSITIVE, + AttributeTypeInvalid = CKR_ATTRIBUTE_TYPE_INVALID, + AttributeValueInvalid = CKR_ATTRIBUTE_VALUE_INVALID, + ActionProhibited = CKR_ACTION_PROHIBITED, + DataInvalid = CKR_DATA_INVALID, + DataLenRange = CKR_DATA_LEN_RANGE, + DeviceError = CKR_DEVICE_ERROR, + DeviceMemory = CKR_DEVICE_MEMORY, + DeviceRemoved = CKR_DEVICE_REMOVED, + EncryptedDataInvalid = CKR_ENCRYPTED_DATA_INVALID, + EncryptedDataLenRange = CKR_ENCRYPTED_DATA_LEN_RANGE, + FunctionCanceled = CKR_FUNCTION_CANCELED, + FunctionNotParallel = CKR_FUNCTION_NOT_PARALLEL, + FunctionNotSupported = CKR_FUNCTION_NOT_SUPPORTED, + KeyHandleInvalid = CKR_KEY_HANDLE_INVALID, + KeySizeRange = CKR_KEY_SIZE_RANGE, + KeyTypeInconsistent = CKR_KEY_TYPE_INCONSISTENT, + KeyNotNeeded = CKR_KEY_NOT_NEEDED, + KeyChanged = CKR_KEY_CHANGED, + KeyNeeded = CKR_KEY_NEEDED, + KeyIndigestible = CKR_KEY_INDIGESTIBLE, + KeyFunctionNotPermitted = CKR_KEY_FUNCTION_NOT_PERMITTED, + KeyNotWrappable = CKR_KEY_NOT_WRAPPABLE, + KeyUnextractable = CKR_KEY_UNEXTRACTABLE, + MechanismInvalid = CKR_MECHANISM_INVALID, + MechanismParamInvalid = CKR_MECHANISM_PARAM_INVALID, + ObjectHandleInvalid = CKR_OBJECT_HANDLE_INVALID, + OperationActive = CKR_OPERATION_ACTIVE, + OperationNotInitialized = CKR_OPERATION_NOT_INITIALIZED, + PinIncorrect = CKR_PIN_INCORRECT, + PinInvalid = CKR_PIN_INVALID, + PinLenRange = CKR_PIN_LEN_RANGE, + PinExpired = CKR_PIN_EXPIRED, + PinLocked = CKR_PIN_LOCKED, + SessionClosed = CKR_SESSION_CLOSED, + SessionCount = CKR_SESSION_COUNT, + SessionHandleInvalid = CKR_SESSION_HANDLE_INVALID, + SessionParallelNotSupported = CKR_SESSION_PARALLEL_NOT_SUPPORTED, + SessionReadOnly = CKR_SESSION_READ_ONLY, + SessionExists = CKR_SESSION_EXISTS, + SessionReadOnlyExists = CKR_SESSION_READ_ONLY_EXISTS, + SessionReadWriteSoExists = CKR_SESSION_READ_WRITE_SO_EXISTS, + SignatureInvalid = CKR_SIGNATURE_INVALID, + SignatureLenRange = CKR_SIGNATURE_LEN_RANGE, + TemplateIncomplete = CKR_TEMPLATE_INCOMPLETE, + TemplateInconsistent = CKR_TEMPLATE_INCONSISTENT, + TokenNotPresent = CKR_TOKEN_NOT_PRESENT, + TokenNotRecognized = CKR_TOKEN_NOT_RECOGNIZED, + TokenWriteProtected = CKR_TOKEN_WRITE_PROTECTED, + UnwrappingKeyHandleInvalid = CKR_UNWRAPPING_KEY_HANDLE_INVALID, + UnwrappingKeySizeRange = CKR_UNWRAPPING_KEY_SIZE_RANGE, + UnwrappingKeyTypeInconsistent = CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT, + UserAlreadyLoggedIn = CKR_USER_ALREADY_LOGGED_IN, + UserNotLoggedIn = CKR_USER_NOT_LOGGED_IN, + UserPinNotInitialized = CKR_USER_PIN_NOT_INITIALIZED, + UserTypeInvalid = CKR_USER_TYPE_INVALID, + UserAnotherAlreadyLoggedIn = CKR_USER_ANOTHER_ALREADY_LOGGED_IN, + UserTooManyTypes = CKR_USER_TOO_MANY_TYPES, + WrappedKeyInvalid = CKR_WRAPPED_KEY_INVALID, + WrappedKeyLenRange = CKR_WRAPPED_KEY_LEN_RANGE, + WrappingKeyHandleInvalid = CKR_WRAPPING_KEY_HANDLE_INVALID, + WrappingKeySizeRange = CKR_WRAPPING_KEY_SIZE_RANGE, + WrappingKeyTypeInconsistent = CKR_WRAPPING_KEY_TYPE_INCONSISTENT, + RandomSeedNotSupported = CKR_RANDOM_SEED_NOT_SUPPORTED, + RandomNoRng = CKR_RANDOM_NO_RNG, + DomainParamsInvalid = CKR_DOMAIN_PARAMS_INVALID, + CurveNotSupported = CKR_CURVE_NOT_SUPPORTED, + BufferTooSmall = CKR_BUFFER_TOO_SMALL, + SavedStateInvalid = CKR_SAVED_STATE_INVALID, + InformationSensitive = CKR_INFORMATION_SENSITIVE, + StateUnsaveable = CKR_STATE_UNSAVEABLE, + CryptokiNotInitialized = CKR_CRYPTOKI_NOT_INITIALIZED, + CryptokiAlreadyInitialized = CKR_CRYPTOKI_ALREADY_INITIALIZED, + MutexBad = CKR_MUTEX_BAD, + MutexNotLocked = CKR_MUTEX_NOT_LOCKED, + NewPinMode = CKR_NEW_PIN_MODE, + NextOtp = CKR_NEXT_OTP, + ExceededMaxIterations = CKR_EXCEEDED_MAX_ITERATIONS, + FipsSelfTestFailed = CKR_FIPS_SELF_TEST_FAILED, + LibraryLoadFailed = CKR_LIBRARY_LOAD_FAILED, + PinTooWeak = CKR_PIN_TOO_WEAK, + PublicKeyInvalid = CKR_PUBLIC_KEY_INVALID, + FunctionRejected = CKR_FUNCTION_REJECTED, + VendorDefined = CKR_VENDOR_DEFINED, + }; + +enum class UserType : CK_USER_TYPE + { + SO = CKU_SO, + User = CKU_USER, + ContextSpecific = CKU_CONTEXT_SPECIFIC, + }; + +enum class PublicPointEncoding : uint32_t + { + Raw, + Der + }; + +using FunctionListPtr = CK_FUNCTION_LIST_PTR; +using VoidPtr = CK_VOID_PTR; +using C_InitializeArgs = CK_C_INITIALIZE_ARGS; +using CreateMutex = CK_CREATEMUTEX; +using DestroyMutex = CK_DESTROYMUTEX; +using LockMutex = CK_LOCKMUTEX; +using UnlockMutex = CK_UNLOCKMUTEX; +using Flags = CK_FLAGS; +using Info = CK_INFO; +using Bbool = CK_BBOOL; +using SlotId = CK_SLOT_ID; +using Ulong = CK_ULONG; +using SlotInfo = CK_SLOT_INFO; +using TokenInfo = CK_TOKEN_INFO; +using Mechanism = CK_MECHANISM; +using MechanismInfo = CK_MECHANISM_INFO; +using Utf8Char = CK_UTF8CHAR; +using Notify = CK_NOTIFY; +using SessionHandle = CK_SESSION_HANDLE; +using SessionInfo = CK_SESSION_INFO; +using Attribute = CK_ATTRIBUTE; +using ObjectHandle = CK_OBJECT_HANDLE; +using Byte = CK_BYTE; +using RsaPkcsOaepParams = CK_RSA_PKCS_OAEP_PARAMS; +using RsaPkcsPssParams = CK_RSA_PKCS_PSS_PARAMS; +using Ecdh1DeriveParams = CK_ECDH1_DERIVE_PARAMS; +using Date = CK_DATE; + +BOTAN_PUBLIC_API(2,0) extern ReturnValue* ThrowException; + +const Bbool True = CK_TRUE; +const Bbool False = CK_FALSE; + +inline Flags flags(Flag flags) + { + return static_cast(flags); + } + +class Slot; + +/** +* Initializes a token +* @param slot The slot with the attached token that should be initialized +* @param label The token label +* @param so_pin PIN of the security officer. Will be set if the token is uninitialized other this has to be the current SO_PIN +* @param pin The user PIN that will be set +*/ +BOTAN_PUBLIC_API(2,0) void initialize_token(Slot& slot, const std::string& label, const secure_string& so_pin, + const secure_string& pin); + +/** +* Change PIN with old PIN to new PIN +* @param slot The slot with the attached token +* @param old_pin The old user PIN +* @param new_pin The new user PIN +*/ + +BOTAN_PUBLIC_API(2,0) void change_pin(Slot& slot, const secure_string& old_pin, const secure_string& new_pin); + +/** +* Change SO_PIN with old SO_PIN to new SO_PIN +* @param slot The slot with the attached token +* @param old_so_pin The old SO_PIN +* @param new_so_pin The new SO_PIN +*/ +BOTAN_PUBLIC_API(2,0) void change_so_pin(Slot& slot, const secure_string& old_so_pin, const secure_string& new_so_pin); + +/** +* Sets user PIN with SO_PIN +* @param slot The slot with the attached token +* @param so_pin PIN of the security officer +* @param pin The user PIN that should be set +*/ +BOTAN_PUBLIC_API(2,0) void set_pin(Slot& slot, const secure_string& so_pin, const secure_string& pin); + +/// Provides access to all PKCS#11 functions +class BOTAN_PUBLIC_API(2,0) LowLevel + { + public: + /// @param ptr the functon list pointer to use. Can be retrieved via `LowLevel::C_GetFunctionList` + explicit LowLevel(FunctionListPtr ptr); + + /****************************** General purpose functions ******************************/ + + /** + * C_Initialize initializes the Cryptoki library. + * @param init_args if this is not nullptr, it gets cast to (`C_InitializeArgs`) and dereferenced + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CantLock \li CryptokiAlreadyInitialized + * \li FunctionFailed \li GeneralError \li HostMemory + * \li NeedToCreateThreads \li OK + * @return true on success, false otherwise + */ + bool C_Initialize(VoidPtr init_args, + ReturnValue* return_value = ThrowException) const; + + /** + * C_Finalize indicates that an application is done with the Cryptoki library. + * @param reserved reserved. Should be nullptr + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * @return true on success, false otherwise + */ + bool C_Finalize(VoidPtr reserved, + ReturnValue* return_value = ThrowException) const; + + /** + * C_GetInfo returns general information about Cryptoki. + * @param info_ptr location that receives information + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * @return true on success, false otherwise + */ + bool C_GetInfo(Info* info_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_GetFunctionList returns the function list. + * @param pkcs11_module The PKCS#11 module + * @param function_list_ptr_ptr receives pointer to function list + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li FunctionFailed \li GeneralError + * \li HostMemory \li OK + * @return true on success, false otherwise + */ + static bool C_GetFunctionList(Dynamically_Loaded_Library& pkcs11_module, FunctionListPtr* function_list_ptr_ptr, + ReturnValue* return_value = ThrowException); + + /****************************** Slot and token management functions ******************************/ + + /** + * C_GetSlotList obtains a list of slots in the system. + * @param token_present only slots with tokens + * @param slot_list_ptr receives array of slot IDs + * @param count_ptr receives number of slots + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK + * @return true on success, false otherwise + */ + bool C_GetSlotList(Bbool token_present, + SlotId* slot_list_ptr, + Ulong* count_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_GetSlotList obtains a list of slots in the system. + * @param token_present only slots with tokens + * @param slot_ids receives vector of slot IDs + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK + * @return true on success, false otherwise + */ + bool C_GetSlotList(bool token_present, + std::vector& slot_ids, + ReturnValue* return_value = ThrowException) const; + + /** + * C_GetSlotInfo obtains information about a particular slot in the system. + * @param slot_id the ID of the slot + * @param info_ptr receives the slot information + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DeviceError + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li SlotIdInvalid + * @return true on success, false otherwise + */ + bool C_GetSlotInfo(SlotId slot_id, + SlotInfo* info_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_GetTokenInfo obtains information about a particular token in the system. + * @param slot_id ID of the token's slot + * @param info_ptr receives the token information + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li SlotIdInvalid + * \li TokenNotPresent \li TokenNotRecognized \li ArgumentsBad + * @return true on success, false otherwise + */ + bool C_GetTokenInfo(SlotId slot_id, + TokenInfo* info_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_WaitForSlotEvent waits for a slot event (token insertion, removal, etc.) to occur. + * @param flags blocking/nonblocking flag + * @param slot_ptr location that receives the slot ID + * @param reserved reserved. Should be NULL_PTR + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li FunctionFailed + * \li GeneralError \li HostMemory \li NoEvent + * \li OK + * @return true on success, false otherwise + */ + bool C_WaitForSlotEvent(Flags flags, + SlotId* slot_ptr, + VoidPtr reserved, + ReturnValue* return_value = ThrowException) const; + + /** + * C_GetMechanismList obtains a list of mechanism types supported by a token. + * @param slot_id ID of token's slot + * @param mechanism_list_ptr gets mech. array + * @param count_ptr gets # of mechs. + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li BufferTooSmall \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li SlotIdInvalid \li TokenNotPresent \li TokenNotRecognized + * \li ArgumentsBad + * @return true on success, false otherwise + */ + bool C_GetMechanismList(SlotId slot_id, + MechanismType* mechanism_list_ptr, + Ulong* count_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_GetMechanismList obtains a list of mechanism types supported by a token. + * @param slot_id ID of token's slot + * @param mechanisms receives vector of supported mechanisms + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li BufferTooSmall \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li SlotIdInvalid \li TokenNotPresent \li TokenNotRecognized + * \li ArgumentsBad + * @return true on success, false otherwise + */ + bool C_GetMechanismList(SlotId slot_id, + std::vector& mechanisms, + ReturnValue* return_value = ThrowException) const; + + /** + * C_GetMechanismInfo obtains information about a particular mechanism possibly supported by a token. + * @param slot_id ID of the token's slot + * @param type type of mechanism + * @param info_ptr receives mechanism info + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionFailed \li GeneralError + * \li HostMemory \li MechanismInvalid \li OK + * \li SlotIdInvalid \li TokenNotPresent \li TokenNotRecognized + * \li ArgumentsBad + * @return true on success, false otherwise + */ + bool C_GetMechanismInfo(SlotId slot_id, + MechanismType type, + MechanismInfo* info_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_InitToken initializes a token. + * @param slot_id ID of the token's slot + * @param so_pin_ptr the SO's initial PIN + * @param so_pin_len length in bytes of the SO_PIN + * @param label_ptr 32-byte token label (blank padded) + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li PinIncorrect \li PinLocked \li SessionExists + * \li SlotIdInvalid \li TokenNotPresent \li TokenNotRecognized + * \li TokenWriteProtected \li ArgumentsBad + * @return true on success, false otherwise + */ + bool C_InitToken(SlotId slot_id, + Utf8Char* so_pin_ptr, + Ulong so_pin_len, + Utf8Char* label_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_InitToken initializes a token. + * @param slot_id ID of the token's slot + * @param so_pin the SO's initial PIN + * @param label token label (at max 32 bytes long) + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li PinIncorrect \li PinLocked \li SessionExists + * \li SlotIdInvalid \li TokenNotPresent \li TokenNotRecognized + * \li TokenWriteProtected \li ArgumentsBad + * @return true on success, false otherwise + */ + template + bool C_InitToken(SlotId slot_id, + const std::vector& so_pin, + const std::string& label, + ReturnValue* return_value = ThrowException) const + { + std::string padded_label = label; + if(label.size() < 32) + { + padded_label.insert(padded_label.end(), 32 - label.size(), ' '); + } + + return C_InitToken(slot_id, + reinterpret_cast< Utf8Char* >(const_cast< uint8_t* >(so_pin.data())), + static_cast(so_pin.size()), + reinterpret_cast< Utf8Char* >(const_cast< char* >(padded_label.c_str())), + return_value); + } + + /** + * C_InitPIN initializes the normal user's PIN. + * @param session the session's handle + * @param pin_ptr the normal user's PIN + * @param pin_len length in bytes of the PIN + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li PinInvalid \li PinLenRange \li SessionClosed + * \li SessionReadOnly \li SessionHandleInvalid \li TokenWriteProtected + * \li UserNotLoggedIn \li ArgumentsBad + * @return true on success, false otherwise + */ + bool C_InitPIN(SessionHandle session, + Utf8Char* pin_ptr, + Ulong pin_len, + ReturnValue* return_value = ThrowException) const; + + /** + * C_InitPIN initializes the normal user's PIN. + * @param session the session's handle + * @param pin the normal user's PIN + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li PinInvalid \li PinLenRange \li SessionClosed + * \li SessionReadOnly \li SessionHandleInvalid \li TokenWriteProtected + * \li UserNotLoggedIn \li ArgumentsBad + * @return true on success, false otherwise + */ + template + bool C_InitPIN(SessionHandle session, + const std::vector& pin, + ReturnValue* return_value = ThrowException) const + { + return C_InitPIN(session, + reinterpret_cast< Utf8Char* >(const_cast< uint8_t* >(pin.data())), + static_cast(pin.size()), + return_value); + } + + /** + * C_SetPIN modifies the PIN of the user who is logged in. + * @param session the session's handle + * @param old_pin_ptr the old PIN + * @param old_len length of the old PIN + * @param new_pin_ptr the new PIN + * @param new_len length of the new PIN + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li PinIncorrect \li PinInvalid \li PinLenRange + * \li PinLocked \li SessionClosed \li SessionHandleInvalid + * \li SessionReadOnly \li TokenWriteProtected \li ArgumentsBad + * @return true on success, false otherwise + */ + bool C_SetPIN(SessionHandle session, + Utf8Char* old_pin_ptr, + Ulong old_len, + Utf8Char* new_pin_ptr, + Ulong new_len, + ReturnValue* return_value = ThrowException) const; + + /** + * C_SetPIN modifies the PIN of the user who is logged in. + * @param session the session's handle + * @param old_pin the old PIN + * @param new_pin the new PIN + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li PinIncorrect \li PinInvalid \li PinLenRange + * \li PinLocked \li SessionClosed \li SessionHandleInvalid + * \li SessionReadOnly \li TokenWriteProtected \li ArgumentsBad + * @return true on success, false otherwise + */ + template + bool C_SetPIN(SessionHandle session, + const std::vector& old_pin, + const std::vector& new_pin, + ReturnValue* return_value = ThrowException) const + { + return C_SetPIN(session, + reinterpret_cast< Utf8Char* >(const_cast< uint8_t* >(old_pin.data())), + static_cast(old_pin.size()), + reinterpret_cast< Utf8Char* >(const_cast< uint8_t* >(new_pin.data())), + static_cast(new_pin.size()), + return_value); + } + + + /****************************** Session management ******************************/ + + /** + * C_OpenSession opens a session between an application and a token. + * @param slot_id the slot's ID + * @param flags from CK_SESSION_INFO + * @param application passed to callback + * @param notify callback function + * @param session_ptr gets session handle + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li SessionCount + * \li SessionParallelNotSupported \li SessionReadWriteSoExists \li SlotIdInvalid + * \li TokenNotPresent \li TokenNotRecognized \li TokenWriteProtected + * \li ArgumentsBad + * @return true on success, false otherwise + */ + bool C_OpenSession(SlotId slot_id, + Flags flags, + VoidPtr application, + Notify notify, + SessionHandle* session_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_CloseSession closes a session between an application and a token. + * @param session the session's handle + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li SessionClosed + * \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_CloseSession(SessionHandle session, + ReturnValue* return_value = ThrowException) const; + + /** + * C_CloseAllSessions closes all sessions with a token. + * @param slot_id the token's slot + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li SlotIdInvalid + * \li TokenNotPresent + * @return true on success, false otherwise + */ + bool C_CloseAllSessions(SlotId slot_id, + ReturnValue* return_value = ThrowException) const; + + /** + * C_GetSessionInfo obtains information about the session. + * @param session the session's handle + * @param info_ptr receives session info + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li SessionClosed + * \li SessionHandleInvalid \li ArgumentsBad + * @return true on success, false otherwise + */ + bool C_GetSessionInfo(SessionHandle session, + SessionInfo* info_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_GetOperationState obtains the state of the cryptographic operation in a session. + * @param session session's handle + * @param operation_state_ptr gets state + * @param operation_state_len_ptr gets state length + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li BufferTooSmall \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li OperationNotInitialized \li SessionClosed \li SessionHandleInvalid + * \li StateUnsaveable \li ArgumentsBad + * @return true on success, false otherwise + */ + bool C_GetOperationState(SessionHandle session, + Byte* operation_state_ptr, + Ulong* operation_state_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_SetOperationState restores the state of the cryptographic operation in a session. + * @param session session's handle + * @param operation_state_ptr holds state + * @param operation_state_len holds state length + * @param encryption_key en/decryption key + * @param authentication_key sign/verify key + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionFailed \li GeneralError + * \li HostMemory \li KeyChanged \li KeyNeeded + * \li KeyNotNeeded \li OK \li SavedStateInvalid + * \li SessionClosed \li SessionHandleInvalid \li ArgumentsBad + * @return true on success, false otherwise + */ + bool C_SetOperationState(SessionHandle session, + Byte* operation_state_ptr, + Ulong operation_state_len, + ObjectHandle encryption_key, + ObjectHandle authentication_key, + ReturnValue* return_value = ThrowException) const; + + /** + * C_Login logs a user into a token. + * @param session the session's handle + * @param user_type the user type + * @param pin_ptr the user's PIN + * @param pin_len the length of the PIN + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li OperationNotInitialized \li PinIncorrect + * \li PinLocked \li SessionClosed \li SessionHandleInvalid + * \li SessionReadOnlyExists \li UserAlreadyLoggedIn \li UserAnotherAlreadyLoggedIn + * \li UserPinNotInitialized \li UserTooManyTypes \li UserTypeInvalid + * @return true on success, false otherwise + */ + bool C_Login(SessionHandle session, + UserType user_type, + Utf8Char* pin_ptr, + Ulong pin_len, + ReturnValue* return_value = ThrowException) const; + + /** + * C_Login logs a user into a token. + * @param session the session's handle + * @param user_type the user type + * @param pin the user or security officer's PIN + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li OperationNotInitialized \li PinIncorrect + * \li PinLocked \li SessionClosed \li SessionHandleInvalid + * \li SessionReadOnlyExists \li UserAlreadyLoggedIn \li UserAnotherAlreadyLoggedIn + * \li UserPinNotInitialized \li UserTooManyTypes \li UserTypeInvalid + * @return true on success, false otherwise + */ + template + bool C_Login(SessionHandle session, + UserType user_type, + const std::vector& pin, + ReturnValue* return_value = ThrowException) const + { + return C_Login(session, user_type, + reinterpret_cast< Utf8Char* >(const_cast< uint8_t* >(pin.data())), + static_cast(pin.size()), + return_value); + } + + /** + * C_Logout logs a user out from a token. + * @param session the session's handle + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li SessionClosed + * \li SessionHandleInvalid \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_Logout(SessionHandle session, + ReturnValue* return_value = ThrowException) const; + + /****************************** Object management functions ******************************/ + + /** + * C_CreateObject creates a new object. + * @param session the session's handle + * @param attribute_template_ptr the object's template + * @param count attributes in template + * @param object_ptr gets new object's handle. + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li AttributeReadOnly \li AttributeTypeInvalid + * \li AttributeValueInvalid \li CryptokiNotInitialized \li CurveNotSupported + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li DomainParamsInvalid \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li PinExpired + * \li SessionClosed \li SessionHandleInvalid \li SessionReadOnly + * \li TemplateIncomplete \li TemplateInconsistent \li TokenWriteProtected + * \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_CreateObject(SessionHandle session, + Attribute* attribute_template_ptr, + Ulong count, + ObjectHandle* object_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_CopyObject copies an object, creating a new object for the copy. + * @param session the session's handle + * @param object the object's handle + * @param attribute_template_ptr template for new object + * @param count attributes in template + * @param new_object_ptr receives handle of copy + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ActionProhibited \li ArgumentsBad \li AttributeReadOnly + * \li AttributeTypeInvalid \li AttributeValueInvalid \li CryptokiNotInitialized + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li FunctionFailed \li GeneralError \li HostMemory + * \li ObjectHandleInvalid \li OK \li PinExpired + * \li SessionClosed \li SessionHandleInvalid \li SessionReadOnly + * \li TemplateInconsistent \li TokenWriteProtected \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_CopyObject(SessionHandle session, + ObjectHandle object, + Attribute* attribute_template_ptr, + Ulong count, + ObjectHandle* new_object_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_DestroyObject destroys an object. + * @param session the session's handle + * @param object the object's handle + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ActionProhibited \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionFailed + * \li GeneralError \li HostMemory \li ObjectHandleInvalid + * \li OK \li PinExpired \li SessionClosed + * \li SessionHandleInvalid \li SessionReadOnly \li TokenWriteProtected + * @return true on success, false otherwise + */ + bool C_DestroyObject(SessionHandle session, + ObjectHandle object, + ReturnValue* return_value = ThrowException) const; + + /** + * C_GetObjectSize gets the size of an object in bytes. + * @param session the session's handle + * @param object the object's handle + * @param size_ptr receives size of object + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionFailed + * \li GeneralError \li HostMemory \li InformationSensitive + * \li ObjectHandleInvalid \li OK \li SessionClosed + * \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_GetObjectSize(SessionHandle session, + ObjectHandle object, + Ulong* size_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_GetAttributeValue obtains the value of one or more object attributes. + * @param session the session's handle + * @param object the object's handle + * @param attribute_template_ptr specifies attrs; gets vals + * @param count attributes in template + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li AttributeSensitive \li AttributeTypeInvalid + * \li BufferTooSmall \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionFailed + * \li GeneralError \li HostMemory \li ObjectHandleInvalid + * \li OK \li SessionClosed \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_GetAttributeValue(SessionHandle session, + ObjectHandle object, + Attribute* attribute_template_ptr, + Ulong count, + ReturnValue* return_value = ThrowException) const; + + /** + * C_GetAttributeValue obtains the value of one or more object attributes. + * @param session the session's handle + * @param object the object's handle + * @param attribute_values specifies attrs; gets vals + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li AttributeSensitive \li AttributeTypeInvalid + * \li BufferTooSmall \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionFailed + * \li GeneralError \li HostMemory \li ObjectHandleInvalid + * \li OK \li SessionClosed \li SessionHandleInvalid + * @return true on success, false otherwise + */ + template + bool C_GetAttributeValue(SessionHandle session, + ObjectHandle object, + std::map>& attribute_values, + ReturnValue* return_value = ThrowException) const + { + std::vector getter_template; + + for(const auto& entry : attribute_values) + { + getter_template.emplace_back(Attribute{ static_cast< CK_ATTRIBUTE_TYPE >(entry.first), nullptr, 0 }); + } + + bool success = C_GetAttributeValue(session, + object, + const_cast< Attribute* >(getter_template.data()), + static_cast(getter_template.size()), + return_value); + + if(!success) + { + return success; + } + + size_t i = 0; + for(auto& entry : attribute_values) + { + entry.second.clear(); + entry.second.resize(getter_template.at(i).ulValueLen); + getter_template.at(i).pValue = const_cast< uint8_t* >(entry.second.data()); + i++; + } + + return C_GetAttributeValue(session, object, + const_cast< Attribute* >(getter_template.data()), + static_cast(getter_template.size()), + return_value); + } + + /** + * C_SetAttributeValue modifies the value of one or more object attributes. + * @param session the session's handle + * @param object the object's handle + * @param attribute_template_ptr specifies attrs and values + * @param count attributes in template + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ActionProhibited \li ArgumentsBad \li AttributeReadOnly + * \li AttributeTypeInvalid \li AttributeValueInvalid \li CryptokiNotInitialized + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li FunctionFailed \li GeneralError \li HostMemory + * \li ObjectHandleInvalid \li OK \li SessionClosed + * \li SessionHandleInvalid \li SessionReadOnly \li TemplateInconsistent + * \li TokenWriteProtected \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_SetAttributeValue(SessionHandle session, + ObjectHandle object, + Attribute* attribute_template_ptr, + Ulong count, + ReturnValue* return_value = ThrowException) const; + + /** + * C_SetAttributeValue modifies the value of one or more object attributes. + * @param session the session's handle + * @param object the object's handle + * @param attribute_values specifies attrs and values + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ActionProhibited \li ArgumentsBad \li AttributeReadOnly + * \li AttributeTypeInvalid \li AttributeValueInvalid \li CryptokiNotInitialized + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li FunctionFailed \li GeneralError \li HostMemory + * \li ObjectHandleInvalid \li OK \li SessionClosed + * \li SessionHandleInvalid \li SessionReadOnly \li TemplateInconsistent + * \li TokenWriteProtected \li UserNotLoggedIn + * @return true on success, false otherwise + */ + template + bool C_SetAttributeValue(SessionHandle session, + ObjectHandle object, + std::map>& attribute_values, + ReturnValue* return_value = ThrowException) const + { + std::vector setter_template; + + for(auto& entry : attribute_values) + { + setter_template.emplace_back(Attribute{ static_cast< CK_ATTRIBUTE_TYPE >(entry.first), entry.second.data(), static_cast(entry.second.size()) }); + } + + return C_SetAttributeValue(session, object, + const_cast< Attribute* >(setter_template.data()), + static_cast(setter_template.size()), + return_value); + } + + /** + * C_FindObjectsInit initializes a search for token and session objects that match a template. + * @param session the session's handle + * @param attribute_template_ptr attribute values to match + * @param count attrs in search template + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li AttributeTypeInvalid \li AttributeValueInvalid + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li OperationActive + * \li PinExpired \li SessionClosed \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_FindObjectsInit(SessionHandle session, + Attribute* attribute_template_ptr, + Ulong count, + ReturnValue* return_value = ThrowException) const; + + /** + * C_FindObjects continues a search for token and session objects that match a template, obtaining additional object handles. + * @param session session's handle + * @param object_ptr gets obj. handles + * @param max_object_count max handles to get + * @param object_count_ptr actual # returned + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li OperationNotInitialized \li SessionClosed \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_FindObjects(SessionHandle session, + ObjectHandle* object_ptr, + Ulong max_object_count, + Ulong* object_count_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_FindObjectsFinal finishes a search for token and session objects. + * @param session the session's handle + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li OperationNotInitialized + * \li SessionClosed \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_FindObjectsFinal(SessionHandle session, + ReturnValue* return_value = ThrowException) const; + + /****************************** Encryption functions ******************************/ + + /** + * C_EncryptInit initializes an encryption operation. + * @param session the session's handle + * @param mechanism_ptr the encryption mechanism + * @param key handle of encryption key + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li KeyFunctionNotPermitted + * \li KeyHandleInvalid \li KeySizeRange \li KeyTypeInconsistent + * \li MechanismInvalid \li MechanismParamInvalid \li OK + * \li OperationActive \li PinExpired \li SessionClosed + * \li SessionHandleInvalid \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_EncryptInit(SessionHandle session, + Mechanism* mechanism_ptr, + ObjectHandle key, + ReturnValue* return_value = ThrowException) const; + + /** + * C_Encrypt encrypts single-part data. + * @param session session's handle + * @param data_ptr the plaintext data + * @param data_len size of plaintext data in bytes + * @param encrypted_data gets ciphertext + * @param encrypted_data_len_ptr gets c-text size + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DataInvalid \li DataLenRange \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li OperationNotInitialized \li SessionClosed + * \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_Encrypt(SessionHandle session, + Byte* data_ptr, + Ulong data_len, + Byte* encrypted_data, + Ulong* encrypted_data_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_Encrypt encrypts single-part data. + * @param session session's handle + * @param plaintext_data the plaintext data + * @param encrypted_data gets ciphertext + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DataInvalid \li DataLenRange \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li OperationNotInitialized \li SessionClosed + * \li SessionHandleInvalid + * @return true on success, false otherwise + */ + template + bool C_Encrypt(SessionHandle session, + const std::vector& plaintext_data, + std::vector& encrypted_data, + ReturnValue* return_value = ThrowException) const + { + Ulong encrypted_size = 0; + if(!C_Encrypt(session, + const_cast((plaintext_data.data())), + static_cast(plaintext_data.size()), + nullptr, &encrypted_size, + return_value)) + { + return false; + } + + encrypted_data.resize(encrypted_size); + if (!C_Encrypt(session, + const_cast(plaintext_data.data()), + static_cast(plaintext_data.size()), + encrypted_data.data(), + &encrypted_size, return_value)) + { + return false; + } + encrypted_data.resize(encrypted_size); + return true; + } + + /** + * C_EncryptUpdate continues a multiple-part encryption operation. + * @param session session's handle + * @param part_ptr the plaintext data + * @param part_len plaintext data len + * @param encrypted_part_ptr gets ciphertext + * @param encrypted_part_len_ptr gets c-text size + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DataLenRange \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li OperationNotInitialized \li SessionClosed \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_EncryptUpdate(SessionHandle session, + Byte* part_ptr, + Ulong part_len, + Byte* encrypted_part_ptr, + Ulong* encrypted_part_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_EncryptFinal finishes a multiple-part encryption operation. + * @param session session handle + * @param last_encrypted_part_ptr last c-text + * @param last_encrypted_part_len_ptr gets last size + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DataLenRange \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li OperationNotInitialized \li SessionClosed \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_EncryptFinal(SessionHandle session, + Byte* last_encrypted_part_ptr, + Ulong* last_encrypted_part_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /****************************** Decryption functions ******************************/ + + /** + * C_DecryptInit initializes a decryption operation. + * @param session the session's handle + * @param mechanism_ptr the decryption mechanism + * @param key handle of decryption key + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li KeyFunctionNotPermitted \li KeyHandleInvalid \li KeySizeRange + * \li KeyTypeInconsistent \li MechanismInvalid \li MechanismParamInvalid + * \li OK \li OperationActive \li PinExpired + * \li SessionClosed \li SessionHandleInvalid \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_DecryptInit(SessionHandle session, + Mechanism* mechanism_ptr, + ObjectHandle key, + ReturnValue* return_value = ThrowException) const; + + /** + * C_Decrypt decrypts encrypted data in a single part. + * @param session session's handle + * @param encrypted_data_ptr ciphertext + * @param encrypted_data_len ciphertext length + * @param data_ptr gets plaintext + * @param data_len_ptr gets p-text size + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li EncryptedDataInvalid \li EncryptedDataLenRange \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li OperationNotInitialized \li SessionClosed + * \li SessionHandleInvalid \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_Decrypt(SessionHandle session, + Byte* encrypted_data_ptr, + Ulong encrypted_data_len, + Byte* data_ptr, + Ulong* data_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_Decrypt decrypts encrypted data in a single part. + * @param session session's handle + * @param encrypted_data ciphertext + * @param decrypted_data gets plaintext + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li EncryptedDataInvalid \li EncryptedDataLenRange \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li OperationNotInitialized \li SessionClosed + * \li SessionHandleInvalid \li UserNotLoggedIn + * @return true on success, false otherwise + */ + template + bool C_Decrypt(SessionHandle session, + const std::vector& encrypted_data, + std::vector& decrypted_data, + ReturnValue* return_value = ThrowException) const + { + Ulong decrypted_size = 0; + if(!C_Decrypt(session, + const_cast((encrypted_data.data())), + static_cast(encrypted_data.size()), + nullptr, &decrypted_size, + return_value)) + { + return false; + } + + decrypted_data.resize(decrypted_size); + if(!C_Decrypt(session, + const_cast(encrypted_data.data()), + static_cast(encrypted_data.size()), + decrypted_data.data(), + &decrypted_size, return_value)) + { + return false; + } + decrypted_data.resize(decrypted_size); + return true; + } + + /** + * C_DecryptUpdate continues a multiple-part decryption operation. + * @param session session's handle + * @param encrypted_part_ptr encrypted data + * @param encrypted_part_len input length + * @param part_ptr gets plaintext + * @param part_len_ptr p-text size + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li EncryptedDataInvalid \li EncryptedDataLenRange \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li OperationNotInitialized \li SessionClosed + * \li SessionHandleInvalid \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_DecryptUpdate(SessionHandle session, + Byte* encrypted_part_ptr, + Ulong encrypted_part_len, + Byte* part_ptr, + Ulong* part_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_DecryptFinal finishes a multiple-part decryption operation. + * @param session the session's handle + * @param last_part_ptr gets plaintext + * @param last_part_len_ptr p-text size + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li EncryptedDataInvalid \li EncryptedDataLenRange \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li OperationNotInitialized \li SessionClosed + * \li SessionHandleInvalid \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_DecryptFinal(SessionHandle session, + Byte* last_part_ptr, + Ulong* last_part_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /****************************** Message digesting functions ******************************/ + + /** + * C_DigestInit initializes a message-digesting operation. + * @param session the session's handle + * @param mechanism_ptr the digesting mechanism + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li MechanismInvalid \li MechanismParamInvalid \li OK + * \li OperationActive \li PinExpired \li SessionClosed + * \li SessionHandleInvalid \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_DigestInit(SessionHandle session, + Mechanism* mechanism_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_Digest digests data in a single part. + * @param session the session's handle + * @param data_ptr data to be digested + * @param data_len bytes of data to digest + * @param digest_ptr gets the message digest + * @param digest_len_ptr gets digest length + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li FunctionCanceled \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li OperationNotInitialized + * \li SessionClosed \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_Digest(SessionHandle session, + Byte* data_ptr, + Ulong data_len, + Byte* digest_ptr, + Ulong* digest_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_DigestUpdate continues a multiple-part message-digesting operation. + * @param session the session's handle + * @param part_ptr data to be digested + * @param part_len bytes of data to be digested + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li OperationNotInitialized \li SessionClosed + * \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_DigestUpdate(SessionHandle session, + Byte* part_ptr, + Ulong part_len, + ReturnValue* return_value = ThrowException) const; + + /** + * C_DigestKey continues a multi-part message-digesting operation, by digesting the value of a secret key as part of the data already digested. + * @param session the session's handle + * @param key secret key to digest + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li KeyHandleInvalid + * \li KeyIndigestible \li KeySizeRange \li OK + * \li OperationNotInitialized \li SessionClosed \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_DigestKey(SessionHandle session, + ObjectHandle key, + ReturnValue* return_value = ThrowException) const; + + /** + * C_DigestFinal finishes a multiple-part message-digesting operation. + * @param session the session's handle + * @param digest_ptr gets the message digest + * @param digest_len_ptr gets uint8_t count of digest + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li FunctionCanceled \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li OperationNotInitialized + * \li SessionClosed \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_DigestFinal(SessionHandle session, + Byte* digest_ptr, + Ulong* digest_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /****************************** Signing and MACing functions ******************************/ + + /** + * C_SignInit initializes a signature (private key encryption) operation, where the signature is (will be) an appendix to the data, and plaintext cannot be recovered from the signature. + * @param session the session's handle + * @param mechanism_ptr the signature mechanism + * @param key handle of signature key + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li KeyFunctionNotPermitted \li KeyHandleInvalid \li KeySizeRange + * \li KeyTypeInconsistent \li MechanismInvalid \li MechanismParamInvalid + * \li OK \li OperationActive \li PinExpired + * \li SessionClosed \li SessionHandleInvalid \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_SignInit(SessionHandle session, + Mechanism* mechanism_ptr, + ObjectHandle key, + ReturnValue* return_value = ThrowException) const; + + /** + * C_Sign signs (encrypts with private key) data in a single part, where the signature is (will be) an appendix to the data, and plaintext cannot be recovered from the signature. + * @param session the session's handle + * @param data_ptr the data to sign + * @param data_len count of bytes to sign + * @param signature_ptr gets the signature + * @param signature_len_ptr gets signature length + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DataInvalid \li DataLenRange \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li OperationNotInitialized \li SessionClosed + * \li SessionHandleInvalid \li UserNotLoggedIn \li FunctionRejected + * @return true on success, false otherwise + */ + bool C_Sign(SessionHandle session, + Byte* data_ptr, + Ulong data_len, + Byte* signature_ptr, + Ulong* signature_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_Sign signs (encrypts with private key) data in a single part, where the signature is (will be) an appendix to the data, and plaintext cannot be recovered from the signature. + * @param session the session's handle + * @param data the data to sign + * @param signature gets the signature + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DataInvalid \li DataLenRange \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li OperationNotInitialized \li SessionClosed + * \li SessionHandleInvalid \li UserNotLoggedIn \li FunctionRejected + * @return true on success, false otherwise + */ + template + bool C_Sign(SessionHandle session, + const std::vector& data, + std::vector& signature, + ReturnValue* return_value = ThrowException) const + { + Ulong signature_size = 0; + if(!C_Sign(session, + const_cast((data.data())), + static_cast(data.size()), + nullptr, + &signature_size, + return_value)) + { + return false; + } + + signature.resize(signature_size); + if (!C_Sign(session, + const_cast(data.data()), + static_cast(data.size()), + signature.data(), + &signature_size, + return_value)) + { + return false; + } + signature.resize(signature_size); + return true; + } + + /** + * C_SignUpdate continues a multiple-part signature operation, where the signature is (will be) an appendix to the data, and plaintext cannot be recovered from the signature. + * @param session the session's handle + * @param part_ptr the data to sign + * @param part_len count of bytes to sign + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DataLenRange + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li FunctionCanceled \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li OperationNotInitialized + * \li SessionClosed \li SessionHandleInvalid \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_SignUpdate(SessionHandle session, + Byte* part_ptr, + Ulong part_len, + ReturnValue* return_value = ThrowException) const; + + /** + * C_SignUpdate continues a multiple-part signature operation, where the signature is (will be) an appendix to the data, and plaintext cannot be recovered from the signature. + * @param session the session's handle + * @param part the data to sign + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DataLenRange + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li FunctionCanceled \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li OperationNotInitialized + * \li SessionClosed \li SessionHandleInvalid \li UserNotLoggedIn + * @return true on success, false otherwise + */ + template + bool C_SignUpdate(SessionHandle session, + const std::vector& part, + ReturnValue* return_value = ThrowException) const + { + return C_SignUpdate(session, + const_cast(part.data()), + static_cast(part.size()), + return_value); + } + + /** + * C_SignFinal finishes a multiple-part signature operation, returning the signature. + * @param session the session's handle + * @param signature_ptr gets the signature + * @param signature_len_ptr gets signature length + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DataLenRange \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li OperationNotInitialized \li SessionClosed \li SessionHandleInvalid + * \li UserNotLoggedIn \li FunctionRejected + * @return true on success, false otherwise + */ + bool C_SignFinal(SessionHandle session, + Byte* signature_ptr, + Ulong* signature_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_SignFinal finishes a multiple-part signature operation, returning the signature. + * @param session the session's handle + * @param signature gets the signature + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DataLenRange \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li OperationNotInitialized \li SessionClosed \li SessionHandleInvalid + * \li UserNotLoggedIn \li FunctionRejected + * @return true on success, false otherwise + */ + template + bool C_SignFinal(SessionHandle session, + std::vector& signature, + ReturnValue* return_value = ThrowException) const + { + Ulong signature_size = 0; + if(!C_SignFinal(session, nullptr, &signature_size, return_value)) + { + return false; + } + + signature.resize(signature_size); + if (!C_SignFinal(session, signature.data(), &signature_size, return_value)) + { + return false; + } + signature.resize(signature_size); + return true; + } + + /** + * C_SignRecoverInit initializes a signature operation, where the data can be recovered from the signature. + * @param session the session's handle + * @param mechanism_ptr the signature mechanism + * @param key handle of the signature key + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li KeyFunctionNotPermitted \li KeyHandleInvalid \li KeySizeRange + * \li KeyTypeInconsistent \li MechanismInvalid \li MechanismParamInvalid + * \li OK \li OperationActive \li PinExpired + * \li SessionClosed \li SessionHandleInvalid \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_SignRecoverInit(SessionHandle session, + Mechanism* mechanism_ptr, + ObjectHandle key, + ReturnValue* return_value = ThrowException) const; + + /** + * C_SignRecover signs data in a single operation, where the data can be recovered from the signature. + * @param session the session's handle + * @param data_ptr the data to sign + * @param data_len count of bytes to sign + * @param signature_ptr gets the signature + * @param signature_len_ptr gets signature length + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DataInvalid \li DataLenRange \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li OperationNotInitialized \li SessionClosed + * \li SessionHandleInvalid \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_SignRecover(SessionHandle session, + Byte* data_ptr, + Ulong data_len, + Byte* signature_ptr, + Ulong* signature_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /****************************** Functions for verifying signatures and MACs ******************************/ + + /** + * C_VerifyInit initializes a verification operation, where the signature is an appendix to the data, and plaintext cannot be recovered from the signature (e.g. DSA). + * @param session the session's handle + * @param mechanism_ptr the verification mechanism + * @param key verification key + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li KeyFunctionNotPermitted \li KeyHandleInvalid \li KeySizeRange + * \li KeyTypeInconsistent \li MechanismInvalid \li MechanismParamInvalid + * \li OK \li OperationActive \li PinExpired + * \li SessionClosed \li SessionHandleInvalid \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_VerifyInit(SessionHandle session, + Mechanism* mechanism_ptr, + ObjectHandle key, + ReturnValue* return_value = ThrowException) const; + + /** + * C_Verify verifies a signature in a single-part operation, where the signature is an appendix to the data, and plaintext cannot be recovered from the signature. + * @param session the session's handle + * @param data_ptr signed data + * @param data_len length of signed data + * @param signature_ptr signature + * @param signature_len signature length + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DataInvalid + * \li DataLenRange \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li OperationNotInitialized \li SessionClosed \li SessionHandleInvalid + * \li SignatureInvalid \li SignatureLenRange + * @return true on success, false otherwise + */ + bool C_Verify(SessionHandle session, + Byte* data_ptr, + Ulong data_len, + Byte* signature_ptr, + Ulong signature_len, + ReturnValue* return_value = ThrowException) const; + + /** + * C_Verify verifies a signature in a single-part operation, where the signature is an appendix to the data, and plaintext cannot be recovered from the signature. + * @param session the session's handle + * @param data signed data + * @param signature signature + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DataInvalid + * \li DataLenRange \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li OperationNotInitialized \li SessionClosed \li SessionHandleInvalid + * \li SignatureInvalid \li SignatureLenRange + * @return true on success, false otherwise + */ + template + bool C_Verify(SessionHandle session, + const std::vector& data, + std::vector& signature, + ReturnValue* return_value = ThrowException) const + { + return C_Verify(session, + const_cast(data.data()), + static_cast(data.size()), + signature.data(), + static_cast(signature.size()), + return_value); + } + + /** + * C_VerifyUpdate continues a multiple-part verification operation, where the signature is an appendix to the data, and plaintext cannot be recovered from the signature. + * @param session the session's handle + * @param part_ptr signed data + * @param part_len length of signed data + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DataLenRange + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li FunctionCanceled \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li OperationNotInitialized + * \li SessionClosed \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_VerifyUpdate(SessionHandle session, + Byte* part_ptr, + Ulong part_len, + ReturnValue* return_value = ThrowException) const; + + /** + * C_VerifyUpdate continues a multiple-part verification operation, where the signature is an appendix to the data, and plaintext cannot be recovered from the signature. + * @param session the session's handle + * @param part signed data + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DataLenRange + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li FunctionCanceled \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li OperationNotInitialized + * \li SessionClosed \li SessionHandleInvalid + * @return true on success, false otherwise + */ + template + bool C_VerifyUpdate(SessionHandle session, + std::vector part, + ReturnValue* return_value = ThrowException) const + { + return C_VerifyUpdate(session, part.data(), static_cast(part.size()), return_value); + } + + /** + * C_VerifyFinal finishes a multiple-part verification operation, checking the signature. + * @param session the session's handle + * @param signature_ptr signature to verify + * @param signature_len signature length + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DataLenRange + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li FunctionCanceled \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li OperationNotInitialized + * \li SessionClosed \li SessionHandleInvalid \li SignatureInvalid + * \li SignatureLenRange + * @return true on success, false otherwise + */ + bool C_VerifyFinal(SessionHandle session, + Byte* signature_ptr, + Ulong signature_len, + ReturnValue* return_value = ThrowException) const; + + /** + * C_VerifyRecoverInit initializes a signature verification operation, where the data is recovered from the signature. + * @param session the session's handle + * @param mechanism_ptr the verification mechanism + * @param key verification key + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li KeyFunctionNotPermitted \li KeyHandleInvalid \li KeySizeRange + * \li KeyTypeInconsistent \li MechanismInvalid \li MechanismParamInvalid + * \li OK \li OperationActive \li PinExpired + * \li SessionClosed \li SessionHandleInvalid \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_VerifyRecoverInit(SessionHandle session, + Mechanism* mechanism_ptr, + ObjectHandle key, + ReturnValue* return_value = ThrowException) const; + + /** + * C_VerifyRecover verifies a signature in a single-part operation, where the data is recovered from the signature. + * @param session the session's handle + * @param signature_ptr signature to verify + * @param signature_len signature length + * @param data_ptr gets signed data + * @param data_len_ptr gets signed data len + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DataInvalid \li DataLenRange \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li OperationNotInitialized \li SessionClosed + * \li SessionHandleInvalid \li SignatureLenRange \li SignatureInvalid + * @return true on success, false otherwise + */ + bool C_VerifyRecover(SessionHandle session, + Byte* signature_ptr, + Ulong signature_len, + Byte* data_ptr, + Ulong* data_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /****************************** Dual-purpose cryptographic functions ******************************/ + + /** + * C_DigestEncryptUpdate continues a multiple-part digesting and encryption operation. + * @param session session's handle + * @param part_ptr the plaintext data + * @param part_len plaintext length + * @param encrypted_part_ptr gets ciphertext + * @param encrypted_part_len_ptr gets c-text length + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DataLenRange \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li OperationNotInitialized \li SessionClosed \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_DigestEncryptUpdate(SessionHandle session, + Byte* part_ptr, + Ulong part_len, + Byte* encrypted_part_ptr, + Ulong* encrypted_part_len_ptr, + ReturnValue* return_value = ThrowException) const ; + + /** + * C_DecryptDigestUpdate continues a multiple-part decryption and digesting operation. + * @param session session's handle + * @param encrypted_part_ptr ciphertext + * @param encrypted_part_len ciphertext length + * @param part_ptr gets plaintext + * @param part_len_ptr gets plaintext len + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li EncryptedDataInvalid \li EncryptedDataLenRange \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li OperationNotInitialized \li SessionClosed + * \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_DecryptDigestUpdate(SessionHandle session, + Byte* encrypted_part_ptr, + Ulong encrypted_part_len, + Byte* part_ptr, + Ulong* part_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_SignEncryptUpdate continues a multiple-part signing and encryption operation. + * @param session session's handle + * @param part_ptr the plaintext data + * @param part_len plaintext length + * @param encrypted_part_ptr gets ciphertext + * @param encrypted_part_len_ptr gets c-text length + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DataLenRange \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li OK + * \li OperationNotInitialized \li SessionClosed \li SessionHandleInvalid + * \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_SignEncryptUpdate(SessionHandle session, + Byte* part_ptr, + Ulong part_len, + Byte* encrypted_part_ptr, + Ulong* encrypted_part_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_DecryptVerifyUpdate continues a multiple-part decryption and verify operation. + * @param session session's handle + * @param encrypted_part_ptr ciphertext + * @param encrypted_part_len ciphertext length + * @param part_ptr gets plaintext + * @param part_len_ptr gets p-text length + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DataLenRange \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li EncryptedDataInvalid \li EncryptedDataLenRange + * \li FunctionCanceled \li FunctionFailed \li GeneralError + * \li HostMemory \li OK \li OperationNotInitialized + * \li SessionClosed \li SessionHandleInvalid + * @return true on success, false otherwise + */ + bool C_DecryptVerifyUpdate(SessionHandle session, + Byte* encrypted_part_ptr, + Ulong encrypted_part_len, + Byte* part_ptr, + Ulong* part_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /****************************** Key management functions ******************************/ + + /** + * C_GenerateKey generates a secret key, creating a new key object. + * @param session the session's handle + * @param mechanism_ptr key generation mech. + * @param attribute_template_ptr template for new key + * @param count # of attrs in template + * @param key_ptr gets handle of new key + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li AttributeReadOnly \li AttributeTypeInvalid + * \li AttributeValueInvalid \li CryptokiNotInitialized \li CurveNotSupported + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li FunctionCanceled \li FunctionFailed \li GeneralError + * \li HostMemory \li MechanismInvalid \li MechanismParamInvalid + * \li OK \li OperationActive \li PinExpired + * \li SessionClosed \li SessionHandleInvalid \li SessionReadOnly + * \li TemplateIncomplete \li TemplateInconsistent \li TokenWriteProtected + * \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_GenerateKey(SessionHandle session, + Mechanism* mechanism_ptr, + Attribute* attribute_template_ptr, + Ulong count, + ObjectHandle* key_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_GenerateKeyPair generates a public-key/private-key pair, creating new key objects. + * @param session session handle + * @param mechanism_ptr key-gen mech. + * @param public_key_template_ptr template for pub. key + * @param public_key_attribute_count # pub. attrs. + * @param private_key_template_ptr template for priv. key + * @param private_key_attribute_count # priv. attrs. + * @param public_key_ptr gets pub. key handle + * @param private_key_ptr gets priv. key handle + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li AttributeReadOnly \li AttributeTypeInvalid + * \li AttributeValueInvalid \li CryptokiNotInitialized \li CurveNotSupported + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li DomainParamsInvalid \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li MechanismInvalid + * \li MechanismParamInvalid \li OK \li OperationActive + * \li PinExpired \li SessionClosed \li SessionHandleInvalid + * \li SessionReadOnly \li TemplateIncomplete \li TemplateInconsistent + * \li TokenWriteProtected \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_GenerateKeyPair(SessionHandle session, + Mechanism* mechanism_ptr, + Attribute* public_key_template_ptr, + Ulong public_key_attribute_count, + Attribute* private_key_template_ptr, + Ulong private_key_attribute_count, + ObjectHandle* public_key_ptr, + ObjectHandle* private_key_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_WrapKey wraps (i.e., encrypts) a key. + * @param session the session's handle + * @param mechanism_ptr the wrapping mechanism + * @param wrapping_key wrapping key + * @param key key to be wrapped + * @param wrapped_key_ptr gets wrapped key + * @param wrapped_key_len_ptr gets wrapped key size + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li BufferTooSmall \li CryptokiNotInitialized + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li FunctionCanceled \li FunctionFailed \li GeneralError + * \li HostMemory \li KeyHandleInvalid \li KeyNotWrappable + * \li KeySizeRange \li KeyUnextractable \li MechanismInvalid + * \li MechanismParamInvalid \li OK \li OperationActive + * \li PinExpired \li SessionClosed \li SessionHandleInvalid + * \li UserNotLoggedIn \li WrappingKeyHandleInvalid \li WrappingKeySizeRange + * \li WrappingKeyTypeInconsistent + * @return true on success, false otherwise + */ + bool C_WrapKey(SessionHandle session, + Mechanism* mechanism_ptr, + ObjectHandle wrapping_key, + ObjectHandle key, + Byte* wrapped_key_ptr, + Ulong* wrapped_key_len_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_UnwrapKey unwraps (decrypts) a wrapped key, creating a new key object. + * @param session session's handle + * @param mechanism_ptr unwrapping mech. + * @param unwrapping_key unwrapping key + * @param wrapped_key_ptr the wrapped key + * @param wrapped_key_len wrapped key len + * @param attribute_template_ptr new key template + * @param attribute_count template length + * @param key_ptr gets new handle + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li AttributeReadOnly \li AttributeTypeInvalid + * \li AttributeValueInvalid \li BufferTooSmall \li CryptokiNotInitialized + * \li CurveNotSupported \li DeviceError \li DeviceMemory + * \li DeviceRemoved \li DomainParamsInvalid \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li MechanismInvalid \li MechanismParamInvalid \li OK + * \li OperationActive \li PinExpired \li SessionClosed + * \li SessionHandleInvalid \li SessionReadOnly \li TemplateIncomplete + * \li TemplateInconsistent \li TokenWriteProtected \li UnwrappingKeyHandleInvalid + * \li UnwrappingKeySizeRange \li UnwrappingKeyTypeInconsistent \li UserNotLoggedIn + * \li WrappedKeyInvalid \li WrappedKeyLenRange + * @return true on success, false otherwise + */ + bool C_UnwrapKey(SessionHandle session, + Mechanism* mechanism_ptr, + ObjectHandle unwrapping_key, + Byte* wrapped_key_ptr, + Ulong wrapped_key_len, + Attribute* attribute_template_ptr, + Ulong attribute_count, + ObjectHandle* key_ptr, + ReturnValue* return_value = ThrowException) const; + + /** + * C_DeriveKey derives a key from a base key, creating a new key object. + * @param session session's handle + * @param mechanism_ptr key deriv. mech. + * @param base_key base key + * @param attribute_template_ptr new key template + * @param attribute_count template length + * @param key_ptr gets new handle + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li AttributeReadOnly \li AttributeTypeInvalid + * \li AttributeValueInvalid \li CryptokiNotInitialized \li CurveNotSupported + * \li DeviceError \li DeviceMemory \li DeviceRemoved + * \li DomainParamsInvalid \li FunctionCanceled \li FunctionFailed + * \li GeneralError \li HostMemory \li KeyHandleInvalid + * \li KeySizeRange \li KeyTypeInconsistent \li MechanismInvalid + * \li MechanismParamInvalid \li OK \li OperationActive + * \li PinExpired \li SessionClosed \li SessionHandleInvalid + * \li SessionReadOnly \li TemplateIncomplete \li TemplateInconsistent + * \li TokenWriteProtected \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_DeriveKey(SessionHandle session, + Mechanism* mechanism_ptr, + ObjectHandle base_key, + Attribute* attribute_template_ptr, + Ulong attribute_count, + ObjectHandle* key_ptr, + ReturnValue* return_value = ThrowException) const; + + /****************************** Random number generation functions ******************************/ + + /** + * C_SeedRandom mixes additional seed material into the token's random number generator. + * @param session the session's handle + * @param seed_ptr the seed material + * @param seed_len length of seed material + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li OperationActive \li RandomSeedNotSupported + * \li RandomNoRng \li SessionClosed \li SessionHandleInvalid + * \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_SeedRandom(SessionHandle session, + Byte* seed_ptr, + Ulong seed_len, + ReturnValue* return_value = ThrowException) const; + + /** + * C_GenerateRandom generates random data. + * @param session the session's handle + * @param random_data_ptr receives the random data + * @param random_len # of bytes to generate + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li ArgumentsBad \li CryptokiNotInitialized \li DeviceError + * \li DeviceMemory \li DeviceRemoved \li FunctionCanceled + * \li FunctionFailed \li GeneralError \li HostMemory + * \li OK \li OperationActive \li RandomNoRng + * \li SessionClosed \li SessionHandleInvalid \li UserNotLoggedIn + * @return true on success, false otherwise + */ + bool C_GenerateRandom(SessionHandle session, + Byte* random_data_ptr, + Ulong random_len, + ReturnValue* return_value = ThrowException) const; + + /****************************** Parallel function management functions ******************************/ + + /** + * C_GetFunctionStatus is a legacy function; it obtains an updated status of a function running in parallel with an application. + * @param session the session's handle + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li FunctionFailed \li FunctionNotParallel + * \li GeneralError \li HostMemory \li SessionHandleInvalid + * \li SessionClosed + * @return true on success, false otherwise + */ + bool C_GetFunctionStatus(SessionHandle session, + ReturnValue* return_value = ThrowException) const; + + /** + * C_CancelFunction is a legacy function; it cancels a function running in parallel. + * @param session the session's handle + * @param return_value default value (`ThrowException`): throw exception on error. + * if a non-NULL pointer is passed: return_value receives the return value of the PKCS#11 function and no exception is thrown. + * At least the following PKCS#11 return values may be returned: + * \li CryptokiNotInitialized \li FunctionFailed \li FunctionNotParallel + * \li GeneralError \li HostMemory \li SessionHandleInvalid + * \li SessionClosed + * @return true on success, false otherwise + */ + bool C_CancelFunction(SessionHandle session, + ReturnValue* return_value = ThrowException) const; + + private: + const FunctionListPtr m_func_list_ptr; + }; + +class BOTAN_PUBLIC_API(2,0) PKCS11_Error : public Exception + { + public: + explicit PKCS11_Error(const std::string& what) : + Exception("PKCS11 error", what) + { + } + + ErrorType error_type() const noexcept override { return ErrorType::Pkcs11Error; } + }; + +class BOTAN_PUBLIC_API(2,0) PKCS11_ReturnError final : public PKCS11_Error + { + public: + explicit PKCS11_ReturnError(ReturnValue return_val) : + PKCS11_Error(std::to_string(static_cast< uint32_t >(return_val))), + m_return_val(return_val) + {} + + inline ReturnValue get_return_value() const + { + return m_return_val; + } + + int error_code() const noexcept override + { + return static_cast(m_return_val); + } + + private: + const ReturnValue m_return_val; + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_ecc_key.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_ecc_key.h new file mode 100644 index 00000000..e2fd35b1 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_ecc_key.h @@ -0,0 +1,223 @@ +/* +* PKCS#11 ECC +* (C) 2016 Daniel Neus, Sirrix AG +* (C) 2016 Philipp Weber, Sirrix AG +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_P11_ECC_H_ +#define BOTAN_P11_ECC_H_ + +#include +#include + +#if defined(BOTAN_HAS_ECC_PUBLIC_KEY_CRYPTO) +#include +#include +#include +#include + +namespace Botan { +namespace PKCS11 { + +class Session; + +/// Properties for generating a PKCS#11 EC public key +class BOTAN_PUBLIC_API(2,0) EC_PublicKeyGenerationProperties final : public PublicKeyProperties + { + public: + /// @param ec_params DER-encoding of an ANSI X9.62 Parameters value + EC_PublicKeyGenerationProperties(const std::vector& ec_params); + + /// @return the DER-encoding of the ec parameters according to ANSI X9.62 + inline const std::vector& ec_params() const + { + return m_ec_params; + } + + private: + const std::vector m_ec_params; + }; + +/// Properties for importing a PKCS#11 EC public key +class BOTAN_PUBLIC_API(2,0) EC_PublicKeyImportProperties final : public PublicKeyProperties + { + public: + /** + * @param ec_params DER-encoding of an ANSI X9.62 Parameters value + * @param ec_point DER-encoding of ANSI X9.62 ECPoint value Q + */ + EC_PublicKeyImportProperties(const std::vector& ec_params, const std::vector& ec_point); + + /// @return the DER-encoding of the ec parameters according to ANSI X9.62 + inline const std::vector& ec_params() const + { + return m_ec_params; + } + + /// @return the DER-encoding of the ec public point according to ANSI X9.62 + inline const std::vector& ec_point() const + { + return m_ec_point; + } + + private: + const std::vector m_ec_params; + const std::vector m_ec_point; + }; + +/// Represents a PKCS#11 EC public key +class BOTAN_PUBLIC_API(2,0) PKCS11_EC_PublicKey : public virtual EC_PublicKey, + public Object + { + public: + static const ObjectClass Class = ObjectClass::PublicKey; + + /** + * Creates a PKCS11_EC_PublicKey object from an existing PKCS#11 EC public key + * @param session the session to use + * @param handle the handle of the ecc public key + */ + PKCS11_EC_PublicKey(Session& session, ObjectHandle handle); + + /** + * Imports an EC public key + * @param session the session to use + * @param props the attributes of the public key + */ + PKCS11_EC_PublicKey(Session& session, const EC_PublicKeyImportProperties& props); + }; + +/// Properties for generating a PKCS#11 EC private key +class BOTAN_PUBLIC_API(2,0) EC_PrivateKeyGenerationProperties final : public PrivateKeyProperties + { + public: + EC_PrivateKeyGenerationProperties() + : PrivateKeyProperties(KeyType::Ec) + {} + }; + +/// Properties for importing a PKCS#11 EC private key +class BOTAN_PUBLIC_API(2,0) EC_PrivateKeyImportProperties final : public PrivateKeyProperties + { + public: + /** + * @param ec_params DER-encoding of an ANSI X9.62 Parameters value + * @param value ANSI X9.62 private value d + */ + EC_PrivateKeyImportProperties(const std::vector& ec_params, const BigInt& value); + + /// @return the DER-encoding of the ec parameters according to ANSI X9.62 + inline const std::vector& ec_params() const + { + return m_ec_params; + } + + /// @return the value of the ec private key + inline const BigInt& value() const + { + return m_value; + } + + private: + const std::vector m_ec_params; + const BigInt m_value; + }; + +// note: don't inherit from PKCS11_EC_PublicKey: a private key object IS NOT A public key object on a smartcard (-> two different objects) +// note: don't inherit from EC_PublicKey: the public key can not be extracted from a PKCS11-EC-PrivateKey (its only attributes are CKA_EC_PARAMS and CKA_VALUE) +/// Represents a PKCS#11 EC private key +class BOTAN_PUBLIC_API(2,0) PKCS11_EC_PrivateKey : public virtual Private_Key, + public Object + { + public: + static const ObjectClass Class = ObjectClass::PrivateKey; + + /** + * Creates a PKCS11_EC_PrivateKey object from an existing PKCS#11 EC private key + * @param session the session to use + * @param handle the handle of the EC private key + */ + PKCS11_EC_PrivateKey(Session& session, ObjectHandle handle); + + /** + * Imports an EC private key + * @param session the session to use + * @param props the attributes of the private key + */ + PKCS11_EC_PrivateKey(Session& session, const EC_PrivateKeyImportProperties& props); + + /** + * Generates a PKCS#11 EC private key + * @param session the session to use + * @param ec_params DER-encoding of an ANSI X9.62 Parameters value + * @param props the attributes of the private key + * @note no persistent public key object will be created + */ + PKCS11_EC_PrivateKey(Session& session, const std::vector& ec_params, + const EC_PrivateKeyGenerationProperties& props); + + /// @returns the domain of the EC private key + inline const EC_Group& domain() const + { + return m_domain_params; + } + + /** + * Sets the associated public point of this private key + * @param point the public point + * @param point_encoding encoding of the point (default DER-encoded) + */ + void set_public_point(const PointGFp& point, PublicPointEncoding point_encoding = PublicPointEncoding::Der) + { + m_public_key = point; + m_point_encoding = point_encoding; + } + + /** + * Gets the public_point + * @note the public key must be set using `set_public_point` + * because it is not possible to infer the public key from a PKCS#11 EC private key + * @return the public point of the private key + * @throws Exception if the public point was not set using set_public_point() + */ + const PointGFp& public_point() const + { + if(m_public_key.is_zero()) + { + throw Invalid_State("Public point not set. Inferring the public key from a PKCS#11 ec private key is not possible."); + } + return m_public_key; + } + + /// @return the encoding format for the public point when it is passed to cryptoki functions as an argument + PublicPointEncoding point_encoding() const + { + return m_point_encoding; + } + + // Private_Key methods + + std::vector public_key_bits() const override; + + std::size_t key_length() const override; + + std::size_t estimated_strength() const override; + + bool check_key(RandomNumberGenerator&, bool) const override; + + AlgorithmIdentifier algorithm_identifier() const override; + + private: + EC_Group m_domain_params; + PointGFp m_public_key; + PublicPointEncoding m_point_encoding = PublicPointEncoding::Der; + }; +} + +} + +#endif + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_ecdh.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_ecdh.h new file mode 100644 index 00000000..bbef9a3e --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_ecdh.h @@ -0,0 +1,127 @@ +/* +* PKCS#11 ECDH +* (C) 2016 Daniel Neus, Sirrix AG +* (C) 2016 Philipp Weber, Sirrix AG +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_P11_ECDH_H_ +#define BOTAN_P11_ECDH_H_ + +#include + +#if defined(BOTAN_HAS_ECDH) + +#include +#include + +#include +#include + +namespace Botan { +namespace PKCS11 { +class Session; + +/// Represents a PKCS#11 ECDH public key +class BOTAN_PUBLIC_API(2,0) PKCS11_ECDH_PublicKey : public PKCS11_EC_PublicKey + { + public: + /** + * Create a PKCS11_ECDH_PublicKey object from an existing PKCS#11 ECDH public key + * @param session the session to use + * @param handle the handle of the ECDH public key + */ + PKCS11_ECDH_PublicKey(Session& session, ObjectHandle handle) + : EC_PublicKey(), PKCS11_EC_PublicKey(session, handle) + {} + + /** + * Imports a ECDH public key + * @param session the session to use + * @param props the attributes of the public key + */ + PKCS11_ECDH_PublicKey(Session& session, const EC_PublicKeyImportProperties& props) + : EC_PublicKey(), PKCS11_EC_PublicKey(session, props) + {} + + inline std::string algo_name() const override + { + return "ECDH"; + } + + /// @return the exported ECDH public key + ECDH_PublicKey export_key() const; + }; + +/// Represents a PKCS#11 ECDH private key +class BOTAN_PUBLIC_API(2,0) PKCS11_ECDH_PrivateKey final : public virtual PKCS11_EC_PrivateKey, public virtual PK_Key_Agreement_Key + { + public: + /** + * Creates a PKCS11_ECDH_PrivateKey object from an existing PKCS#11 ECDH private key + * @param session the session to use + * @param handle the handle of the ECDH private key + */ + PKCS11_ECDH_PrivateKey(Session& session, ObjectHandle handle) + : PKCS11_EC_PrivateKey(session, handle) + {} + + /** + * Imports an ECDH private key + * @param session the session to use + * @param props the attributes of the private key + */ + PKCS11_ECDH_PrivateKey(Session& session, const EC_PrivateKeyImportProperties& props) + : PKCS11_EC_PrivateKey(session, props) + {} + + /** + * Generates a PKCS#11 ECDH private key + * @param session the session to use + * @param ec_params DER-encoding of an ANSI X9.62 Parameters value + * @param props the attributes of the private key + * @note no persistent public key object will be created + */ + PKCS11_ECDH_PrivateKey(Session& session, const std::vector& ec_params, + const EC_PrivateKeyGenerationProperties& props) + : PKCS11_EC_PrivateKey(session, ec_params, props) + {} + + inline std::string algo_name() const override + { + return "ECDH"; + } + + inline std::vector public_value() const override + { + return public_point().encode(PointGFp::UNCOMPRESSED); + } + + /// @return the exported ECDH private key + ECDH_PrivateKey export_key() const; + + secure_vector private_key_bits() const override; + + std::unique_ptr + create_key_agreement_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + }; + +using PKCS11_ECDH_KeyPair = std::pair; + +/** +* PKCS#11 ECDH key pair generation +* @param session the session that should be used for the key generation +* @param pub_props the properties of the public key +* @param priv_props the properties of the private key +*/ +BOTAN_PUBLIC_API(2,0) PKCS11_ECDH_KeyPair generate_ecdh_keypair(Session& session, const EC_PublicKeyGenerationProperties& pub_props, + const EC_PrivateKeyGenerationProperties& priv_props); +} + +} + +#endif +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_ecdsa.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_ecdsa.h new file mode 100644 index 00000000..82721a46 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_ecdsa.h @@ -0,0 +1,133 @@ +/* +* PKCS#11 ECDSA +* (C) 2016 Daniel Neus, Sirrix AG +* (C) 2016 Philipp Weber, Sirrix AG +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_P11_ECDSA_H_ +#define BOTAN_P11_ECDSA_H_ + +#include +#include + +#if defined(BOTAN_HAS_ECDSA) + +#include +#include + +#include + +namespace Botan { +namespace PKCS11 { +class Session; + +/// Represents a PKCS#11 ECDSA public key +class BOTAN_PUBLIC_API(2,0) PKCS11_ECDSA_PublicKey final : public PKCS11_EC_PublicKey, public virtual ECDSA_PublicKey + { + public: + /** + * Creates a PKCS11_ECDSA_PublicKey object from an existing PKCS#11 ECDSA public key + * @param session the session to use + * @param handle the handle of the ECDSA public key + */ + PKCS11_ECDSA_PublicKey(Session& session, ObjectHandle handle) + : EC_PublicKey(), PKCS11_EC_PublicKey(session, handle) + {} + + /** + * Imports an ECDSA public key + * @param session the session to use + * @param props the attributes of the public key + */ + PKCS11_ECDSA_PublicKey(Session& session, const EC_PublicKeyImportProperties& props) + : EC_PublicKey(), PKCS11_EC_PublicKey(session, props) + {} + + inline std::string algo_name() const override + { + return "ECDSA"; + } + + /// @return the exported ECDSA public key + ECDSA_PublicKey export_key() const; + + std::unique_ptr + create_verification_op(const std::string& params, + const std::string& provider) const override; + }; + +/// Represents a PKCS#11 ECDSA private key +class BOTAN_PUBLIC_API(2,0) PKCS11_ECDSA_PrivateKey final : public PKCS11_EC_PrivateKey + { + public: + /** + * Creates a PKCS11_ECDSA_PrivateKey object from an existing PKCS#11 ECDSA private key + * @param session the session to use + * @param handle the handle of the ECDSA private key + */ + PKCS11_ECDSA_PrivateKey(Session& session, ObjectHandle handle) + : PKCS11_EC_PrivateKey(session, handle) + {} + + /** + * Imports a ECDSA private key + * @param session the session to use + * @param props the attributes of the private key + */ + PKCS11_ECDSA_PrivateKey(Session& session, const EC_PrivateKeyImportProperties& props) + : PKCS11_EC_PrivateKey(session, props) + {} + + /** + * Generates a PKCS#11 ECDSA private key + * @param session the session to use + * @param ec_params DER-encoding of an ANSI X9.62 Parameters value + * @param props the attributes of the private key + * @note no persistent public key object will be created + */ + PKCS11_ECDSA_PrivateKey(Session& session, const std::vector& ec_params, + const EC_PrivateKeyGenerationProperties& props) + : PKCS11_EC_PrivateKey(session, ec_params, props) + {} + + inline std::string algo_name() const override + { + return "ECDSA"; + } + + size_t message_parts() const override { return 2; } + + size_t message_part_size() const override + { return domain().get_order().bytes(); } + + /// @return the exported ECDSA private key + ECDSA_PrivateKey export_key() const; + + secure_vector private_key_bits() const override; + + bool check_key(RandomNumberGenerator&, bool) const override; + + std::unique_ptr + create_signature_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + }; + +using PKCS11_ECDSA_KeyPair = std::pair; + +/** +* ECDSA key pair generation +* @param session the session that should be used for the key generation +* @param pub_props the properties of the public key +* @param priv_props the properties of the private key +*/ +BOTAN_PUBLIC_API(2,0) PKCS11_ECDSA_KeyPair generate_ecdsa_keypair(Session& session, + const EC_PublicKeyGenerationProperties& pub_props, const EC_PrivateKeyGenerationProperties& priv_props); +} + +} + +#endif +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_module.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_module.h new file mode 100644 index 00000000..0c8a6a6d --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_module.h @@ -0,0 +1,15 @@ +/* +* PKCS#11 Module +* (C) 2016 Daniel Neus, Sirrix AG +* (C) 2016 Philipp Weber, Sirrix AG +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_P11_MODULE_H_ +#define BOTAN_P11_MODULE_H_ + +#include +BOTAN_DEPRECATED_HEADER(p11_module.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_object.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_object.h new file mode 100644 index 00000000..a0da1b5c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_object.h @@ -0,0 +1,773 @@ +/* +* PKCS#11 Object +* (C) 2016 Daniel Neus, Sirrix AG +* (C) 2016 Philipp Weber, Sirrix AG +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_P11_OBJECT_H_ +#define BOTAN_P11_OBJECT_H_ + +#include +#include +#include + +#include +#include +#include +#include +#include + +namespace Botan { +namespace PKCS11 { + +class Module; + +/// Helper class to build the Attribute / CK_ATTRIBUTE structures +class BOTAN_PUBLIC_API(2,0) AttributeContainer + { + public: + AttributeContainer() = default; + + /// @param object_class the class type of this container + AttributeContainer(ObjectClass object_class); + + virtual ~AttributeContainer() = default; + + AttributeContainer(AttributeContainer&& other) = default; + AttributeContainer& operator=(AttributeContainer&& other) = default; + + // Warning when implementing copy/assignment: m_attributes contains pointers to the other members which must be updated after a copy + AttributeContainer(const AttributeContainer& other) = delete; + AttributeContainer& operator=(const AttributeContainer& other) = delete; + + /// @return the attributes this container contains + inline const std::vector& attributes() const + { + return m_attributes; + } + + /// @return raw attribute data + inline Attribute* data() const + { + return const_cast< Attribute* >(m_attributes.data()); + } + + /// @return the number of attributes in this container + inline size_t count() const + { + return m_attributes.size(); + } + + /** + * Add a class attribute (CKA_CLASS / AttributeType::Class). + * @param object_class class attribute to add + */ + void add_class(ObjectClass object_class); + + /** + * Add a string attribute (e.g. CKA_LABEL / AttributeType::Label). + * @param attribute attribute type + * @param value string value to add + */ + void add_string(AttributeType attribute, const std::string& value); + + /** + * Add a binary attribute (e.g. CKA_ID / AttributeType::Id). + * @param attribute attribute type + * @param value binary attribute value to add + * @param length size of the binary attribute value in bytes + */ + void add_binary(AttributeType attribute, const uint8_t* value, size_t length); + + /** + * Add a binary attribute (e.g. CKA_ID / AttributeType::Id). + * @param attribute attribute type + * @param binary binary attribute value to add + */ + template + void add_binary(AttributeType attribute, const std::vector& binary) + { + add_binary(attribute, binary.data(), binary.size()); + } + + /** + * Add a bool attribute (e.g. CKA_SENSITIVE / AttributeType::Sensitive). + * @param attribute attribute type + * @param value boolean value to add + */ + void add_bool(AttributeType attribute, bool value); + + /** + * Add a numeric attribute (e.g. CKA_MODULUS_BITS / AttributeType::ModulusBits). + * @param attribute attribute type + * @param value numeric value to add + */ + template + void add_numeric(AttributeType attribute, T value) + { + static_assert(std::is_integral::value, "Numeric value required."); + m_numerics.push_back(static_cast< uint64_t >(value)); + add_attribute(attribute, reinterpret_cast< uint8_t* >(&m_numerics.back()), sizeof(T)); + } + + protected: + /// Add an attribute with the given value and size to the attribute collection `m_attributes` + void add_attribute(AttributeType attribute, const uint8_t* value, uint32_t size); + + private: + std::vector m_attributes; + std::list m_numerics; + std::list m_strings; + std::list> m_vectors; + }; + +/// Manages calls to C_FindObjects* functions (C_FindObjectsInit -> C_FindObjects -> C_FindObjectsFinal) +class BOTAN_PUBLIC_API(2,0) ObjectFinder final + { + public: + /** + * Initializes a search for token and session objects that match a template (calls C_FindObjectsInit) + * @param session the session to use for the search + * @param search_template the search_template as a vector of `Attribute` + */ + ObjectFinder(Session& session, const std::vector& search_template); + + ObjectFinder(const ObjectFinder& other) = default; + ObjectFinder& operator=(const ObjectFinder& other) = delete; + + ObjectFinder(ObjectFinder&& other) = default; + ObjectFinder& operator=(ObjectFinder&& other) = delete; + + /// Terminates a search for token and session objects (calls C_FindObjectsFinal) + ~ObjectFinder() noexcept; + + /** + * Starts or continues a search for token and session objects that match a template, obtaining additional object handles (calls C_FindObjects) + * @param max_count maximum amount of object handles to retrieve. Default = 100 + * @return the result of the search as a vector of `ObjectHandle` + */ + std::vector find(std::uint32_t max_count = 100) const; + + /// Finishes the search operation manually to allow a new ObjectFinder to exist + void finish(); + + /// @return the module this `ObjectFinder` belongs to + inline Module& module() const + { + return m_session.get().module(); + } + + private: + const std::reference_wrapper m_session; + bool m_search_terminated; + }; + +/// Common attributes of all objects +class BOTAN_PUBLIC_API(2,0) ObjectProperties : public AttributeContainer + { + public: + /// @param object_class the object class of the object + ObjectProperties(ObjectClass object_class); + + /// @return the object class of this object + inline ObjectClass object_class() const + { + return m_object_class; + } + + private: + const ObjectClass m_object_class; + }; + +/// Common attributes of all storage objects +class BOTAN_PUBLIC_API(2,0) StorageObjectProperties : public ObjectProperties + { + public: + /// @param object_class the CK_OBJECT_CLASS this storage object belongs to + StorageObjectProperties(ObjectClass object_class); + + /// @param label description of the object (RFC2279 string) + inline void set_label(const std::string& label) + { + add_string(AttributeType::Label, label); + } + + /// @param value if true the object is a token object; otherwise the object is a session object + inline void set_token(bool value) + { + add_bool(AttributeType::Token, value); + } + + /** + * @param value if true the object is a private object; otherwise the object is a public object + * When private, a user may not access the object until the user has been authenticated to the token + */ + inline void set_private(bool value) + { + add_bool(AttributeType::Private, value); + } + + /// @param value if true the object can be modified, otherwise it is read-only + void set_modifiable(bool value) + { + add_bool(AttributeType::Modifiable, value); + } + + /// @param value if true the object can be copied using C_CopyObject + void set_copyable(bool value) + { + add_bool(AttributeType::Copyable, value); + } + + /// @param value if true the object can be destroyed using C_DestroyObject + void set_destroyable(bool value) + { + add_bool(AttributeType::Destroyable, value); + } + }; + +/// Common attributes of all data objects +class BOTAN_PUBLIC_API(2,0) DataObjectProperties final : public StorageObjectProperties + { + public: + DataObjectProperties(); + + /// @param value description of the application that manages the object (RFC2279 string) + inline void set_application(const std::string& value) + { + add_string(AttributeType::Application, value); + } + + /// @param object_id DER-encoding of the object identifier indicating the data object type + inline void set_object_id(const std::vector& object_id) + { + add_binary(AttributeType::ObjectId, object_id); + } + + /// @param value value of the object + inline void set_value(const secure_vector& value) + { + add_binary(AttributeType::Value, value); + } + }; + +/// Common attributes of all certificate objects +class BOTAN_PUBLIC_API(2,0) CertificateProperties : public StorageObjectProperties + { + public: + /// @param cert_type type of certificate + CertificateProperties(CertificateType cert_type); + + /// @param value the certificate can be trusted for the application that it was created (can only be set to true by SO user) + inline void set_trusted(bool value) + { + add_bool(AttributeType::Trusted, value); + } + + /// @param category one of `CertificateCategory` + inline void set_category(CertificateCategory category) + { + add_numeric(AttributeType::CertificateCategory, static_cast< CK_CERTIFICATE_CATEGORY >(category)); + } + + /** + * @param checksum the value of this attribute is derived from the certificate by taking the + * first three bytes of the SHA - 1 hash of the certificate object's `CKA_VALUE` attribute + */ + inline void set_check_value(const std::vector& checksum) + { + add_binary(AttributeType::CheckValue, checksum); + } + + /// @param date start date for the certificate + inline void set_start_date(Date date) + { + add_binary(AttributeType::StartDate, reinterpret_cast(&date), sizeof(Date)); + } + + /// @param date end date for the certificate + inline void set_end_date(Date date) + { + add_binary(AttributeType::EndDate, reinterpret_cast(&date), sizeof(Date)); + } + + /// @param pubkey_info DER-encoding of the SubjectPublicKeyInfo for the public key contained in this certificate + inline void set_public_key_info(const std::vector& pubkey_info) + { + add_binary(AttributeType::PublicKeyInfo, pubkey_info); + } + + /// @return the certificate type of this certificate object + inline CertificateType cert_type() const + { + return m_cert_type; + } + + private: + const CertificateType m_cert_type; + }; + +/// Common attributes of all key objects +class BOTAN_PUBLIC_API(2,0) KeyProperties : public StorageObjectProperties + { + public: + /** + * @param object_class the `CK_OBJECT_CLASS` this key object belongs to + * @param key_type type of key + */ + KeyProperties(ObjectClass object_class, KeyType key_type); + + /// @param id key identifier for key + inline void set_id(const std::vector& id) + { + add_binary(AttributeType::Id, id); + } + + /// @param date start date for the key + inline void set_start_date(Date date) + { + add_binary(AttributeType::StartDate, reinterpret_cast(&date), sizeof(Date)); + } + + /// @param date end date for the key + inline void set_end_date(Date date) + { + add_binary(AttributeType::EndDate, reinterpret_cast(&date), sizeof(Date)); + } + + /// @param value true if key supports key derivation (i.e., if other keys can be derived from this one) + inline void set_derive(bool value) + { + add_bool(AttributeType::Derive, value); + } + + /** + * Sets a list of mechanisms allowed to be used with this key + * Not implemented + */ + inline void set_allowed_mechanisms(const std::vector&) + { + throw Not_Implemented("KeyProperties::set_allowed_mechanisms"); + } + + /// @return the key type of this key object + inline KeyType key_type() const + { + return m_key_type; + } + + private: + const KeyType m_key_type; + }; + +/// Common attributes of all public key objects +class BOTAN_PUBLIC_API(2,0) PublicKeyProperties : public KeyProperties + { + public: + /// @param key_type type of key + PublicKeyProperties(KeyType key_type); + + /// @param subject DER-encoding of the key subject name + inline void set_subject(const std::vector& subject) + { + add_binary(AttributeType::Subject, subject); + } + + /// @param value true if the key supports encryption + inline void set_encrypt(bool value) + { + add_bool(AttributeType::Encrypt, value); + } + + /// @param value true if the key supports verification where the signature is an appendix to the data + inline void set_verify(bool value) + { + add_bool(AttributeType::Verify, value); + } + + /// @param value true if the key supports verification where the data is recovered from the signature + inline void set_verify_recover(bool value) + { + add_bool(AttributeType::VerifyRecover, value); + } + + /// @param value true if the key supports wrapping (i.e., can be used to wrap other keys) + inline void set_wrap(bool value) + { + add_bool(AttributeType::Wrap, value); + } + + /** + * @param value true if the key can be trusted for the application that it was created. + * The wrapping key can be used to wrap keys with `CKA_WRAP_WITH_TRUSTED` set to `CK_TRUE` + */ + inline void set_trusted(bool value) + { + add_bool(AttributeType::Trusted, value); + } + + /** + * For wrapping keys + * The attribute template to match against any keys wrapped using this wrapping key. + * Keys that do not match cannot be wrapped + * Not implemented + */ + inline void set_wrap_template(const AttributeContainer&) + { + throw Not_Implemented("PublicKeyProperties::set_wrap_template"); + } + + /// @param pubkey_info DER-encoding of the SubjectPublicKeyInfo for this public key + inline void set_public_key_info(const std::vector& pubkey_info) + { + add_binary(AttributeType::PublicKeyInfo, pubkey_info); + } + }; + +/// Common attributes of all private keys +class BOTAN_PUBLIC_API(2,0) PrivateKeyProperties : public KeyProperties + { + public: + /// @param key_type type of key + PrivateKeyProperties(KeyType key_type); + + /// @param subject DER-encoding of the key subject name + inline void set_subject(const std::vector& subject) + { + add_binary(AttributeType::Subject, subject); + } + + /// @param value true if the key is sensitive + inline void set_sensitive(bool value) + { + add_bool(AttributeType::Sensitive, value); + } + + /// @param value true if the key supports decryption + inline void set_decrypt(bool value) + { + add_bool(AttributeType::Decrypt, value); + } + + /// @param value true if the key supports signatures where the signature is an appendix to the data + inline void set_sign(bool value) + { + add_bool(AttributeType::Sign, value); + } + + /// @param value true if the key supports signatures where the data can be recovered from the signature + inline void set_sign_recover(bool value) + { + add_bool(AttributeType::SignRecover, value); + } + + /// @param value true if the key supports unwrapping (i.e., can be used to unwrap other keys) + inline void set_unwrap(bool value) + { + add_bool(AttributeType::Unwrap, value); + } + + /// @param value true if the key is extractable and can be wrapped + inline void set_extractable(bool value) + { + add_bool(AttributeType::Extractable, value); + } + + /// @param value true if the key can only be wrapped with a wrapping key that has `CKA_TRUSTED` set to `CK_TRUE` + inline void set_wrap_with_trusted(bool value) + { + add_bool(AttributeType::WrapWithTrusted, value); + } + + /// @param value If true, the user has to supply the PIN for each use (sign or decrypt) with the key + inline void set_always_authenticate(bool value) + { + add_bool(AttributeType::AlwaysAuthenticate, value); + } + + /** + * For wrapping keys + * The attribute template to apply to any keys unwrapped using this wrapping key. + * Any user supplied template is applied after this template as if the object has already been created + * Not implemented + */ + inline void set_unwrap_template(const AttributeContainer&) + { + throw Not_Implemented("PrivateKeyProperties::set_unwrap_template"); + } + + /// @param pubkey_info DER-encoding of the SubjectPublicKeyInfo for this public key + inline void set_public_key_info(const std::vector& pubkey_info) + { + add_binary(AttributeType::PublicKeyInfo, pubkey_info); + } + }; + +/// Common attributes of all secret (symmetric) keys +class BOTAN_PUBLIC_API(2,0) SecretKeyProperties final : public KeyProperties + { + public: + /// @param key_type type of key + SecretKeyProperties(KeyType key_type); + + /// @param value true if the key is sensitive + inline void set_sensitive(bool value) + { + add_bool(AttributeType::Sensitive, value); + } + + /// @param value true if the key supports encryption + inline void set_encrypt(bool value) + { + add_bool(AttributeType::Encrypt, value); + } + + /// @param value true if the key supports decryption + inline void set_decrypt(bool value) + { + add_bool(AttributeType::Decrypt, value); + } + + /// @param value true if the key supports signatures where the signature is an appendix to the data + inline void set_sign(bool value) + { + add_bool(AttributeType::Sign, value); + } + + /// @param value true if the key supports verification where the signature is an appendix to the data + inline void set_verify(bool value) + { + add_bool(AttributeType::Verify, value); + } + + /// @param value true if the key supports unwrapping (i.e., can be used to unwrap other keys) + inline void set_unwrap(bool value) + { + add_bool(AttributeType::Unwrap, value); + } + + /// @param value true if the key is extractable and can be wrapped + inline void set_extractable(bool value) + { + add_bool(AttributeType::Extractable, value); + } + + /// @param value true if the key can only be wrapped with a wrapping key that has `CKA_TRUSTED` set to `CK_TRUE` + inline void set_wrap_with_trusted(bool value) + { + add_bool(AttributeType::WrapWithTrusted, value); + } + + /// @param value if true, the user has to supply the PIN for each use (sign or decrypt) with the key + inline void set_always_authenticate(bool value) + { + add_bool(AttributeType::AlwaysAuthenticate, value); + } + + /// @param value true if the key supports wrapping (i.e., can be used to wrap other keys) + inline void set_wrap(bool value) + { + add_bool(AttributeType::Wrap, value); + } + + /** + * @param value the key can be trusted for the application that it was created. + * The wrapping key can be used to wrap keys with `CKA_WRAP_WITH_TRUSTED` set to `CK_TRUE` + */ + inline void set_trusted(bool value) + { + add_bool(AttributeType::Trusted, value); + } + + /// @param checksum the key check value of this key + inline void set_check_value(const std::vector& checksum) + { + add_binary(AttributeType::CheckValue, checksum); + } + + /** + * For wrapping keys + * The attribute template to match against any keys wrapped using this wrapping key. + * Keys that do not match cannot be wrapped + * Not implemented + */ + inline void set_wrap_template(const AttributeContainer&) + { + throw Not_Implemented("SecretKeyProperties::set_wrap_template"); + } + + /** + * For wrapping keys + * The attribute template to apply to any keys unwrapped using this wrapping key + * Any user supplied template is applied after this template as if the object has already been created + * Not Implemented + */ + inline void set_unwrap_template(const AttributeContainer&) + { + throw Not_Implemented("SecretKeyProperties::set_unwrap_template"); + } + }; + +/// Common attributes of domain parameter +class BOTAN_PUBLIC_API(2,0) DomainParameterProperties final : public StorageObjectProperties + { + public: + /// @param key_type type of key the domain parameters can be used to generate + DomainParameterProperties(KeyType key_type); + + /// @return the key type + inline KeyType key_type() const + { + return m_key_type; + } + + private: + const KeyType m_key_type; + }; + +/** +* Represents a PKCS#11 object. +*/ +class BOTAN_PUBLIC_API(2,0) Object + { + public: + /** + * Creates an `Object` from an existing PKCS#11 object + * @param session the session the object belongs to + * @param handle handle of the object + */ + + Object(Session& session, ObjectHandle handle); + + /** + * Creates the object + * @param session the session in which the object should be created + * @param obj_props properties of this object + */ + Object(Session& session, const ObjectProperties& obj_props); + + Object(const Object&) = default; + Object& operator=(const Object&) = delete; + virtual ~Object() = default; + + /// Searches for all objects of the given type that match `search_template` + template + static std::vector search(Session& session, const std::vector& search_template); + + /// Searches for all objects of the given type using the label (`CKA_LABEL`) + template + static std::vector search(Session& session, const std::string& label); + + /// Searches for all objects of the given type using the id (`CKA_ID`) + template + static std::vector search(Session& session, const std::vector& id); + + /// Searches for all objects of the given type using the label (`CKA_LABEL`) and id (`CKA_ID`) + template + static std::vector search(Session& session, const std::string& label, const std::vector& id); + + /// Searches for all objects of the given type + template + static std::vector search(Session& session); + + /// @returns the value of the given attribute (using `C_GetAttributeValue`) + secure_vector get_attribute_value(AttributeType attribute) const; + + /// Sets the given value for the attribute (using `C_SetAttributeValue`) + void set_attribute_value(AttributeType attribute, const secure_vector& value) const; + + /// Destroys the object + void destroy() const; + + /** + * Copies the object + * @param modified_attributes the attributes of the copied object + */ + ObjectHandle copy(const AttributeContainer& modified_attributes) const; + + /// @return the handle of this object. + inline ObjectHandle handle() const + { + return m_handle; + } + + /// @return the session this objects belongs to + inline Session& session() const + { + return m_session; + } + + /// @return the module this object belongs to + inline Module& module() const + { + return m_session.get().module(); + } + protected: + Object(Session& session) + : m_session(session) + {} + + void reset_handle(ObjectHandle handle) + { + if(m_handle != CK_INVALID_HANDLE) + throw Invalid_Argument("Cannot reset handle on already valid PKCS11 object"); + m_handle = handle; + } + + private: + const std::reference_wrapper m_session; + ObjectHandle m_handle = CK_INVALID_HANDLE; + }; + +template +std::vector Object::search(Session& session, const std::vector& search_template) + { + ObjectFinder finder(session, search_template); + std::vector handles = finder.find(); + std::vector result; + result.reserve(handles.size()); + for(const auto& handle : handles) + { + result.emplace_back(T(session, handle)); + } + return result; + } + +template +std::vector Object::search(Session& session, const std::string& label) + { + AttributeContainer search_template(T::Class); + search_template.add_string(AttributeType::Label, label); + return search(session, search_template.attributes()); + } + +template +std::vector Object::search(Session& session, const std::vector& id) + { + AttributeContainer search_template(T::Class); + search_template.add_binary(AttributeType::Id, id); + return search(session, search_template.attributes()); + } + +template +std::vector Object::search(Session& session, const std::string& label, const std::vector& id) + { + AttributeContainer search_template(T::Class); + search_template.add_string(AttributeType::Label, label); + search_template.add_binary(AttributeType::Id, id); + return search(session, search_template.attributes()); + } + +template +std::vector Object::search(Session& session) + { + return search(session, AttributeContainer(T::Class).attributes()); + } + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_randomgenerator.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_randomgenerator.h new file mode 100644 index 00000000..339cb95a --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_randomgenerator.h @@ -0,0 +1,70 @@ +/* +* PKCS#11 Random Generator +* (C) 2016 Daniel Neus, Sirrix AG +* (C) 2016 Philipp Weber, Sirrix AG +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_P11_RNG_H_ +#define BOTAN_P11_RNG_H_ + +#include +#include +#include + +#include +#include + +namespace Botan { +namespace PKCS11 { + +class Module; + +/// A random generator that only fetches random from the PKCS#11 RNG +class BOTAN_PUBLIC_API(2,0) PKCS11_RNG final : public Hardware_RNG + { + public: + /// Initialize the RNG with the PKCS#11 session that provides access to the cryptoki functions + explicit PKCS11_RNG(Session& session); + + std::string name() const override + { + return "PKCS11_RNG"; + } + + /// Always returns true + bool is_seeded() const override + { + return true; + } + + /// No operation - always returns 0 + size_t reseed(Entropy_Sources&, size_t, std::chrono::milliseconds) override + { + return 0; + } + + /// @return the module used by this RNG + inline Module& module() const + { + return m_session.get().module(); + } + + /// Calls `C_GenerateRandom` to generate random data + void randomize(uint8_t output[], std::size_t length) override; + + /// Calls `C_SeedRandom` to add entropy to the random generation function of the token/middleware + void add_entropy(const uint8_t in[], std::size_t length) override; + + // C_SeedRandom may suceed + bool accepts_input() const override { return true; } + + private: + const std::reference_wrapper m_session; + }; +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_rsa.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_rsa.h new file mode 100644 index 00000000..41d9bc13 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_rsa.h @@ -0,0 +1,229 @@ +/* +* PKCS#11 RSA +* (C) 2016 Daniel Neus, Sirrix AG +* (C) 2016 Philipp Weber, Sirrix AG +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_P11_RSA_H_ +#define BOTAN_P11_RSA_H_ + +#include +#include +#include +#include + +#if defined(BOTAN_HAS_RSA) +#include +#include + +namespace Botan { +namespace PKCS11 { + +/// Properties for generating a PKCS#11 RSA public key +class BOTAN_PUBLIC_API(2,0) RSA_PublicKeyGenerationProperties final : public PublicKeyProperties + { + public: + /// @param bits length in bits of modulus n + explicit RSA_PublicKeyGenerationProperties(Ulong bits); + + /// @param pub_exponent public exponent e + inline void set_pub_exponent(const BigInt& pub_exponent = BigInt(0x10001)) + { + add_binary(AttributeType::PublicExponent, BigInt::encode(pub_exponent)); + } + + virtual ~RSA_PublicKeyGenerationProperties() = default; + }; + +/// Properties for importing a PKCS#11 RSA public key +class BOTAN_PUBLIC_API(2,0) RSA_PublicKeyImportProperties final : public PublicKeyProperties + { + public: + /// @param modulus modulus n + /// @param pub_exponent public exponent e + RSA_PublicKeyImportProperties(const BigInt& modulus, const BigInt& pub_exponent); + + /// @return the modulus + inline const BigInt& modulus() const + { + return m_modulus; + } + + /// @return the public exponent + inline const BigInt& pub_exponent() const + { + return m_pub_exponent; + } + + virtual ~RSA_PublicKeyImportProperties() = default; + private: + const BigInt m_modulus; + const BigInt m_pub_exponent; + }; + +/// Represents a PKCS#11 RSA public key +class BOTAN_PUBLIC_API(2,0) PKCS11_RSA_PublicKey : public Object, public RSA_PublicKey + { + public: + static const ObjectClass Class = ObjectClass::PublicKey; + + /** + * Creates a PKCS11_RSA_PublicKey object from an existing PKCS#11 RSA public key + * @param session the session to use + * @param handle the handle of the RSA public key + */ + PKCS11_RSA_PublicKey(Session& session, ObjectHandle handle); + + /** + * Imports a RSA public key + * @param session the session to use + * @param pubkey_props the attributes of the public key + */ + PKCS11_RSA_PublicKey(Session& session, const RSA_PublicKeyImportProperties& pubkey_props); + + std::unique_ptr + create_encryption_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + + std::unique_ptr + create_verification_op(const std::string& params, + const std::string& provider) const override; + }; + +/// Properties for importing a PKCS#11 RSA private key +class BOTAN_PUBLIC_API(2,0) RSA_PrivateKeyImportProperties final : public PrivateKeyProperties + { + public: + /** + * @param modulus modulus n + * @param priv_exponent private exponent d + */ + RSA_PrivateKeyImportProperties(const BigInt& modulus, const BigInt& priv_exponent); + + /// @param pub_exponent public exponent e + inline void set_pub_exponent(const BigInt& pub_exponent) + { + add_binary(AttributeType::PublicExponent, BigInt::encode(pub_exponent)); + } + + /// @param prime1 prime p + inline void set_prime_1(const BigInt& prime1) + { + add_binary(AttributeType::Prime1, BigInt::encode(prime1)); + } + + /// @param prime2 prime q + inline void set_prime_2(const BigInt& prime2) + { + add_binary(AttributeType::Prime2, BigInt::encode(prime2)); + } + + /// @param exp1 private exponent d modulo p-1 + inline void set_exponent_1(const BigInt& exp1) + { + add_binary(AttributeType::Exponent1, BigInt::encode(exp1)); + } + + /// @param exp2 private exponent d modulo q-1 + inline void set_exponent_2(const BigInt& exp2) + { + add_binary(AttributeType::Exponent2, BigInt::encode(exp2)); + } + + /// @param coeff CRT coefficient q^-1 mod p + inline void set_coefficient(const BigInt& coeff) + { + add_binary(AttributeType::Coefficient, BigInt::encode(coeff)); + } + + /// @return the modulus + inline const BigInt& modulus() const + { + return m_modulus; + } + + /// @return the private exponent + inline const BigInt& priv_exponent() const + { + return m_priv_exponent; + } + + virtual ~RSA_PrivateKeyImportProperties() = default; + + private: + const BigInt m_modulus; + const BigInt m_priv_exponent; + }; + +/// Properties for generating a PKCS#11 RSA private key +class BOTAN_PUBLIC_API(2,0) RSA_PrivateKeyGenerationProperties final : public PrivateKeyProperties + { + public: + RSA_PrivateKeyGenerationProperties() + : PrivateKeyProperties(KeyType::Rsa) + {} + + virtual ~RSA_PrivateKeyGenerationProperties() = default; + }; + +/// Represents a PKCS#11 RSA private key +class BOTAN_PUBLIC_API(2,0) PKCS11_RSA_PrivateKey final : + public Object, public Private_Key, public RSA_PublicKey + { + public: + static const ObjectClass Class = ObjectClass::PrivateKey; + + /// Creates a PKCS11_RSA_PrivateKey object from an existing PKCS#11 RSA private key + PKCS11_RSA_PrivateKey(Session& session, ObjectHandle handle); + + /** + * Imports a RSA private key + * @param session the session to use + * @param priv_key_props the properties of the RSA private key + */ + PKCS11_RSA_PrivateKey(Session& session, const RSA_PrivateKeyImportProperties& priv_key_props); + + /** + * Generates a PKCS#11 RSA private key + * @param session the session to use + * @param bits length in bits of modulus n + * @param priv_key_props the properties of the RSA private key + * @note no persistent public key object will be created + */ + PKCS11_RSA_PrivateKey(Session& session, uint32_t bits, const RSA_PrivateKeyGenerationProperties& priv_key_props); + + /// @return the exported RSA private key + RSA_PrivateKey export_key() const; + + secure_vector private_key_bits() const override; + + std::unique_ptr + create_decryption_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + + std::unique_ptr + create_signature_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + }; + +using PKCS11_RSA_KeyPair = std::pair; + +/** +* RSA key pair generation +* @param session the session that should be used for the key generation +* @param pub_props properties of the public key +* @param priv_props properties of the private key +*/ +BOTAN_PUBLIC_API(2,0) PKCS11_RSA_KeyPair generate_rsa_keypair(Session& session, const RSA_PublicKeyGenerationProperties& pub_props, + const RSA_PrivateKeyGenerationProperties& priv_props); +} + +} +#endif + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_session.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_session.h new file mode 100644 index 00000000..39b7877c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_session.h @@ -0,0 +1,15 @@ +/* +* PKCS#11 Session +* (C) 2016 Daniel Neus, Sirrix AG +* (C) 2016 Philipp Weber, Sirrix AG +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_P11_SESSION_H_ +#define BOTAN_P11_SESSION_H_ + +#include +BOTAN_DEPRECATED_HEADER(p11_session.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_slot.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_slot.h new file mode 100644 index 00000000..0a33ed5f --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_slot.h @@ -0,0 +1,15 @@ +/* +* PKCS#11 Slot +* (C) 2016 Daniel Neus +* (C) 2016 Philipp Weber +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_P11_SLOT_H_ +#define BOTAN_P11_SLOT_H_ + +#include +BOTAN_DEPRECATED_HEADER(p11_slot.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_types.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_types.h new file mode 100644 index 00000000..bd445da3 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_types.h @@ -0,0 +1,209 @@ +/* +* PKCS#11 Module/Slot/Session +* (C) 2016 Daniel Neus, Sirrix AG +* (C) 2016 Philipp Weber, Sirrix AG +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_P11_TYPES_H_ +#define BOTAN_P11_TYPES_H_ + +#include +#include +#include +#include +#include + +namespace Botan { + +class Dynamically_Loaded_Library; + +namespace PKCS11 { + +/** +* Loads the PKCS#11 shared library +* Calls C_Initialize on load and C_Finalize on destruction +*/ +class BOTAN_PUBLIC_API(2,0) Module final + { + public: + /** + * Loads the shared library and calls C_Initialize + * @param file_path the path to the PKCS#11 shared library + * @param init_args flags to use for `C_Initialize` + */ + Module(const std::string& file_path, C_InitializeArgs init_args = { nullptr, nullptr, nullptr, nullptr, static_cast< CK_FLAGS >(Flag::OsLockingOk), nullptr }); + + Module(Module&& other); + Module& operator=(Module&& other) = delete; + + // Dtor calls C_Finalize(). A copy could be deleted while the origin still exists + // Furthermore std::unique_ptr member -> not copyable + Module(const Module& other) = delete; + Module& operator=(const Module& other) = delete; + + /// Calls C_Finalize() + ~Module() noexcept; + + /** + * Reloads the module and reinitializes it + * @param init_args flags to use for `C_Initialize` + */ + void reload(C_InitializeArgs init_args = { nullptr, nullptr, nullptr, nullptr, static_cast< CK_FLAGS >(Flag::OsLockingOk), nullptr }); + + inline LowLevel* operator->() const + { + return m_low_level.get(); + } + + /// @return general information about Cryptoki + inline Info get_info() const + { + Info info; + m_low_level->C_GetInfo(&info); + return info; + } + + private: + const std::string m_file_path; + FunctionListPtr m_func_list = nullptr; + std::unique_ptr m_library; + std::unique_ptr m_low_level = nullptr; + }; + +/// Represents a PKCS#11 Slot, i.e., a card reader +class BOTAN_PUBLIC_API(2,0) Slot final + { + public: + /** + * @param module the PKCS#11 module to use + * @param slot_id the slot id to use + */ + Slot(Module& module, SlotId slot_id); + + /// @return a reference to the module that is used + inline Module& module() const + { + return m_module; + } + + /// @return the slot id + inline SlotId slot_id() const + { + return m_slot_id; + } + + /** + * Get available slots + * @param module the module to use + * @param token_present true if only slots with attached tokens should be returned, false for all slots + * @return a list of available slots (calls C_GetSlotList) + */ + static std::vector get_available_slots(Module& module, bool token_present); + + /// @return information about the slot (`C_GetSlotInfo`) + SlotInfo get_slot_info() const; + + /// Obtains a list of mechanism types supported by the slot (`C_GetMechanismList`) + std::vector get_mechanism_list() const; + + /// Obtains information about a particular mechanism possibly supported by a slot (`C_GetMechanismInfo`) + MechanismInfo get_mechanism_info(MechanismType mechanism_type) const; + + /// Obtains information about a particular token in the system (`C_GetTokenInfo`) + TokenInfo get_token_info() const; + + /** + * Calls `C_InitToken` to initialize the token + * @param label the label for the token (must not exceed 32 bytes according to PKCS#11) + * @param so_pin the PIN of the security officer + */ + void initialize(const std::string& label, const secure_string& so_pin) const; + + private: + const std::reference_wrapper m_module; + const SlotId m_slot_id; + }; + +/// Represents a PKCS#11 session +class BOTAN_PUBLIC_API(2,0) Session final + { + public: + /** + * @param slot the slot to use + * @param read_only true if the session should be read only, false to create a read-write session + */ + Session(Slot& slot, bool read_only); + + /** + * @param slot the slot to use + * @param flags the flags to use for the session. Remark: Flag::SerialSession is mandatory + * @param callback_data application-defined pointer to be passed to the notification callback + * @param notify_callback address of the notification callback function + */ + Session(Slot& slot, Flags flags, VoidPtr callback_data, Notify notify_callback); + + /// Takes ownership of a session + Session(Slot& slot, SessionHandle handle); + + Session(Session&& other) = default; + Session& operator=(Session&& other) = delete; + + // Dtor calls C_CloseSession() and eventually C_Logout. A copy could close the session while the origin still exists + Session(const Session& other) = delete; + Session& operator=(const Session& other) = delete; + + /// Logout user and close the session on destruction + ~Session() noexcept; + + /// @return a reference to the slot + inline const Slot& slot() const + { + return m_slot; + } + + /// @return the session handle of this session + inline SessionHandle handle() const + { + return m_handle; + } + + /// @return a reference to the used module + inline Module& module() const + { + return m_slot.module(); + } + + /// @return the released session handle + SessionHandle release(); + + /** + * Login to this session + * @param userType the user type to use for the login + * @param pin the PIN of the user + */ + void login(UserType userType, const secure_string& pin); + + /// Logout from this session + void logoff(); + + /// @return information about this session + SessionInfo get_info() const; + + /// Calls `C_SetPIN` to change the PIN using the old PIN (requires a logged in session) + void set_pin(const secure_string& old_pin, const secure_string& new_pin) const; + + /// Calls `C_InitPIN` to change or initialize the PIN using the SO_PIN (requires a logged in session) + void init_pin(const secure_string& new_pin); + + private: + const Slot& m_slot; + SessionHandle m_handle; + bool m_logged_in; + }; + +} +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_x509.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_x509.h new file mode 100644 index 00000000..d3eafbe3 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/p11_x509.h @@ -0,0 +1,117 @@ +/* +* PKCS#11 X.509 +* (C) 2016 Daniel Neus, Sirrix AG +* (C) 2016 Philipp Weber, Sirrix AG +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_P11_X509_H_ +#define BOTAN_P11_X509_H_ + +#include + +#if defined(BOTAN_HAS_X509_CERTIFICATES) + +#include +#include + +namespace Botan { +namespace PKCS11 { + +class Session; + +/// Common attributes of all PKCS#11 X509 certificates +class BOTAN_PUBLIC_API(2,0) X509_CertificateProperties final : public CertificateProperties + { + public: + /** + * @param subject DER-encoding of the certificate subject name + * @param value BER-encoding of the certificate + */ + X509_CertificateProperties(const std::vector& subject, const std::vector& value); + + X509_CertificateProperties(const X509_Certificate& cert) : + X509_CertificateProperties(cert.raw_subject_dn(), cert.BER_encode()) + {} + + /// @param id key identifier for public/private key pair + inline void set_id(const std::vector& id) + { + add_binary(AttributeType::Id, id); + } + + /// @param issuer DER-encoding of the certificate issuer name + inline void set_issuer(const std::vector& issuer) + { + add_binary(AttributeType::Issuer, issuer); + } + + /// @param serial DER-encoding of the certificate serial number + inline void set_serial(const std::vector& serial) + { + add_binary(AttributeType::SerialNumber, serial); + } + + /// @param hash hash value of the subject public key + inline void set_subject_pubkey_hash(const std::vector& hash) + { + add_binary(AttributeType::HashOfSubjectPublicKey, hash); + } + + /// @param hash hash value of the issuer public key + inline void set_issuer_pubkey_hash(const std::vector& hash) + { + add_binary(AttributeType::HashOfIssuerPublicKey, hash); + } + + /// @param alg defines the mechanism used to calculate `CKA_HASH_OF_SUBJECT_PUBLIC_KEY` and `CKA_HASH_OF_ISSUER_PUBLIC_KEY` + inline void set_hash_alg(MechanismType alg) + { + add_numeric(AttributeType::NameHashAlgorithm, static_cast(alg)); + } + + /// @return the subject + inline const std::vector& subject() const + { + return m_subject; + } + + /// @return the BER-encoding of the certificate + inline const std::vector& value() const + { + return m_value; + } + + private: + const std::vector m_subject; + const std::vector m_value; + }; + +/// Represents a PKCS#11 X509 certificate +class BOTAN_PUBLIC_API(2,0) PKCS11_X509_Certificate final : public Object, public X509_Certificate + { + public: + static const ObjectClass Class = ObjectClass::Certificate; + + /** + * Create a PKCS11_X509_Certificate object from an existing PKCS#11 X509 cert + * @param session the session to use + * @param handle the handle of the X.509 certificate + */ + PKCS11_X509_Certificate(Session& session, ObjectHandle handle); + + /** + * Imports a X.509 certificate + * @param session the session to use + * @param props the attributes of the X.509 certificate + */ + PKCS11_X509_Certificate(Session& session, const X509_CertificateProperties& props); + }; + +} +} + +#endif + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/package.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/package.h new file mode 100644 index 00000000..38e04e47 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/package.h @@ -0,0 +1,49 @@ +/* +* Rivest's Package Tranform +* (C) 2009 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_AONT_PACKAGE_TRANSFORM_H_ +#define BOTAN_AONT_PACKAGE_TRANSFORM_H_ + +#include + +namespace Botan { + +class RandomNumberGenerator; + +/** +* Rivest's Package Tranform +* @param rng the random number generator to use +* @param cipher the block cipher to use (aont_package takes ownership) +* @param input the input data buffer +* @param input_len the length of the input data in bytes +* @param output the output data buffer (must be at least +* input_len + cipher->BLOCK_SIZE bytes long) +*/ +BOTAN_DEPRECATED("Possibly broken, avoid") +void BOTAN_PUBLIC_API(2,0) +aont_package(RandomNumberGenerator& rng, + BlockCipher* cipher, + const uint8_t input[], size_t input_len, + uint8_t output[]); + +/** +* Rivest's Package Tranform (Inversion) +* @param cipher the block cipher to use (aont_package takes ownership) +* @param input the input data buffer +* @param input_len the length of the input data in bytes +* @param output the output data buffer (must be at least +* input_len - cipher->BLOCK_SIZE bytes long) +*/ +BOTAN_DEPRECATED("Possibly broken, avoid") +void BOTAN_PUBLIC_API(2,0) +aont_unpackage(BlockCipher* cipher, + const uint8_t input[], size_t input_len, + uint8_t output[]); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/par_hash.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/par_hash.h new file mode 100644 index 00000000..8942cfe4 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/par_hash.h @@ -0,0 +1,50 @@ +/* +* Parallel Hash +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PARALLEL_HASH_H_ +#define BOTAN_PARALLEL_HASH_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(par_hash.h) + +namespace Botan { + +/** +* Parallel Hashes +*/ +class BOTAN_PUBLIC_API(2,0) Parallel final : public HashFunction + { + public: + void clear() override; + std::string name() const override; + HashFunction* clone() const override; + std::unique_ptr copy_state() const override; + + size_t output_length() const override; + + /** + * @param hashes a set of hashes to compute in parallel + * Takes ownership of all pointers + */ + explicit Parallel(std::vector>& hashes); + + Parallel(const Parallel&) = delete; + Parallel& operator=(const Parallel&) = delete; + private: + Parallel() = delete; + + void add_data(const uint8_t[], size_t) override; + void final_result(uint8_t[]) override; + + std::vector> m_hashes; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/parsing.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/parsing.h new file mode 100644 index 00000000..d2c0b5f8 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/parsing.h @@ -0,0 +1,181 @@ +/* +* Various string utils and parsing functions +* (C) 1999-2007,2013 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PARSING_UTILS_H_ +#define BOTAN_PARSING_UTILS_H_ + +#include +#include +#include +#include + +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(parsing.h) + +namespace Botan { + +/** +* Parse a SCAN-style algorithm name +* @param scan_name the name +* @return the name components +*/ +BOTAN_PUBLIC_API(2,0) std::vector +parse_algorithm_name(const std::string& scan_name); + +/** +* Split a string +* @param str the input string +* @param delim the delimitor +* @return string split by delim +*/ +BOTAN_PUBLIC_API(2,0) std::vector split_on( + const std::string& str, char delim); + +/** +* Split a string on a character predicate +* @param str the input string +* @param pred the predicate +* +* This function will likely be removed in a future release +*/ +BOTAN_PUBLIC_API(2,0) std::vector +split_on_pred(const std::string& str, + std::function pred); + +/** +* Erase characters from a string +*/ +BOTAN_PUBLIC_API(2,0) +BOTAN_DEPRECATED("Unused") +std::string erase_chars(const std::string& str, const std::set& chars); + +/** +* Replace a character in a string +* @param str the input string +* @param from_char the character to replace +* @param to_char the character to replace it with +* @return str with all instances of from_char replaced by to_char +*/ +BOTAN_PUBLIC_API(2,0) +BOTAN_DEPRECATED("Unused") +std::string replace_char(const std::string& str, + char from_char, + char to_char); + +/** +* Replace a character in a string +* @param str the input string +* @param from_chars the characters to replace +* @param to_char the character to replace it with +* @return str with all instances of from_chars replaced by to_char +*/ +BOTAN_PUBLIC_API(2,0) +BOTAN_DEPRECATED("Unused") +std::string replace_chars(const std::string& str, + const std::set& from_chars, + char to_char); + +/** +* Join a string +* @param strs strings to join +* @param delim the delimitor +* @return string joined by delim +*/ +BOTAN_PUBLIC_API(2,0) +std::string string_join(const std::vector& strs, + char delim); + +/** +* Parse an ASN.1 OID +* @param oid the OID in string form +* @return OID components +*/ +BOTAN_PUBLIC_API(2,0) std::vector +BOTAN_DEPRECATED("Use OID::from_string(oid).get_components()") parse_asn1_oid(const std::string& oid); + +/** +* Compare two names using the X.509 comparison algorithm +* @param name1 the first name +* @param name2 the second name +* @return true if name1 is the same as name2 by the X.509 comparison rules +*/ +BOTAN_PUBLIC_API(2,0) +bool x500_name_cmp(const std::string& name1, + const std::string& name2); + +/** +* Convert a string to a number +* @param str the string to convert +* @return number value of the string +*/ +BOTAN_PUBLIC_API(2,0) uint32_t to_u32bit(const std::string& str); + +/** +* Convert a string to a number +* @param str the string to convert +* @return number value of the string +*/ +BOTAN_PUBLIC_API(2,3) uint16_t to_uint16(const std::string& str); + +/** +* Convert a time specification to a number +* @param timespec the time specification +* @return number of seconds represented by timespec +*/ +BOTAN_PUBLIC_API(2,0) uint32_t BOTAN_DEPRECATED("Not used anymore") +timespec_to_u32bit(const std::string& timespec); + +/** +* Convert a string representation of an IPv4 address to a number +* @param ip_str the string representation +* @return integer IPv4 address +*/ +BOTAN_PUBLIC_API(2,0) uint32_t string_to_ipv4(const std::string& ip_str); + +/** +* Convert an IPv4 address to a string +* @param ip_addr the IPv4 address to convert +* @return string representation of the IPv4 address +*/ +BOTAN_PUBLIC_API(2,0) std::string ipv4_to_string(uint32_t ip_addr); + +std::map BOTAN_PUBLIC_API(2,0) read_cfg(std::istream& is); + +/** +* Accepts key value pairs deliminated by commas: +* +* "" (returns empty map) +* "K=V" (returns map {'K': 'V'}) +* "K1=V1,K2=V2" +* "K1=V1,K2=V2,K3=V3" +* "K1=V1,K2=V2,K3=a_value\,with\,commas_and_\=equals" +* +* Values may be empty, keys must be non-empty and unique. Duplicate +* keys cause an exception. +* +* Within both key and value, comma and equals can be escaped with +* backslash. Backslash can also be escaped. +*/ +std::map BOTAN_PUBLIC_API(2,8) read_kv(const std::string& kv); + +std::string BOTAN_PUBLIC_API(2,0) clean_ws(const std::string& s); + +std::string tolower_string(const std::string& s); + +/** +* Check if the given hostname is a match for the specified wildcard +*/ +bool BOTAN_PUBLIC_API(2,0) host_wildcard_match(const std::string& wildcard, + const std::string& host); + + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/passhash9.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/passhash9.h new file mode 100644 index 00000000..b312cb1b --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/passhash9.h @@ -0,0 +1,52 @@ +/* +* Passhash9 Password Hashing +* (C) 2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PASSHASH9_H_ +#define BOTAN_PASSHASH9_H_ + +#include +#include + +namespace Botan { + +class RandomNumberGenerator; + +/** +* Create a password hash using PBKDF2 +* @param password the password +* @param rng a random number generator +* @param work_factor how much work to do to slow down guessing attacks +* @param alg_id specifies which PRF to use with PBKDF2 +* 0 is HMAC(SHA-1) +* 1 is HMAC(SHA-256) +* 2 is CMAC(Blowfish) +* 3 is HMAC(SHA-384) +* 4 is HMAC(SHA-512) +* all other values are currently undefined +*/ +std::string BOTAN_PUBLIC_API(2,0) generate_passhash9(const std::string& password, + RandomNumberGenerator& rng, + uint16_t work_factor = 15, + uint8_t alg_id = 4); + +/** +* Check a previously created password hash +* @param password the password to check against +* @param hash the stored hash to check against +*/ +bool BOTAN_PUBLIC_API(2,0) check_passhash9(const std::string& password, + const std::string& hash); + +/** +* Check if the PRF used with PBKDF2 is supported +* @param alg_id alg_id used in generate_passhash9() +*/ +bool BOTAN_PUBLIC_API(2,3) is_passhash9_alg_supported(uint8_t alg_id); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pbes2.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pbes2.h new file mode 100644 index 00000000..a5051a8f --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pbes2.h @@ -0,0 +1,87 @@ +/* +* PKCS #5 v2.0 PBE +* (C) 1999-2007,2014 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PBE_PKCS_v20_H_ +#define BOTAN_PBE_PKCS_v20_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(pbes2.h) + +namespace Botan { + +class RandomNumberGenerator; + +/** +* Encrypt with PBES2 from PKCS #5 v2.0 +* @param key_bits the input +* @param passphrase the passphrase to use for encryption +* @param msec how many milliseconds to run PBKDF2 +* @param cipher specifies the block cipher to use to encrypt +* @param digest specifies the PRF to use with PBKDF2 (eg "HMAC(SHA-1)") +* @param rng a random number generator +*/ +std::pair> +BOTAN_PUBLIC_API(2,0) pbes2_encrypt(const secure_vector& key_bits, + const std::string& passphrase, + std::chrono::milliseconds msec, + const std::string& cipher, + const std::string& digest, + RandomNumberGenerator& rng); + +/** +* Encrypt with PBES2 from PKCS #5 v2.0 +* @param key_bits the input +* @param passphrase the passphrase to use for encryption +* @param msec how many milliseconds to run PBKDF2 +* @param out_iterations_if_nonnull if not null, set to the number +* of PBKDF iterations used +* @param cipher specifies the block cipher to use to encrypt +* @param digest specifies the PRF to use with PBKDF2 (eg "HMAC(SHA-1)") +* @param rng a random number generator +*/ +std::pair> +BOTAN_PUBLIC_API(2,1) pbes2_encrypt_msec(const secure_vector& key_bits, + const std::string& passphrase, + std::chrono::milliseconds msec, + size_t* out_iterations_if_nonnull, + const std::string& cipher, + const std::string& digest, + RandomNumberGenerator& rng); + +/** +* Encrypt with PBES2 from PKCS #5 v2.0 +* @param key_bits the input +* @param passphrase the passphrase to use for encryption +* @param iterations how many iterations to run PBKDF2 +* @param cipher specifies the block cipher to use to encrypt +* @param digest specifies the PRF to use with PBKDF2 (eg "HMAC(SHA-1)") +* @param rng a random number generator +*/ +std::pair> +BOTAN_PUBLIC_API(2,1) pbes2_encrypt_iter(const secure_vector& key_bits, + const std::string& passphrase, + size_t iterations, + const std::string& cipher, + const std::string& digest, + RandomNumberGenerator& rng); + +/** +* Decrypt a PKCS #5 v2.0 encrypted stream +* @param key_bits the input +* @param passphrase the passphrase to use for decryption +* @param params the PBES2 parameters +*/ +secure_vector +BOTAN_PUBLIC_API(2,0) pbes2_decrypt(const secure_vector& key_bits, + const std::string& passphrase, + const std::vector& params); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pbkdf.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pbkdf.h new file mode 100644 index 00000000..e7f0a84e --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pbkdf.h @@ -0,0 +1,246 @@ +/* +* PBKDF +* (C) 1999-2007,2012,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PBKDF_H_ +#define BOTAN_PBKDF_H_ + +#include +#include + +namespace Botan { + +/** +* Base class for PBKDF (password based key derivation function) +* implementations. Converts a password into a key using a salt +* and iterated hashing to make brute force attacks harder. +* +* Starting in 2.8 this functionality is also offered by PasswordHash. +* The PBKDF interface may be removed in a future release. +*/ +class BOTAN_PUBLIC_API(2,0) PBKDF + { + public: + /** + * Create an instance based on a name + * If provider is empty then best available is chosen. + * @param algo_spec algorithm name + * @param provider provider implementation to choose + * @return a null pointer if the algo/provider combination cannot be found + */ + static std::unique_ptr create(const std::string& algo_spec, + const std::string& provider = ""); + + /** + * Create an instance based on a name, or throw if the + * algo/provider combination cannot be found. If provider is + * empty then best available is chosen. + */ + static std::unique_ptr + create_or_throw(const std::string& algo_spec, + const std::string& provider = ""); + + /** + * @return list of available providers for this algorithm, empty if not available + */ + static std::vector providers(const std::string& algo_spec); + + /** + * @return new instance of this same algorithm + */ + virtual PBKDF* clone() const = 0; + + /** + * @return name of this PBKDF + */ + virtual std::string name() const = 0; + + virtual ~PBKDF() = default; + + /** + * Derive a key from a passphrase for a number of iterations + * specified by either iterations or if iterations == 0 then + * running until msec time has elapsed. + * + * @param out buffer to store the derived key, must be of out_len bytes + * @param out_len the desired length of the key to produce + * @param passphrase the password to derive the key from + * @param salt a randomly chosen salt + * @param salt_len length of salt in bytes + * @param iterations the number of iterations to use (use 10K or more) + * @param msec if iterations is zero, then instead the PBKDF is + * run until msec milliseconds has passed. + * @return the number of iterations performed + */ + virtual size_t pbkdf(uint8_t out[], size_t out_len, + const std::string& passphrase, + const uint8_t salt[], size_t salt_len, + size_t iterations, + std::chrono::milliseconds msec) const = 0; + + /** + * Derive a key from a passphrase for a number of iterations. + * + * @param out buffer to store the derived key, must be of out_len bytes + * @param out_len the desired length of the key to produce + * @param passphrase the password to derive the key from + * @param salt a randomly chosen salt + * @param salt_len length of salt in bytes + * @param iterations the number of iterations to use (use 10K or more) + */ + void pbkdf_iterations(uint8_t out[], size_t out_len, + const std::string& passphrase, + const uint8_t salt[], size_t salt_len, + size_t iterations) const; + + /** + * Derive a key from a passphrase, running until msec time has elapsed. + * + * @param out buffer to store the derived key, must be of out_len bytes + * @param out_len the desired length of the key to produce + * @param passphrase the password to derive the key from + * @param salt a randomly chosen salt + * @param salt_len length of salt in bytes + * @param msec if iterations is zero, then instead the PBKDF is + * run until msec milliseconds has passed. + * @param iterations set to the number iterations executed + */ + void pbkdf_timed(uint8_t out[], size_t out_len, + const std::string& passphrase, + const uint8_t salt[], size_t salt_len, + std::chrono::milliseconds msec, + size_t& iterations) const; + + /** + * Derive a key from a passphrase for a number of iterations. + * + * @param out_len the desired length of the key to produce + * @param passphrase the password to derive the key from + * @param salt a randomly chosen salt + * @param salt_len length of salt in bytes + * @param iterations the number of iterations to use (use 10K or more) + * @return the derived key + */ + secure_vector pbkdf_iterations(size_t out_len, + const std::string& passphrase, + const uint8_t salt[], size_t salt_len, + size_t iterations) const; + + /** + * Derive a key from a passphrase, running until msec time has elapsed. + * + * @param out_len the desired length of the key to produce + * @param passphrase the password to derive the key from + * @param salt a randomly chosen salt + * @param salt_len length of salt in bytes + * @param msec if iterations is zero, then instead the PBKDF is + * run until msec milliseconds has passed. + * @param iterations set to the number iterations executed + * @return the derived key + */ + secure_vector pbkdf_timed(size_t out_len, + const std::string& passphrase, + const uint8_t salt[], size_t salt_len, + std::chrono::milliseconds msec, + size_t& iterations) const; + + // Following kept for compat with 1.10: + + /** + * Derive a key from a passphrase + * @param out_len the desired length of the key to produce + * @param passphrase the password to derive the key from + * @param salt a randomly chosen salt + * @param salt_len length of salt in bytes + * @param iterations the number of iterations to use (use 10K or more) + */ + OctetString derive_key(size_t out_len, + const std::string& passphrase, + const uint8_t salt[], size_t salt_len, + size_t iterations) const + { + return pbkdf_iterations(out_len, passphrase, salt, salt_len, iterations); + } + + /** + * Derive a key from a passphrase + * @param out_len the desired length of the key to produce + * @param passphrase the password to derive the key from + * @param salt a randomly chosen salt + * @param iterations the number of iterations to use (use 10K or more) + */ + template + OctetString derive_key(size_t out_len, + const std::string& passphrase, + const std::vector& salt, + size_t iterations) const + { + return pbkdf_iterations(out_len, passphrase, salt.data(), salt.size(), iterations); + } + + /** + * Derive a key from a passphrase + * @param out_len the desired length of the key to produce + * @param passphrase the password to derive the key from + * @param salt a randomly chosen salt + * @param salt_len length of salt in bytes + * @param msec is how long to run the PBKDF + * @param iterations is set to the number of iterations used + */ + OctetString derive_key(size_t out_len, + const std::string& passphrase, + const uint8_t salt[], size_t salt_len, + std::chrono::milliseconds msec, + size_t& iterations) const + { + return pbkdf_timed(out_len, passphrase, salt, salt_len, msec, iterations); + } + + /** + * Derive a key from a passphrase using a certain amount of time + * @param out_len the desired length of the key to produce + * @param passphrase the password to derive the key from + * @param salt a randomly chosen salt + * @param msec is how long to run the PBKDF + * @param iterations is set to the number of iterations used + */ + template + OctetString derive_key(size_t out_len, + const std::string& passphrase, + const std::vector& salt, + std::chrono::milliseconds msec, + size_t& iterations) const + { + return pbkdf_timed(out_len, passphrase, salt.data(), salt.size(), msec, iterations); + } + }; + +/* +* Compatibility typedef +*/ +typedef PBKDF S2K; + +/** +* Password based key derivation function factory method +* @param algo_spec the name of the desired PBKDF algorithm +* @param provider the provider to use +* @return pointer to newly allocated object of that type +*/ +inline PBKDF* get_pbkdf(const std::string& algo_spec, + const std::string& provider = "") + { + return PBKDF::create_or_throw(algo_spec, provider).release(); + } + +inline PBKDF* get_s2k(const std::string& algo_spec) + { + return get_pbkdf(algo_spec); + } + + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pbkdf1.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pbkdf1.h new file mode 100644 index 00000000..f5e95b83 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pbkdf1.h @@ -0,0 +1,53 @@ +/* +* PBKDF1 +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PBKDF1_H_ +#define BOTAN_PBKDF1_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(pbkdf1.h) + +namespace Botan { + +/** +* PKCS #5 v1 PBKDF, aka PBKDF1 +* Can only generate a key up to the size of the hash output. +* Unless needed for backwards compatibility, use PKCS5_PBKDF2 +*/ +class BOTAN_PUBLIC_API(2,0) PKCS5_PBKDF1 final : public PBKDF + { + public: + /** + * Create a PKCS #5 instance using the specified hash function. + * @param hash pointer to a hash function object to use + */ + explicit PKCS5_PBKDF1(HashFunction* hash) : m_hash(hash) {} + + std::string name() const override + { + return "PBKDF1(" + m_hash->name() + ")"; + } + + PBKDF* clone() const override + { + return new PKCS5_PBKDF1(m_hash->clone()); + } + + size_t pbkdf(uint8_t output_buf[], size_t output_len, + const std::string& passphrase, + const uint8_t salt[], size_t salt_len, + size_t iterations, + std::chrono::milliseconds msec) const override; + private: + std::unique_ptr m_hash; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pbkdf2.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pbkdf2.h new file mode 100644 index 00000000..9f90799c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pbkdf2.h @@ -0,0 +1,117 @@ +/* +* PBKDF2 +* (C) 1999-2007,2012 Jack Lloyd +* (C) 2018 Ribose Inc +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PBKDF2_H_ +#define BOTAN_PBKDF2_H_ + +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(pbkdf2.h) + +namespace Botan { + +BOTAN_PUBLIC_API(2,0) size_t pbkdf2(MessageAuthenticationCode& prf, + uint8_t out[], + size_t out_len, + const std::string& passphrase, + const uint8_t salt[], size_t salt_len, + size_t iterations, + std::chrono::milliseconds msec); + +/** +* Perform PBKDF2. The prf is assumed to be keyed already. +*/ +BOTAN_PUBLIC_API(2,8) void pbkdf2(MessageAuthenticationCode& prf, + uint8_t out[], size_t out_len, + const uint8_t salt[], size_t salt_len, + size_t iterations); + +/** +* PBKDF2 +*/ +class BOTAN_PUBLIC_API(2,8) PBKDF2 final : public PasswordHash + { + public: + PBKDF2(const MessageAuthenticationCode& prf, size_t iter) : + m_prf(prf.clone()), + m_iterations(iter) + {} + + PBKDF2(const MessageAuthenticationCode& prf, size_t olen, std::chrono::milliseconds msec); + + size_t iterations() const override { return m_iterations; } + + std::string to_string() const override; + + void derive_key(uint8_t out[], size_t out_len, + const char* password, size_t password_len, + const uint8_t salt[], size_t salt_len) const override; + private: + std::unique_ptr m_prf; + size_t m_iterations; + }; + +/** +* Family of PKCS #5 PBKDF2 operations +*/ +class BOTAN_PUBLIC_API(2,8) PBKDF2_Family final : public PasswordHashFamily + { + public: + PBKDF2_Family(MessageAuthenticationCode* prf) : m_prf(prf) {} + + std::string name() const override; + + std::unique_ptr tune(size_t output_len, + std::chrono::milliseconds msec, + size_t max_memory) const override; + + /** + * Return some default parameter set for this PBKDF that should be good + * enough for most users. The value returned may change over time as + * processing power and attacks improve. + */ + std::unique_ptr default_params() const override; + + std::unique_ptr from_iterations(size_t iter) const override; + + std::unique_ptr from_params( + size_t iter, size_t, size_t) const override; + private: + std::unique_ptr m_prf; + }; + +/** +* PKCS #5 PBKDF2 (old interface) +*/ +class BOTAN_PUBLIC_API(2,0) PKCS5_PBKDF2 final : public PBKDF + { + public: + std::string name() const override; + + PBKDF* clone() const override; + + size_t pbkdf(uint8_t output_buf[], size_t output_len, + const std::string& passphrase, + const uint8_t salt[], size_t salt_len, + size_t iterations, + std::chrono::milliseconds msec) const override; + + /** + * Create a PKCS #5 instance using the specified message auth code + * @param mac_fn the MAC object to use as PRF + */ + explicit PKCS5_PBKDF2(MessageAuthenticationCode* mac_fn) : m_mac(mac_fn) {} + private: + std::unique_ptr m_mac; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pem.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pem.h new file mode 100644 index 00000000..c02294dc --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pem.h @@ -0,0 +1,91 @@ +/* +* PEM Encoding/Decoding +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PEM_H_ +#define BOTAN_PEM_H_ + +#include +#include + +namespace Botan { + +class DataSource; + +namespace PEM_Code { + +/** +* Encode some binary data in PEM format +* @param data binary data to encode +* @param data_len length of binary data in bytes +* @param label PEM label put after BEGIN and END +* @param line_width after this many characters, a new line is inserted +*/ +BOTAN_PUBLIC_API(2,0) std::string encode(const uint8_t data[], + size_t data_len, + const std::string& label, + size_t line_width = 64); + +/** +* Encode some binary data in PEM format +* @param data binary data to encode +* @param label PEM label +* @param line_width after this many characters, a new line is inserted +*/ +template +std::string encode(const std::vector& data, + const std::string& label, + size_t line_width = 64) + { + return encode(data.data(), data.size(), label, line_width); + } + +/** +* Decode PEM data +* @param pem a datasource containing PEM encoded data +* @param label is set to the PEM label found for later inspection +*/ +BOTAN_PUBLIC_API(2,0) secure_vector decode(DataSource& pem, + std::string& label); + +/** +* Decode PEM data +* @param pem a string containing PEM encoded data +* @param label is set to the PEM label found for later inspection +*/ +BOTAN_PUBLIC_API(2,0) secure_vector decode(const std::string& pem, + std::string& label); + +/** +* Decode PEM data +* @param pem a datasource containing PEM encoded data +* @param label is what we expect the label to be +*/ +BOTAN_PUBLIC_API(2,0) +secure_vector decode_check_label(DataSource& pem, + const std::string& label); + +/** +* Decode PEM data +* @param pem a string containing PEM encoded data +* @param label is what we expect the label to be +*/ +BOTAN_PUBLIC_API(2,0) +secure_vector decode_check_label(const std::string& pem, + const std::string& label); + +/** +* Heuristic test for PEM data. +*/ +BOTAN_PUBLIC_API(2,0) bool matches(DataSource& source, + const std::string& extra = "", + size_t search_range = 4096); + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pgp_s2k.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pgp_s2k.h new file mode 100644 index 00000000..7fda724c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pgp_s2k.h @@ -0,0 +1,164 @@ +/* +* OpenPGP PBKDF +* (C) 1999-2007,2017 Jack Lloyd +* (C) 2018 Ribose Inc +* +* Distributed under the terms of the Botan license +*/ + +#ifndef BOTAN_OPENPGP_S2K_H_ +#define BOTAN_OPENPGP_S2K_H_ + +#include +#include +#include + +/* +This header will not be fully internal - the RFC4880 count +encoding functions will remain here. But the definition of +OpenPGP_S2K will be made internal +*/ + +//BOTAN_FUTURE_INTERNAL_HEADER(pgp_s2k.h) + +namespace Botan { + +/** +* RFC 4880 encodes the iteration count to a single-byte value +*/ +uint8_t BOTAN_PUBLIC_API(2,8) RFC4880_encode_count(size_t iterations); + +/** +* Decode the iteration count from RFC 4880 encoding +*/ +size_t BOTAN_PUBLIC_API(2,8) RFC4880_decode_count(uint8_t encoded_iter); + +/** +* Round an arbitrary iteration count to next largest iteration count +* supported by RFC4880 encoding. +*/ +inline size_t RFC4880_round_iterations(size_t iterations) + { + return RFC4880_decode_count(RFC4880_encode_count(iterations)); + } + +/** +* OpenPGP's S2K +* +* See RFC 4880 sections 3.7.1.1, 3.7.1.2, and 3.7.1.3 +* If the salt is empty and iterations == 1, "simple" S2K is used +* If the salt is non-empty and iterations == 1, "salted" S2K is used +* If the salt is non-empty and iterations > 1, "iterated" S2K is used +* +* Due to complexities of the PGP S2K algorithm, time-based derivation +* is not supported. So if iterations == 0 and msec.count() > 0, an +* exception is thrown. In the future this may be supported, in which +* case "iterated" S2K will be used and the number of iterations +* performed is returned. +* +* Note that unlike PBKDF2, OpenPGP S2K's "iterations" are defined as +* the number of bytes hashed. +*/ +class BOTAN_PUBLIC_API(2,2) OpenPGP_S2K final : public PBKDF + { + public: + /** + * @param hash the hash function to use + */ + explicit OpenPGP_S2K(HashFunction* hash) : m_hash(hash) {} + + std::string name() const override + { + return "OpenPGP-S2K(" + m_hash->name() + ")"; + } + + PBKDF* clone() const override + { + return new OpenPGP_S2K(m_hash->clone()); + } + + size_t pbkdf(uint8_t output_buf[], size_t output_len, + const std::string& passphrase, + const uint8_t salt[], size_t salt_len, + size_t iterations, + std::chrono::milliseconds msec) const override; + + /** + * RFC 4880 encodes the iteration count to a single-byte value + */ + static uint8_t encode_count(size_t iterations) + { + return RFC4880_encode_count(iterations); + } + + static size_t decode_count(uint8_t encoded_iter) + { + return RFC4880_decode_count(encoded_iter); + } + + private: + std::unique_ptr m_hash; + }; + +/** +* OpenPGP's S2K +* +* See RFC 4880 sections 3.7.1.1, 3.7.1.2, and 3.7.1.3 +* If the salt is empty and iterations == 1, "simple" S2K is used +* If the salt is non-empty and iterations == 1, "salted" S2K is used +* If the salt is non-empty and iterations > 1, "iterated" S2K is used +* +* Note that unlike PBKDF2, OpenPGP S2K's "iterations" are defined as +* the number of bytes hashed. +*/ +class BOTAN_PUBLIC_API(2,8) RFC4880_S2K final : public PasswordHash + { + public: + /** + * @param hash the hash function to use + * @param iterations is rounded due to PGP formatting + */ + RFC4880_S2K(HashFunction* hash, size_t iterations); + + std::string to_string() const override; + + size_t iterations() const override { return m_iterations; } + + void derive_key(uint8_t out[], size_t out_len, + const char* password, size_t password_len, + const uint8_t salt[], size_t salt_len) const override; + + private: + std::unique_ptr m_hash; + size_t m_iterations; + }; + +class BOTAN_PUBLIC_API(2,8) RFC4880_S2K_Family final : public PasswordHashFamily + { + public: + RFC4880_S2K_Family(HashFunction* hash) : m_hash(hash) {} + + std::string name() const override; + + std::unique_ptr tune(size_t output_len, + std::chrono::milliseconds msec, + size_t max_mem) const override; + + /** + * Return some default parameter set for this PBKDF that should be good + * enough for most users. The value returned may change over time as + * processing power and attacks improve. + */ + std::unique_ptr default_params() const override; + + std::unique_ptr from_iterations(size_t iter) const override; + + std::unique_ptr from_params( + size_t iter, size_t, size_t) const override; + private: + std::unique_ptr m_hash; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pipe.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pipe.h new file mode 100644 index 00000000..03b51608 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pipe.h @@ -0,0 +1,379 @@ +/* +* Pipe +* (C) 1999-2007 Jack Lloyd +* 2012 Markus Wanner +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PIPE_H_ +#define BOTAN_PIPE_H_ + +#include +#include +#include +#include + +namespace Botan { + +class Filter; +class Output_Buffers; + +/** +* This class represents pipe objects. +* A set of filters can be placed into a pipe, and information flows +* through the pipe until it reaches the end, where the output is +* collected for retrieval. If you're familiar with the Unix shell +* environment, this design will sound quite familiar. +*/ +class BOTAN_PUBLIC_API(2,0) Pipe final : public DataSource + { + public: + /** + * An opaque type that identifies a message in this Pipe + */ + typedef size_t message_id; + + /** + * Exception if you use an invalid message as an argument to + * read, remaining, etc + */ + class BOTAN_PUBLIC_API(2,0) Invalid_Message_Number final : public Invalid_Argument + { + public: + /** + * @param where the error occurred + * @param msg the invalid message id that was used + */ + Invalid_Message_Number(const std::string& where, message_id msg) : + Invalid_Argument("Pipe::" + where + ": Invalid message number " + + std::to_string(msg)) + {} + }; + + /** + * A meta-id for whatever the last message is + */ + static const message_id LAST_MESSAGE; + + /** + * A meta-id for the default message (set with set_default_msg) + */ + static const message_id DEFAULT_MESSAGE; + + /** + * Write input to the pipe, i.e. to its first filter. + * @param in the byte array to write + * @param length the length of the byte array in + */ + void write(const uint8_t in[], size_t length); + + /** + * Write input to the pipe, i.e. to its first filter. + * @param in the secure_vector containing the data to write + */ + void write(const secure_vector& in) + { write(in.data(), in.size()); } + + /** + * Write input to the pipe, i.e. to its first filter. + * @param in the std::vector containing the data to write + */ + void write(const std::vector& in) + { write(in.data(), in.size()); } + + /** + * Write input to the pipe, i.e. to its first filter. + * @param in the string containing the data to write + */ + void write(const std::string& in); + + /** + * Write input to the pipe, i.e. to its first filter. + * @param in the DataSource to read the data from + */ + void write(DataSource& in); + + /** + * Write input to the pipe, i.e. to its first filter. + * @param in a single byte to be written + */ + void write(uint8_t in); + + /** + * Perform start_msg(), write() and end_msg() sequentially. + * @param in the byte array containing the data to write + * @param length the length of the byte array to write + */ + void process_msg(const uint8_t in[], size_t length); + + /** + * Perform start_msg(), write() and end_msg() sequentially. + * @param in the secure_vector containing the data to write + */ + void process_msg(const secure_vector& in); + + /** + * Perform start_msg(), write() and end_msg() sequentially. + * @param in the secure_vector containing the data to write + */ + void process_msg(const std::vector& in); + + /** + * Perform start_msg(), write() and end_msg() sequentially. + * @param in the string containing the data to write + */ + void process_msg(const std::string& in); + + /** + * Perform start_msg(), write() and end_msg() sequentially. + * @param in the DataSource providing the data to write + */ + void process_msg(DataSource& in); + + /** + * Find out how many bytes are ready to read. + * @param msg the number identifying the message + * for which the information is desired + * @return number of bytes that can still be read + */ + size_t remaining(message_id msg = DEFAULT_MESSAGE) const BOTAN_WARN_UNUSED_RESULT; + + /** + * Read the default message from the pipe. Moves the internal + * offset so that every call to read will return a new portion of + * the message. + * + * @param output the byte array to write the read bytes to + * @param length the length of the byte array output + * @return number of bytes actually read into output + */ + size_t read(uint8_t output[], size_t length) override BOTAN_WARN_UNUSED_RESULT; + + /** + * Read a specified message from the pipe. Moves the internal + * offset so that every call to read will return a new portion of + * the message. + * @param output the byte array to write the read bytes to + * @param length the length of the byte array output + * @param msg the number identifying the message to read from + * @return number of bytes actually read into output + */ + size_t read(uint8_t output[], size_t length, message_id msg) BOTAN_WARN_UNUSED_RESULT; + + /** + * Read a single byte from the pipe. Moves the internal offset so + * that every call to read will return a new portion of the + * message. + * + * @param output the byte to write the result to + * @param msg the message to read from + * @return number of bytes actually read into output + */ + size_t read(uint8_t& output, message_id msg = DEFAULT_MESSAGE) BOTAN_WARN_UNUSED_RESULT; + + /** + * Read the full contents of the pipe. + * @param msg the number identifying the message to read from + * @return secure_vector holding the contents of the pipe + */ + secure_vector read_all(message_id msg = DEFAULT_MESSAGE) BOTAN_WARN_UNUSED_RESULT; + + /** + * Read the full contents of the pipe. + * @param msg the number identifying the message to read from + * @return string holding the contents of the pipe + */ + std::string read_all_as_string(message_id msg = DEFAULT_MESSAGE) BOTAN_WARN_UNUSED_RESULT; + + /** + * Read from the default message but do not modify the internal + * offset. Consecutive calls to peek() will return portions of + * the message starting at the same position. + * @param output the byte array to write the peeked message part to + * @param length the length of the byte array output + * @param offset the offset from the current position in message + * @return number of bytes actually peeked and written into output + */ + size_t peek(uint8_t output[], size_t length, size_t offset) const override BOTAN_WARN_UNUSED_RESULT; + + /** Read from the specified message but do not modify the + * internal offset. Consecutive calls to peek() will return + * portions of the message starting at the same position. + * @param output the byte array to write the peeked message part to + * @param length the length of the byte array output + * @param offset the offset from the current position in message + * @param msg the number identifying the message to peek from + * @return number of bytes actually peeked and written into output + */ + size_t peek(uint8_t output[], size_t length, + size_t offset, message_id msg) const BOTAN_WARN_UNUSED_RESULT; + + /** Read a single byte from the specified message but do not + * modify the internal offset. Consecutive calls to peek() will + * return portions of the message starting at the same position. + * @param output the byte to write the peeked message byte to + * @param offset the offset from the current position in message + * @param msg the number identifying the message to peek from + * @return number of bytes actually peeked and written into output + */ + size_t peek(uint8_t& output, size_t offset, + message_id msg = DEFAULT_MESSAGE) const BOTAN_WARN_UNUSED_RESULT; + + /** + * @return the number of bytes read from the default message. + */ + size_t get_bytes_read() const override; + + /** + * @return the number of bytes read from the specified message. + */ + size_t get_bytes_read(message_id msg) const; + + bool check_available(size_t n) override; + bool check_available_msg(size_t n, message_id msg); + + /** + * @return currently set default message + */ + size_t default_msg() const { return m_default_read; } + + /** + * Set the default message + * @param msg the number identifying the message which is going to + * be the new default message + */ + void set_default_msg(message_id msg); + + /** + * Get the number of messages the are in this pipe. + * @return number of messages the are in this pipe + */ + message_id message_count() const; + + /** + * Test whether this pipe has any data that can be read from. + * @return true if there is more data to read, false otherwise + */ + bool end_of_data() const override; + + /** + * Start a new message in the pipe. A potential other message in this pipe + * must be closed with end_msg() before this function may be called. + */ + void start_msg(); + + /** + * End the current message. + */ + void end_msg(); + + /** + * Insert a new filter at the front of the pipe + * Deprecated because runtime modification of Pipes is deprecated. + * You can instead use prepend_filter which only works before the first + * message is processed. + * @param filt the new filter to insert + */ + BOTAN_DEPRECATED("Runtime modification of Pipe deprecated") + void prepend(Filter* filt); + + /** + * Insert a new filter at the back of the pipe + * Deprecated because runtime modification of Pipes is deprecated. + * You can instead use append_filter which only works before the first + * message is processed. + * @param filt the new filter to insert + */ + BOTAN_DEPRECATED("Runtime modification of Pipe deprecated") + void append(Filter* filt); + + /** + * Remove the first filter at the front of the pipe. + */ + BOTAN_DEPRECATED("Runtime modification of Pipe deprecated") + void pop(); + + /** + * Reset this pipe to an empty pipe. + */ + BOTAN_DEPRECATED("Runtime modification of Pipe deprecated") + void reset(); + + /** + * Append a new filter onto the filter sequence. This may only be + * called immediately after initial construction, before _any_ + * calls to start_msg have been made. + * + * This function (unlike append) is not deprecated, as it allows + * only modification of the pipe at initialization (before use) + * rather than after messages have been processed. + */ + void append_filter(Filter* filt); + + /** + * Prepend a new filter onto the filter sequence. This may only be + * called immediately after initial construction, before _any_ + * calls to start_msg have been made. + * + * This function (unlike prepend) is not deprecated, as it allows + * only modification of the pipe at initialization (before use) + * rather than after messages have been processed. + */ + void prepend_filter(Filter* filt); + + /** + * Construct a Pipe of up to four filters. The filters are set up + * in the same order as the arguments. + */ + Pipe(Filter* = nullptr, Filter* = nullptr, + Filter* = nullptr, Filter* = nullptr); + + /** + * Construct a Pipe from a list of filters + * @param filters the set of filters to use + */ + explicit Pipe(std::initializer_list filters); + + Pipe(const Pipe&) = delete; + Pipe& operator=(const Pipe&) = delete; + + ~Pipe(); + private: + void destruct(Filter*); + void do_append(Filter* filt); + void do_prepend(Filter* filt); + void find_endpoints(Filter*); + void clear_endpoints(Filter*); + + message_id get_message_no(const std::string&, message_id) const; + + Filter* m_pipe; + std::unique_ptr m_outputs; + message_id m_default_read; + bool m_inside_msg; + }; + +/** +* Stream output operator; dumps the results from pipe's default +* message to the output stream. +* @param out an output stream +* @param pipe the pipe +*/ +BOTAN_PUBLIC_API(2,0) std::ostream& operator<<(std::ostream& out, Pipe& pipe); + +/** +* Stream input operator; dumps the remaining bytes of input +* to the (assumed open) pipe message. +* @param in the input stream +* @param pipe the pipe +*/ +BOTAN_PUBLIC_API(2,0) std::istream& operator>>(std::istream& in, Pipe& pipe); + +} + +#if defined(BOTAN_HAS_PIPE_UNIXFD_IO) + #include +#endif + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pk_algs.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pk_algs.h new file mode 100644 index 00000000..12514908 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pk_algs.h @@ -0,0 +1,46 @@ +/* +* PK Key Factory +* (C) 1999-2010,2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PK_KEY_FACTORY_H_ +#define BOTAN_PK_KEY_FACTORY_H_ + +#include +#include +#include + +namespace Botan { + +BOTAN_PUBLIC_API(2,0) std::unique_ptr +load_public_key(const AlgorithmIdentifier& alg_id, + const std::vector& key_bits); + +BOTAN_PUBLIC_API(2,0) std::unique_ptr +load_private_key(const AlgorithmIdentifier& alg_id, + const secure_vector& key_bits); + +/** +* Create a new key +* For ECC keys, algo_params specifies EC group (eg, "secp256r1") +* For DH/DSA/ElGamal keys, algo_params is DL group (eg, "modp/ietf/2048") +* For RSA, algo_params is integer keylength +* For McEliece, algo_params is n,t +* If algo_params is left empty, suitable default parameters are chosen. +*/ +BOTAN_PUBLIC_API(2,0) std::unique_ptr +create_private_key(const std::string& algo_name, + RandomNumberGenerator& rng, + const std::string& algo_params = "", + const std::string& provider = ""); + +BOTAN_PUBLIC_API(2,2) +std::vector +probe_provider_private_key(const std::string& algo_name, + const std::vector possible); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pk_keys.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pk_keys.h new file mode 100644 index 00000000..bf2be6bb --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pk_keys.h @@ -0,0 +1,329 @@ +/* +* PK Key Types +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PK_KEYS_H_ +#define BOTAN_PK_KEYS_H_ + +#include +#include +#include +#include + +namespace Botan { + +class RandomNumberGenerator; + +/** +* The two types of signature format supported by Botan. +*/ +enum Signature_Format { IEEE_1363, DER_SEQUENCE }; + +/** +* Public Key Base Class. +*/ +class BOTAN_PUBLIC_API(2,0) Public_Key + { + public: + Public_Key() =default; + Public_Key(const Public_Key& other) = default; + Public_Key& operator=(const Public_Key& other) = default; + virtual ~Public_Key() = default; + + /** + * Get the name of the underlying public key scheme. + * @return name of the public key scheme + */ + virtual std::string algo_name() const = 0; + + /** + * Return the estimated strength of the underlying key against + * the best currently known attack. Note that this ignores anything + * but pure attacks against the key itself and do not take into + * account padding schemes, usage mistakes, etc which might reduce + * the strength. However it does suffice to provide an upper bound. + * + * @return estimated strength in bits + */ + virtual size_t estimated_strength() const = 0; + + /** + * Return an integer value best approximating the length of the + * primary security parameter. For example for RSA this will be + * the size of the modulus, for ECDSA the size of the ECC group, + * and for McEliece the size of the code will be returned. + */ + virtual size_t key_length() const = 0; + + /** + * Get the OID of the underlying public key scheme. + * @return OID of the public key scheme + */ + virtual OID get_oid() const; + + /** + * Test the key values for consistency. + * @param rng rng to use + * @param strong whether to perform strong and lengthy version + * of the test + * @return true if the test is passed + */ + virtual bool check_key(RandomNumberGenerator& rng, + bool strong) const = 0; + + + /** + * @return X.509 AlgorithmIdentifier for this key + */ + virtual AlgorithmIdentifier algorithm_identifier() const = 0; + + /** + * @return BER encoded public key bits + */ + virtual std::vector public_key_bits() const = 0; + + /** + * @return X.509 subject key encoding for this key object + */ + std::vector subject_public_key() const; + + /** + * @return Hash of the subject public key + */ + std::string fingerprint_public(const std::string& alg = "SHA-256") const; + + // Internal or non-public declarations follow + + /** + * Returns more than 1 if the output of this algorithm + * (ciphertext, signature) should be treated as more than one + * value. This is used for algorithms like DSA and ECDSA, where + * the (r,s) output pair can be encoded as either a plain binary + * list or a TLV tagged DER encoding depending on the protocol. + * + * This function is public but applications should have few + * reasons to ever call this. + * + * @return number of message parts + */ + virtual size_t message_parts() const { return 1; } + + /** + * Returns how large each of the message parts refered to + * by message_parts() is + * + * This function is public but applications should have few + * reasons to ever call this. + * + * @return size of the message parts in bits + */ + virtual size_t message_part_size() const { return 0; } + + virtual Signature_Format default_x509_signature_format() const + { + return (this->message_parts() >= 2) ? DER_SEQUENCE : IEEE_1363; + } + + /** + * This is an internal library function exposed on key types. + * In almost all cases applications should use wrappers in pubkey.h + * + * Return an encryption operation for this key/params or throw + * + * @param rng a random number generator. The PK_Op may maintain a + * reference to the RNG and use it many times. The rng must outlive + * any operations which reference it. + * @param params additional parameters + * @param provider the provider to use + */ + virtual std::unique_ptr + create_encryption_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const; + + /** + * This is an internal library function exposed on key types. + * In almost all cases applications should use wrappers in pubkey.h + * + * Return a KEM encryption operation for this key/params or throw + * + * @param rng a random number generator. The PK_Op may maintain a + * reference to the RNG and use it many times. The rng must outlive + * any operations which reference it. + * @param params additional parameters + * @param provider the provider to use + */ + virtual std::unique_ptr + create_kem_encryption_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const; + + /** + * This is an internal library function exposed on key types. + * In almost all cases applications should use wrappers in pubkey.h + * + * Return a verification operation for this key/params or throw + * @param params additional parameters + * @param provider the provider to use + */ + virtual std::unique_ptr + create_verification_op(const std::string& params, + const std::string& provider) const; + }; + +/** +* Private Key Base Class +*/ +class BOTAN_PUBLIC_API(2,0) Private_Key : public virtual Public_Key + { + public: + Private_Key() = default; + Private_Key(const Private_Key& other) = default; + Private_Key& operator=(const Private_Key& other) = default; + virtual ~Private_Key() = default; + + virtual bool stateful_operation() const { return false; } + + /** + * @return BER encoded private key bits + */ + virtual secure_vector private_key_bits() const = 0; + + /** + * @return PKCS #8 private key encoding for this key object + */ + secure_vector private_key_info() const; + + /** + * @return PKCS #8 AlgorithmIdentifier for this key + * Might be different from the X.509 identifier, but normally is not + */ + virtual AlgorithmIdentifier pkcs8_algorithm_identifier() const + { return algorithm_identifier(); } + + // Internal or non-public declarations follow + + /** + * @return Hash of the PKCS #8 encoding for this key object + */ + std::string fingerprint_private(const std::string& alg) const; + + BOTAN_DEPRECATED("Use fingerprint_private or fingerprint_public") + inline std::string fingerprint(const std::string& alg) const + { + return fingerprint_private(alg); // match behavior in previous versions + } + + /** + * This is an internal library function exposed on key types. + * In almost all cases applications should use wrappers in pubkey.h + * + * Return an decryption operation for this key/params or throw + * + * @param rng a random number generator. The PK_Op may maintain a + * reference to the RNG and use it many times. The rng must outlive + * any operations which reference it. + * @param params additional parameters + * @param provider the provider to use + * + */ + virtual std::unique_ptr + create_decryption_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const; + + /** + * This is an internal library function exposed on key types. + * In almost all cases applications should use wrappers in pubkey.h + * + * Return a KEM decryption operation for this key/params or throw + * + * @param rng a random number generator. The PK_Op may maintain a + * reference to the RNG and use it many times. The rng must outlive + * any operations which reference it. + * @param params additional parameters + * @param provider the provider to use + */ + virtual std::unique_ptr + create_kem_decryption_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const; + + /** + * This is an internal library function exposed on key types. + * In almost all cases applications should use wrappers in pubkey.h + * + * Return a signature operation for this key/params or throw + * + * @param rng a random number generator. The PK_Op may maintain a + * reference to the RNG and use it many times. The rng must outlive + * any operations which reference it. + * @param params additional parameters + * @param provider the provider to use + */ + virtual std::unique_ptr + create_signature_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const; + + /** + * This is an internal library function exposed on key types. + * In almost all cases applications should use wrappers in pubkey.h + * + * Return a key agreement operation for this key/params or throw + * + * @param rng a random number generator. The PK_Op may maintain a + * reference to the RNG and use it many times. The rng must outlive + * any operations which reference it. + * @param params additional parameters + * @param provider the provider to use + */ + virtual std::unique_ptr + create_key_agreement_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const; + }; + +/** +* PK Secret Value Derivation Key +*/ +class BOTAN_PUBLIC_API(2,0) PK_Key_Agreement_Key : public virtual Private_Key + { + public: + /* + * @return public component of this key + */ + virtual std::vector public_value() const = 0; + + PK_Key_Agreement_Key() = default; + PK_Key_Agreement_Key(const PK_Key_Agreement_Key&) = default; + PK_Key_Agreement_Key& operator=(const PK_Key_Agreement_Key&) = default; + virtual ~PK_Key_Agreement_Key() = default; + }; + +/* +* Old compat typedefs +* TODO: remove these? +*/ +typedef PK_Key_Agreement_Key PK_KA_Key; +typedef Public_Key X509_PublicKey; +typedef Private_Key PKCS8_PrivateKey; + +std::string BOTAN_PUBLIC_API(2,4) + create_hex_fingerprint(const uint8_t bits[], size_t len, + const std::string& hash_name); + +template +std::string create_hex_fingerprint(const std::vector& vec, + const std::string& hash_name) + { + return create_hex_fingerprint(vec.data(), vec.size(), hash_name); + } + + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pk_ops.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pk_ops.h new file mode 100644 index 00000000..63ef9fa9 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pk_ops.h @@ -0,0 +1,161 @@ +/* +* (C) 2010,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PK_OPERATIONS_H_ +#define BOTAN_PK_OPERATIONS_H_ + +/** +* Ordinary applications should never need to include or use this +* header. It is exposed only for specialized applications which want +* to implement new versions of public key crypto without merging them +* as changes to the library. One actual example of such usage is an +* application which creates RSA signatures using a custom TPM library. +* Unless you're doing something like that, you don't need anything +* here. Instead use pubkey.h which wraps these types safely and +* provides a stable application-oriented API. +*/ + +#include +#include + +namespace Botan { + +class RandomNumberGenerator; +class EME; +class KDF; +class EMSA; + +namespace PK_Ops { + +/** +* Public key encryption interface +*/ +class BOTAN_PUBLIC_API(2,0) Encryption + { + public: + virtual secure_vector encrypt(const uint8_t msg[], + size_t msg_len, + RandomNumberGenerator& rng) = 0; + + virtual size_t max_input_bits() const = 0; + + virtual size_t ciphertext_length(size_t ptext_len) const = 0; + + virtual ~Encryption() = default; + }; + +/** +* Public key decryption interface +*/ +class BOTAN_PUBLIC_API(2,0) Decryption + { + public: + virtual secure_vector decrypt(uint8_t& valid_mask, + const uint8_t ciphertext[], + size_t ciphertext_len) = 0; + + virtual size_t plaintext_length(size_t ctext_len) const = 0; + + virtual ~Decryption() = default; + }; + +/** +* Public key signature verification interface +*/ +class BOTAN_PUBLIC_API(2,0) Verification + { + public: + /* + * Add more data to the message currently being signed + * @param msg the message + * @param msg_len the length of msg in bytes + */ + virtual void update(const uint8_t msg[], size_t msg_len) = 0; + + /* + * Perform a verification operation + * @param rng a random number generator + */ + virtual bool is_valid_signature(const uint8_t sig[], size_t sig_len) = 0; + + virtual ~Verification() = default; + }; + +/** +* Public key signature creation interface +*/ +class BOTAN_PUBLIC_API(2,0) Signature + { + public: + /* + * Add more data to the message currently being signed + * @param msg the message + * @param msg_len the length of msg in bytes + */ + virtual void update(const uint8_t msg[], size_t msg_len) = 0; + + /* + * Perform a signature operation + * @param rng a random number generator + */ + virtual secure_vector sign(RandomNumberGenerator& rng) = 0; + + /* + * Return an upper bound on the length of the output signature + */ + virtual size_t signature_length() const = 0; + + virtual ~Signature() = default; + }; + +/** +* A generic key agreement operation (eg DH or ECDH) +*/ +class BOTAN_PUBLIC_API(2,0) Key_Agreement + { + public: + virtual secure_vector agree(size_t key_len, + const uint8_t other_key[], size_t other_key_len, + const uint8_t salt[], size_t salt_len) = 0; + + virtual size_t agreed_value_size() const = 0; + + virtual ~Key_Agreement() = default; + }; + +/** +* KEM (key encapsulation) +*/ +class BOTAN_PUBLIC_API(2,0) KEM_Encryption + { + public: + virtual void kem_encrypt(secure_vector& out_encapsulated_key, + secure_vector& out_shared_key, + size_t desired_shared_key_len, + Botan::RandomNumberGenerator& rng, + const uint8_t salt[], + size_t salt_len) = 0; + + virtual ~KEM_Encryption() = default; + }; + +class BOTAN_PUBLIC_API(2,0) KEM_Decryption + { + public: + virtual secure_vector kem_decrypt(const uint8_t encap_key[], + size_t len, + size_t desired_shared_key_len, + const uint8_t salt[], + size_t salt_len) = 0; + + virtual ~KEM_Decryption() = default; + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pk_ops_fwd.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pk_ops_fwd.h new file mode 100644 index 00000000..92a3c2a9 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pk_ops_fwd.h @@ -0,0 +1,27 @@ +/* +* PK Operation Types Forward Decls +* (C) 2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PK_OPERATIONS_FWD_H_ +#define BOTAN_PK_OPERATIONS_FWD_H_ + +namespace Botan { + +namespace PK_Ops { + +class Encryption; +class Decryption; +class Verification; +class Signature; +class Key_Agreement; +class KEM_Encryption; +class KEM_Decryption; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs10.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs10.h new file mode 100644 index 00000000..3f3f8735 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs10.h @@ -0,0 +1,148 @@ +/* +* PKCS #10 +* (C) 1999-2007 Jack Lloyd +* (C) 2016 René Korthaus, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PKCS10_H_ +#define BOTAN_PKCS10_H_ + +#include +#include +#include + +namespace Botan { + +struct PKCS10_Data; + +class Private_Key; +class Extensions; +class X509_DN; +class AlternativeName; + +/** +* PKCS #10 Certificate Request. +*/ +class BOTAN_PUBLIC_API(2,0) PKCS10_Request final : public X509_Object + { + public: + /** + * Get the subject public key. + * @return subject public key + */ + Public_Key* subject_public_key() const; + + /** + * Get the raw DER encoded public key. + * @return raw DER encoded public key + */ + const std::vector& raw_public_key() const; + + /** + * Get the subject DN. + * @return subject DN + */ + const X509_DN& subject_dn() const; + + /** + * Get the subject alternative name. + * @return subject alternative name. + */ + const AlternativeName& subject_alt_name() const; + + /** + * Get the key constraints for the key associated with this + * PKCS#10 object. + * @return key constraints + */ + Key_Constraints constraints() const; + + /** + * Get the extendend key constraints (if any). + * @return extended key constraints + */ + std::vector ex_constraints() const; + + /** + * Find out whether this is a CA request. + * @result true if it is a CA request, false otherwise. + */ + bool is_CA() const; + + /** + * Return the constraint on the path length defined + * in the BasicConstraints extension. + * @return path limit + */ + size_t path_limit() const; + + /** + * Get the challenge password for this request + * @return challenge password for this request + */ + std::string challenge_password() const; + + /** + * Get the X509v3 extensions. + * @return X509v3 extensions + */ + const Extensions& extensions() const; + + /** + * Create a PKCS#10 Request from a data source. + * @param source the data source providing the DER encoded request + */ + explicit PKCS10_Request(DataSource& source); + +#if defined(BOTAN_TARGET_OS_HAS_FILESYSTEM) + /** + * Create a PKCS#10 Request from a file. + * @param filename the name of the file containing the DER or PEM + * encoded request file + */ + explicit PKCS10_Request(const std::string& filename); +#endif + + /** + * Create a PKCS#10 Request from binary data. + * @param vec a std::vector containing the DER value + */ + explicit PKCS10_Request(const std::vector& vec); + + /** + * Create a new PKCS10 certificate request + * @param key the key that will be included in the certificate request + * @param subject_dn the DN to be placed in the request + * @param extensions extensions to include in the request + * @param hash_fn the hash function to use to create the signature + * @param rng a random number generator + * @param padding_scheme if set specifies the padding scheme, otherwise an + * algorithm-specific default is used. + * @param challenge a challenge string to be included in the PKCS10 request, + * sometimes used for revocation purposes. + */ + static PKCS10_Request create(const Private_Key& key, + const X509_DN& subject_dn, + const Extensions& extensions, + const std::string& hash_fn, + RandomNumberGenerator& rng, + const std::string& padding_scheme = "", + const std::string& challenge = ""); + + private: + std::string PEM_label() const override; + + std::vector alternate_PEM_labels() const override; + + void force_decode() override; + + const PKCS10_Data& data() const; + + std::shared_ptr m_data; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs11.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs11.h new file mode 100644 index 00000000..c66b0bca --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs11.h @@ -0,0 +1,264 @@ +/* + * PKCS #11 Cryptographic Token Interface Base Specification Version 2.40 Errata 01 + * Committee Specification Draft 01 / Public Review Draft 01 + * 09 December 2015 + * Copyright (c) OASIS Open 2015. All Rights Reserved. + * Source: http://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/errata01/csprd01/include/pkcs11-v2.40/ + * Latest version of the specification: http://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/pkcs11-base-v2.40.html + * https://www.oasis-open.org/policies-guidelines/ipr + */ + +#ifndef _PKCS11_H_ +#define _PKCS11_H_ 1 + +#ifdef __cplusplus +extern "C" { +#endif + +/* Before including this file (pkcs11.h) (or pkcs11t.h by + * itself), 5 platform-specific macros must be defined. These + * macros are described below, and typical definitions for them + * are also given. Be advised that these definitions can depend + * on both the platform and the compiler used (and possibly also + * on whether a Cryptoki library is linked statically or + * dynamically). + * + * In addition to defining these 5 macros, the packing convention + * for Cryptoki structures should be set. The Cryptoki + * convention on packing is that structures should be 1-byte + * aligned. + * + * If you're using Microsoft Developer Studio 5.0 to produce + * Win32 stuff, this might be done by using the following + * preprocessor directive before including pkcs11.h or pkcs11t.h: + * + * #pragma pack(push, cryptoki, 1) + * + * and using the following preprocessor directive after including + * pkcs11.h or pkcs11t.h: + * + * #pragma pack(pop, cryptoki) + * + * If you're using an earlier version of Microsoft Developer + * Studio to produce Win16 stuff, this might be done by using + * the following preprocessor directive before including + * pkcs11.h or pkcs11t.h: + * + * #pragma pack(1) + * + * In a UNIX environment, you're on your own for this. You might + * not need to do (or be able to do!) anything. + * + * + * Now for the macros: + * + * + * 1. CK_PTR: The indirection string for making a pointer to an + * object. It can be used like this: + * + * typedef CK_BYTE CK_PTR CK_BYTE_PTR; + * + * If you're using Microsoft Developer Studio 5.0 to produce + * Win32 stuff, it might be defined by: + * + * #define CK_PTR * + * + * If you're using an earlier version of Microsoft Developer + * Studio to produce Win16 stuff, it might be defined by: + * + * #define CK_PTR far * + * + * In a typical UNIX environment, it might be defined by: + * + * #define CK_PTR * + * + * + * 2. CK_DECLARE_FUNCTION(returnType, name): A macro which makes + * an importable Cryptoki library function declaration out of a + * return type and a function name. It should be used in the + * following fashion: + * + * extern CK_DECLARE_FUNCTION(CK_RV, C_Initialize)( + * CK_VOID_PTR pReserved + * ); + * + * If you're using Microsoft Developer Studio 5.0 to declare a + * function in a Win32 Cryptoki .dll, it might be defined by: + * + * #define CK_DECLARE_FUNCTION(returnType, name) \ + * returnType __declspec(dllimport) name + * + * If you're using an earlier version of Microsoft Developer + * Studio to declare a function in a Win16 Cryptoki .dll, it + * might be defined by: + * + * #define CK_DECLARE_FUNCTION(returnType, name) \ + * returnType __export _far _pascal name + * + * In a UNIX environment, it might be defined by: + * + * #define CK_DECLARE_FUNCTION(returnType, name) \ + * returnType name + * + * + * 3. CK_DECLARE_FUNCTION_POINTER(returnType, name): A macro + * which makes a Cryptoki API function pointer declaration or + * function pointer type declaration out of a return type and a + * function name. It should be used in the following fashion: + * + * // Define funcPtr to be a pointer to a Cryptoki API function + * // taking arguments args and returning CK_RV. + * CK_DECLARE_FUNCTION_POINTER(CK_RV, funcPtr)(args); + * + * or + * + * // Define funcPtrType to be the type of a pointer to a + * // Cryptoki API function taking arguments args and returning + * // CK_RV, and then define funcPtr to be a variable of type + * // funcPtrType. + * typedef CK_DECLARE_FUNCTION_POINTER(CK_RV, funcPtrType)(args); + * funcPtrType funcPtr; + * + * If you're using Microsoft Developer Studio 5.0 to access + * functions in a Win32 Cryptoki .dll, in might be defined by: + * + * #define CK_DECLARE_FUNCTION_POINTER(returnType, name) \ + * returnType __declspec(dllimport) (* name) + * + * If you're using an earlier version of Microsoft Developer + * Studio to access functions in a Win16 Cryptoki .dll, it might + * be defined by: + * + * #define CK_DECLARE_FUNCTION_POINTER(returnType, name) \ + * returnType __export _far _pascal (* name) + * + * In a UNIX environment, it might be defined by: + * + * #define CK_DECLARE_FUNCTION_POINTER(returnType, name) \ + * returnType (* name) + * + * + * 4. CK_CALLBACK_FUNCTION(returnType, name): A macro which makes + * a function pointer type for an application callback out of + * a return type for the callback and a name for the callback. + * It should be used in the following fashion: + * + * CK_CALLBACK_FUNCTION(CK_RV, myCallback)(args); + * + * to declare a function pointer, myCallback, to a callback + * which takes arguments args and returns a CK_RV. It can also + * be used like this: + * + * typedef CK_CALLBACK_FUNCTION(CK_RV, myCallbackType)(args); + * myCallbackType myCallback; + * + * If you're using Microsoft Developer Studio 5.0 to do Win32 + * Cryptoki development, it might be defined by: + * + * #define CK_CALLBACK_FUNCTION(returnType, name) \ + * returnType (* name) + * + * If you're using an earlier version of Microsoft Developer + * Studio to do Win16 development, it might be defined by: + * + * #define CK_CALLBACK_FUNCTION(returnType, name) \ + * returnType _far _pascal (* name) + * + * In a UNIX environment, it might be defined by: + * + * #define CK_CALLBACK_FUNCTION(returnType, name) \ + * returnType (* name) + * + * + * 5. NULL_PTR: This macro is the value of a NULL pointer. + * + * In any ANSI/ISO C environment (and in many others as well), + * this should best be defined by + * + * #ifndef NULL_PTR + * #define NULL_PTR 0 + * #endif + */ + + +/* All the various Cryptoki types and #define'd values are in the + * file pkcs11t.h. + */ +#include "pkcs11t.h" + +#define __PASTE(x,y) x##y + + +/* ============================================================== + * Define the "extern" form of all the entry points. + * ============================================================== + */ + +#define CK_NEED_ARG_LIST 1 +#define CK_PKCS11_FUNCTION_INFO(name) \ + extern CK_DECLARE_FUNCTION(CK_RV, name) + +/* pkcs11f.h has all the information about the Cryptoki + * function prototypes. + */ +#include "pkcs11f.h" + +#undef CK_NEED_ARG_LIST +#undef CK_PKCS11_FUNCTION_INFO + + +/* ============================================================== + * Define the typedef form of all the entry points. That is, for + * each Cryptoki function C_XXX, define a type CK_C_XXX which is + * a pointer to that kind of function. + * ============================================================== + */ + +#define CK_NEED_ARG_LIST 1 +#define CK_PKCS11_FUNCTION_INFO(name) \ + typedef CK_DECLARE_FUNCTION_POINTER(CK_RV, __PASTE(CK_,name)) + +/* pkcs11f.h has all the information about the Cryptoki + * function prototypes. + */ +#include "pkcs11f.h" + +#undef CK_NEED_ARG_LIST +#undef CK_PKCS11_FUNCTION_INFO + + +/* ============================================================== + * Define structed vector of entry points. A CK_FUNCTION_LIST + * contains a CK_VERSION indicating a library's Cryptoki version + * and then a whole slew of function pointers to the routines in + * the library. This type was declared, but not defined, in + * pkcs11t.h. + * ============================================================== + */ + +#define CK_PKCS11_FUNCTION_INFO(name) \ + __PASTE(CK_,name) name; + +struct CK_FUNCTION_LIST { + + CK_VERSION version; /* Cryptoki version */ + +/* Pile all the function pointers into the CK_FUNCTION_LIST. */ +/* pkcs11f.h has all the information about the Cryptoki + * function prototypes. + */ +#include "pkcs11f.h" + +}; + +#undef CK_PKCS11_FUNCTION_INFO + + +#undef __PASTE + +#ifdef __cplusplus +} +#endif + +#endif /* _PKCS11_H_ */ + diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs11f.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs11f.h new file mode 100644 index 00000000..48ba5726 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs11f.h @@ -0,0 +1,938 @@ +/* + * PKCS #11 Cryptographic Token Interface Base Specification Version 2.40 Errata 01 + * Committee Specification Draft 01 / Public Review Draft 01 + * 09 December 2015 + * Copyright (c) OASIS Open 2015. All Rights Reserved. + * Source: http://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/errata01/csprd01/include/pkcs11-v2.40/ + * Latest version of the specification: http://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/pkcs11-base-v2.40.html + * https://www.oasis-open.org/policies-guidelines/ipr + */ + +/* This header file contains pretty much everything about all the + * Cryptoki function prototypes. Because this information is + * used for more than just declaring function prototypes, the + * order of the functions appearing herein is important, and + * should not be altered. + */ + +/* General-purpose */ + +/* C_Initialize initializes the Cryptoki library. */ +CK_PKCS11_FUNCTION_INFO(C_Initialize) +#ifdef CK_NEED_ARG_LIST +( + CK_VOID_PTR pInitArgs /* if this is not NULL_PTR, it gets + * cast to CK_C_INITIALIZE_ARGS_PTR + * and dereferenced + */ +); +#endif + + +/* C_Finalize indicates that an application is done with the + * Cryptoki library. + */ +CK_PKCS11_FUNCTION_INFO(C_Finalize) +#ifdef CK_NEED_ARG_LIST +( + CK_VOID_PTR pReserved /* reserved. Should be NULL_PTR */ +); +#endif + + +/* C_GetInfo returns general information about Cryptoki. */ +CK_PKCS11_FUNCTION_INFO(C_GetInfo) +#ifdef CK_NEED_ARG_LIST +( + CK_INFO_PTR pInfo /* location that receives information */ +); +#endif + + +/* C_GetFunctionList returns the function list. */ +CK_PKCS11_FUNCTION_INFO(C_GetFunctionList) +#ifdef CK_NEED_ARG_LIST +( + CK_FUNCTION_LIST_PTR_PTR ppFunctionList /* receives pointer to + * function list + */ +); +#endif + + + +/* Slot and token management */ + +/* C_GetSlotList obtains a list of slots in the system. */ +CK_PKCS11_FUNCTION_INFO(C_GetSlotList) +#ifdef CK_NEED_ARG_LIST +( + CK_BBOOL tokenPresent, /* only slots with tokens */ + CK_SLOT_ID_PTR pSlotList, /* receives array of slot IDs */ + CK_ULONG_PTR pulCount /* receives number of slots */ +); +#endif + + +/* C_GetSlotInfo obtains information about a particular slot in + * the system. + */ +CK_PKCS11_FUNCTION_INFO(C_GetSlotInfo) +#ifdef CK_NEED_ARG_LIST +( + CK_SLOT_ID slotID, /* the ID of the slot */ + CK_SLOT_INFO_PTR pInfo /* receives the slot information */ +); +#endif + + +/* C_GetTokenInfo obtains information about a particular token + * in the system. + */ +CK_PKCS11_FUNCTION_INFO(C_GetTokenInfo) +#ifdef CK_NEED_ARG_LIST +( + CK_SLOT_ID slotID, /* ID of the token's slot */ + CK_TOKEN_INFO_PTR pInfo /* receives the token information */ +); +#endif + + +/* C_GetMechanismList obtains a list of mechanism types + * supported by a token. + */ +CK_PKCS11_FUNCTION_INFO(C_GetMechanismList) +#ifdef CK_NEED_ARG_LIST +( + CK_SLOT_ID slotID, /* ID of token's slot */ + CK_MECHANISM_TYPE_PTR pMechanismList, /* gets mech. array */ + CK_ULONG_PTR pulCount /* gets # of mechs. */ +); +#endif + + +/* C_GetMechanismInfo obtains information about a particular + * mechanism possibly supported by a token. + */ +CK_PKCS11_FUNCTION_INFO(C_GetMechanismInfo) +#ifdef CK_NEED_ARG_LIST +( + CK_SLOT_ID slotID, /* ID of the token's slot */ + CK_MECHANISM_TYPE type, /* type of mechanism */ + CK_MECHANISM_INFO_PTR pInfo /* receives mechanism info */ +); +#endif + + +/* C_InitToken initializes a token. */ +CK_PKCS11_FUNCTION_INFO(C_InitToken) +#ifdef CK_NEED_ARG_LIST +( + CK_SLOT_ID slotID, /* ID of the token's slot */ + CK_UTF8CHAR_PTR pPin, /* the SO's initial PIN */ + CK_ULONG ulPinLen, /* length in bytes of the PIN */ + CK_UTF8CHAR_PTR pLabel /* 32-byte token label (blank padded) */ +); +#endif + + +/* C_InitPIN initializes the normal user's PIN. */ +CK_PKCS11_FUNCTION_INFO(C_InitPIN) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_UTF8CHAR_PTR pPin, /* the normal user's PIN */ + CK_ULONG ulPinLen /* length in bytes of the PIN */ +); +#endif + + +/* C_SetPIN modifies the PIN of the user who is logged in. */ +CK_PKCS11_FUNCTION_INFO(C_SetPIN) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_UTF8CHAR_PTR pOldPin, /* the old PIN */ + CK_ULONG ulOldLen, /* length of the old PIN */ + CK_UTF8CHAR_PTR pNewPin, /* the new PIN */ + CK_ULONG ulNewLen /* length of the new PIN */ +); +#endif + + + +/* Session management */ + +/* C_OpenSession opens a session between an application and a + * token. + */ +CK_PKCS11_FUNCTION_INFO(C_OpenSession) +#ifdef CK_NEED_ARG_LIST +( + CK_SLOT_ID slotID, /* the slot's ID */ + CK_FLAGS flags, /* from CK_SESSION_INFO */ + CK_VOID_PTR pApplication, /* passed to callback */ + CK_NOTIFY Notify, /* callback function */ + CK_SESSION_HANDLE_PTR phSession /* gets session handle */ +); +#endif + + +/* C_CloseSession closes a session between an application and a + * token. + */ +CK_PKCS11_FUNCTION_INFO(C_CloseSession) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession /* the session's handle */ +); +#endif + + +/* C_CloseAllSessions closes all sessions with a token. */ +CK_PKCS11_FUNCTION_INFO(C_CloseAllSessions) +#ifdef CK_NEED_ARG_LIST +( + CK_SLOT_ID slotID /* the token's slot */ +); +#endif + + +/* C_GetSessionInfo obtains information about the session. */ +CK_PKCS11_FUNCTION_INFO(C_GetSessionInfo) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_SESSION_INFO_PTR pInfo /* receives session info */ +); +#endif + + +/* C_GetOperationState obtains the state of the cryptographic operation + * in a session. + */ +CK_PKCS11_FUNCTION_INFO(C_GetOperationState) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* session's handle */ + CK_BYTE_PTR pOperationState, /* gets state */ + CK_ULONG_PTR pulOperationStateLen /* gets state length */ +); +#endif + + +/* C_SetOperationState restores the state of the cryptographic + * operation in a session. + */ +CK_PKCS11_FUNCTION_INFO(C_SetOperationState) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* session's handle */ + CK_BYTE_PTR pOperationState, /* holds state */ + CK_ULONG ulOperationStateLen, /* holds state length */ + CK_OBJECT_HANDLE hEncryptionKey, /* en/decryption key */ + CK_OBJECT_HANDLE hAuthenticationKey /* sign/verify key */ +); +#endif + + +/* C_Login logs a user into a token. */ +CK_PKCS11_FUNCTION_INFO(C_Login) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_USER_TYPE userType, /* the user type */ + CK_UTF8CHAR_PTR pPin, /* the user's PIN */ + CK_ULONG ulPinLen /* the length of the PIN */ +); +#endif + + +/* C_Logout logs a user out from a token. */ +CK_PKCS11_FUNCTION_INFO(C_Logout) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession /* the session's handle */ +); +#endif + + + +/* Object management */ + +/* C_CreateObject creates a new object. */ +CK_PKCS11_FUNCTION_INFO(C_CreateObject) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_ATTRIBUTE_PTR pTemplate, /* the object's template */ + CK_ULONG ulCount, /* attributes in template */ + CK_OBJECT_HANDLE_PTR phObject /* gets new object's handle. */ +); +#endif + + +/* C_CopyObject copies an object, creating a new object for the + * copy. + */ +CK_PKCS11_FUNCTION_INFO(C_CopyObject) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_OBJECT_HANDLE hObject, /* the object's handle */ + CK_ATTRIBUTE_PTR pTemplate, /* template for new object */ + CK_ULONG ulCount, /* attributes in template */ + CK_OBJECT_HANDLE_PTR phNewObject /* receives handle of copy */ +); +#endif + + +/* C_DestroyObject destroys an object. */ +CK_PKCS11_FUNCTION_INFO(C_DestroyObject) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_OBJECT_HANDLE hObject /* the object's handle */ +); +#endif + + +/* C_GetObjectSize gets the size of an object in bytes. */ +CK_PKCS11_FUNCTION_INFO(C_GetObjectSize) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_OBJECT_HANDLE hObject, /* the object's handle */ + CK_ULONG_PTR pulSize /* receives size of object */ +); +#endif + + +/* C_GetAttributeValue obtains the value of one or more object + * attributes. + */ +CK_PKCS11_FUNCTION_INFO(C_GetAttributeValue) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_OBJECT_HANDLE hObject, /* the object's handle */ + CK_ATTRIBUTE_PTR pTemplate, /* specifies attrs; gets vals */ + CK_ULONG ulCount /* attributes in template */ +); +#endif + + +/* C_SetAttributeValue modifies the value of one or more object + * attributes. + */ +CK_PKCS11_FUNCTION_INFO(C_SetAttributeValue) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_OBJECT_HANDLE hObject, /* the object's handle */ + CK_ATTRIBUTE_PTR pTemplate, /* specifies attrs and values */ + CK_ULONG ulCount /* attributes in template */ +); +#endif + + +/* C_FindObjectsInit initializes a search for token and session + * objects that match a template. + */ +CK_PKCS11_FUNCTION_INFO(C_FindObjectsInit) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_ATTRIBUTE_PTR pTemplate, /* attribute values to match */ + CK_ULONG ulCount /* attrs in search template */ +); +#endif + + +/* C_FindObjects continues a search for token and session + * objects that match a template, obtaining additional object + * handles. + */ +CK_PKCS11_FUNCTION_INFO(C_FindObjects) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* session's handle */ + CK_OBJECT_HANDLE_PTR phObject, /* gets obj. handles */ + CK_ULONG ulMaxObjectCount, /* max handles to get */ + CK_ULONG_PTR pulObjectCount /* actual # returned */ +); +#endif + + +/* C_FindObjectsFinal finishes a search for token and session + * objects. + */ +CK_PKCS11_FUNCTION_INFO(C_FindObjectsFinal) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession /* the session's handle */ +); +#endif + + + +/* Encryption and decryption */ + +/* C_EncryptInit initializes an encryption operation. */ +CK_PKCS11_FUNCTION_INFO(C_EncryptInit) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_MECHANISM_PTR pMechanism, /* the encryption mechanism */ + CK_OBJECT_HANDLE hKey /* handle of encryption key */ +); +#endif + + +/* C_Encrypt encrypts single-part data. */ +CK_PKCS11_FUNCTION_INFO(C_Encrypt) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* session's handle */ + CK_BYTE_PTR pData, /* the plaintext data */ + CK_ULONG ulDataLen, /* bytes of plaintext */ + CK_BYTE_PTR pEncryptedData, /* gets ciphertext */ + CK_ULONG_PTR pulEncryptedDataLen /* gets c-text size */ +); +#endif + + +/* C_EncryptUpdate continues a multiple-part encryption + * operation. + */ +CK_PKCS11_FUNCTION_INFO(C_EncryptUpdate) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* session's handle */ + CK_BYTE_PTR pPart, /* the plaintext data */ + CK_ULONG ulPartLen, /* plaintext data len */ + CK_BYTE_PTR pEncryptedPart, /* gets ciphertext */ + CK_ULONG_PTR pulEncryptedPartLen /* gets c-text size */ +); +#endif + + +/* C_EncryptFinal finishes a multiple-part encryption + * operation. + */ +CK_PKCS11_FUNCTION_INFO(C_EncryptFinal) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* session handle */ + CK_BYTE_PTR pLastEncryptedPart, /* last c-text */ + CK_ULONG_PTR pulLastEncryptedPartLen /* gets last size */ +); +#endif + + +/* C_DecryptInit initializes a decryption operation. */ +CK_PKCS11_FUNCTION_INFO(C_DecryptInit) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_MECHANISM_PTR pMechanism, /* the decryption mechanism */ + CK_OBJECT_HANDLE hKey /* handle of decryption key */ +); +#endif + + +/* C_Decrypt decrypts encrypted data in a single part. */ +CK_PKCS11_FUNCTION_INFO(C_Decrypt) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* session's handle */ + CK_BYTE_PTR pEncryptedData, /* ciphertext */ + CK_ULONG ulEncryptedDataLen, /* ciphertext length */ + CK_BYTE_PTR pData, /* gets plaintext */ + CK_ULONG_PTR pulDataLen /* gets p-text size */ +); +#endif + + +/* C_DecryptUpdate continues a multiple-part decryption + * operation. + */ +CK_PKCS11_FUNCTION_INFO(C_DecryptUpdate) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* session's handle */ + CK_BYTE_PTR pEncryptedPart, /* encrypted data */ + CK_ULONG ulEncryptedPartLen, /* input length */ + CK_BYTE_PTR pPart, /* gets plaintext */ + CK_ULONG_PTR pulPartLen /* p-text size */ +); +#endif + + +/* C_DecryptFinal finishes a multiple-part decryption + * operation. + */ +CK_PKCS11_FUNCTION_INFO(C_DecryptFinal) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_BYTE_PTR pLastPart, /* gets plaintext */ + CK_ULONG_PTR pulLastPartLen /* p-text size */ +); +#endif + + + +/* Message digesting */ + +/* C_DigestInit initializes a message-digesting operation. */ +CK_PKCS11_FUNCTION_INFO(C_DigestInit) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_MECHANISM_PTR pMechanism /* the digesting mechanism */ +); +#endif + + +/* C_Digest digests data in a single part. */ +CK_PKCS11_FUNCTION_INFO(C_Digest) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_BYTE_PTR pData, /* data to be digested */ + CK_ULONG ulDataLen, /* bytes of data to digest */ + CK_BYTE_PTR pDigest, /* gets the message digest */ + CK_ULONG_PTR pulDigestLen /* gets digest length */ +); +#endif + + +/* C_DigestUpdate continues a multiple-part message-digesting + * operation. + */ +CK_PKCS11_FUNCTION_INFO(C_DigestUpdate) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_BYTE_PTR pPart, /* data to be digested */ + CK_ULONG ulPartLen /* bytes of data to be digested */ +); +#endif + + +/* C_DigestKey continues a multi-part message-digesting + * operation, by digesting the value of a secret key as part of + * the data already digested. + */ +CK_PKCS11_FUNCTION_INFO(C_DigestKey) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_OBJECT_HANDLE hKey /* secret key to digest */ +); +#endif + + +/* C_DigestFinal finishes a multiple-part message-digesting + * operation. + */ +CK_PKCS11_FUNCTION_INFO(C_DigestFinal) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_BYTE_PTR pDigest, /* gets the message digest */ + CK_ULONG_PTR pulDigestLen /* gets byte count of digest */ +); +#endif + + + +/* Signing and MACing */ + +/* C_SignInit initializes a signature (private key encryption) + * operation, where the signature is (will be) an appendix to + * the data, and plaintext cannot be recovered from the + * signature. + */ +CK_PKCS11_FUNCTION_INFO(C_SignInit) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_MECHANISM_PTR pMechanism, /* the signature mechanism */ + CK_OBJECT_HANDLE hKey /* handle of signature key */ +); +#endif + + +/* C_Sign signs (encrypts with private key) data in a single + * part, where the signature is (will be) an appendix to the + * data, and plaintext cannot be recovered from the signature. + */ +CK_PKCS11_FUNCTION_INFO(C_Sign) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_BYTE_PTR pData, /* the data to sign */ + CK_ULONG ulDataLen, /* count of bytes to sign */ + CK_BYTE_PTR pSignature, /* gets the signature */ + CK_ULONG_PTR pulSignatureLen /* gets signature length */ +); +#endif + + +/* C_SignUpdate continues a multiple-part signature operation, + * where the signature is (will be) an appendix to the data, + * and plaintext cannot be recovered from the signature. + */ +CK_PKCS11_FUNCTION_INFO(C_SignUpdate) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_BYTE_PTR pPart, /* the data to sign */ + CK_ULONG ulPartLen /* count of bytes to sign */ +); +#endif + + +/* C_SignFinal finishes a multiple-part signature operation, + * returning the signature. + */ +CK_PKCS11_FUNCTION_INFO(C_SignFinal) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_BYTE_PTR pSignature, /* gets the signature */ + CK_ULONG_PTR pulSignatureLen /* gets signature length */ +); +#endif + + +/* C_SignRecoverInit initializes a signature operation, where + * the data can be recovered from the signature. + */ +CK_PKCS11_FUNCTION_INFO(C_SignRecoverInit) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_MECHANISM_PTR pMechanism, /* the signature mechanism */ + CK_OBJECT_HANDLE hKey /* handle of the signature key */ +); +#endif + + +/* C_SignRecover signs data in a single operation, where the + * data can be recovered from the signature. + */ +CK_PKCS11_FUNCTION_INFO(C_SignRecover) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_BYTE_PTR pData, /* the data to sign */ + CK_ULONG ulDataLen, /* count of bytes to sign */ + CK_BYTE_PTR pSignature, /* gets the signature */ + CK_ULONG_PTR pulSignatureLen /* gets signature length */ +); +#endif + + + +/* Verifying signatures and MACs */ + +/* C_VerifyInit initializes a verification operation, where the + * signature is an appendix to the data, and plaintext cannot + * cannot be recovered from the signature (e.g. DSA). + */ +CK_PKCS11_FUNCTION_INFO(C_VerifyInit) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_MECHANISM_PTR pMechanism, /* the verification mechanism */ + CK_OBJECT_HANDLE hKey /* verification key */ +); +#endif + + +/* C_Verify verifies a signature in a single-part operation, + * where the signature is an appendix to the data, and plaintext + * cannot be recovered from the signature. + */ +CK_PKCS11_FUNCTION_INFO(C_Verify) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_BYTE_PTR pData, /* signed data */ + CK_ULONG ulDataLen, /* length of signed data */ + CK_BYTE_PTR pSignature, /* signature */ + CK_ULONG ulSignatureLen /* signature length*/ +); +#endif + + +/* C_VerifyUpdate continues a multiple-part verification + * operation, where the signature is an appendix to the data, + * and plaintext cannot be recovered from the signature. + */ +CK_PKCS11_FUNCTION_INFO(C_VerifyUpdate) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_BYTE_PTR pPart, /* signed data */ + CK_ULONG ulPartLen /* length of signed data */ +); +#endif + + +/* C_VerifyFinal finishes a multiple-part verification + * operation, checking the signature. + */ +CK_PKCS11_FUNCTION_INFO(C_VerifyFinal) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_BYTE_PTR pSignature, /* signature to verify */ + CK_ULONG ulSignatureLen /* signature length */ +); +#endif + + +/* C_VerifyRecoverInit initializes a signature verification + * operation, where the data is recovered from the signature. + */ +CK_PKCS11_FUNCTION_INFO(C_VerifyRecoverInit) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_MECHANISM_PTR pMechanism, /* the verification mechanism */ + CK_OBJECT_HANDLE hKey /* verification key */ +); +#endif + + +/* C_VerifyRecover verifies a signature in a single-part + * operation, where the data is recovered from the signature. + */ +CK_PKCS11_FUNCTION_INFO(C_VerifyRecover) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_BYTE_PTR pSignature, /* signature to verify */ + CK_ULONG ulSignatureLen, /* signature length */ + CK_BYTE_PTR pData, /* gets signed data */ + CK_ULONG_PTR pulDataLen /* gets signed data len */ +); +#endif + + + +/* Dual-function cryptographic operations */ + +/* C_DigestEncryptUpdate continues a multiple-part digesting + * and encryption operation. + */ +CK_PKCS11_FUNCTION_INFO(C_DigestEncryptUpdate) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* session's handle */ + CK_BYTE_PTR pPart, /* the plaintext data */ + CK_ULONG ulPartLen, /* plaintext length */ + CK_BYTE_PTR pEncryptedPart, /* gets ciphertext */ + CK_ULONG_PTR pulEncryptedPartLen /* gets c-text length */ +); +#endif + + +/* C_DecryptDigestUpdate continues a multiple-part decryption and + * digesting operation. + */ +CK_PKCS11_FUNCTION_INFO(C_DecryptDigestUpdate) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* session's handle */ + CK_BYTE_PTR pEncryptedPart, /* ciphertext */ + CK_ULONG ulEncryptedPartLen, /* ciphertext length */ + CK_BYTE_PTR pPart, /* gets plaintext */ + CK_ULONG_PTR pulPartLen /* gets plaintext len */ +); +#endif + + +/* C_SignEncryptUpdate continues a multiple-part signing and + * encryption operation. + */ +CK_PKCS11_FUNCTION_INFO(C_SignEncryptUpdate) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* session's handle */ + CK_BYTE_PTR pPart, /* the plaintext data */ + CK_ULONG ulPartLen, /* plaintext length */ + CK_BYTE_PTR pEncryptedPart, /* gets ciphertext */ + CK_ULONG_PTR pulEncryptedPartLen /* gets c-text length */ +); +#endif + + +/* C_DecryptVerifyUpdate continues a multiple-part decryption and + * verify operation. + */ +CK_PKCS11_FUNCTION_INFO(C_DecryptVerifyUpdate) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* session's handle */ + CK_BYTE_PTR pEncryptedPart, /* ciphertext */ + CK_ULONG ulEncryptedPartLen, /* ciphertext length */ + CK_BYTE_PTR pPart, /* gets plaintext */ + CK_ULONG_PTR pulPartLen /* gets p-text length */ +); +#endif + + + +/* Key management */ + +/* C_GenerateKey generates a secret key, creating a new key + * object. + */ +CK_PKCS11_FUNCTION_INFO(C_GenerateKey) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_MECHANISM_PTR pMechanism, /* key generation mech. */ + CK_ATTRIBUTE_PTR pTemplate, /* template for new key */ + CK_ULONG ulCount, /* # of attrs in template */ + CK_OBJECT_HANDLE_PTR phKey /* gets handle of new key */ +); +#endif + + +/* C_GenerateKeyPair generates a public-key/private-key pair, + * creating new key objects. + */ +CK_PKCS11_FUNCTION_INFO(C_GenerateKeyPair) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* session handle */ + CK_MECHANISM_PTR pMechanism, /* key-gen mech. */ + CK_ATTRIBUTE_PTR pPublicKeyTemplate, /* template for pub. key */ + CK_ULONG ulPublicKeyAttributeCount, /* # pub. attrs. */ + CK_ATTRIBUTE_PTR pPrivateKeyTemplate, /* template for priv. key */ + CK_ULONG ulPrivateKeyAttributeCount, /* # priv. attrs. */ + CK_OBJECT_HANDLE_PTR phPublicKey, /* gets pub. key handle */ + CK_OBJECT_HANDLE_PTR phPrivateKey /* gets priv. key handle */ +); +#endif + + +/* C_WrapKey wraps (i.e., encrypts) a key. */ +CK_PKCS11_FUNCTION_INFO(C_WrapKey) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_MECHANISM_PTR pMechanism, /* the wrapping mechanism */ + CK_OBJECT_HANDLE hWrappingKey, /* wrapping key */ + CK_OBJECT_HANDLE hKey, /* key to be wrapped */ + CK_BYTE_PTR pWrappedKey, /* gets wrapped key */ + CK_ULONG_PTR pulWrappedKeyLen /* gets wrapped key size */ +); +#endif + + +/* C_UnwrapKey unwraps (decrypts) a wrapped key, creating a new + * key object. + */ +CK_PKCS11_FUNCTION_INFO(C_UnwrapKey) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* session's handle */ + CK_MECHANISM_PTR pMechanism, /* unwrapping mech. */ + CK_OBJECT_HANDLE hUnwrappingKey, /* unwrapping key */ + CK_BYTE_PTR pWrappedKey, /* the wrapped key */ + CK_ULONG ulWrappedKeyLen, /* wrapped key len */ + CK_ATTRIBUTE_PTR pTemplate, /* new key template */ + CK_ULONG ulAttributeCount, /* template length */ + CK_OBJECT_HANDLE_PTR phKey /* gets new handle */ +); +#endif + + +/* C_DeriveKey derives a key from a base key, creating a new key + * object. + */ +CK_PKCS11_FUNCTION_INFO(C_DeriveKey) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* session's handle */ + CK_MECHANISM_PTR pMechanism, /* key deriv. mech. */ + CK_OBJECT_HANDLE hBaseKey, /* base key */ + CK_ATTRIBUTE_PTR pTemplate, /* new key template */ + CK_ULONG ulAttributeCount, /* template length */ + CK_OBJECT_HANDLE_PTR phKey /* gets new handle */ +); +#endif + + + +/* Random number generation */ + +/* C_SeedRandom mixes additional seed material into the token's + * random number generator. + */ +CK_PKCS11_FUNCTION_INFO(C_SeedRandom) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_BYTE_PTR pSeed, /* the seed material */ + CK_ULONG ulSeedLen /* length of seed material */ +); +#endif + + +/* C_GenerateRandom generates random data. */ +CK_PKCS11_FUNCTION_INFO(C_GenerateRandom) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_BYTE_PTR RandomData, /* receives the random data */ + CK_ULONG ulRandomLen /* # of bytes to generate */ +); +#endif + + + +/* Parallel function management */ + +/* C_GetFunctionStatus is a legacy function; it obtains an + * updated status of a function running in parallel with an + * application. + */ +CK_PKCS11_FUNCTION_INFO(C_GetFunctionStatus) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession /* the session's handle */ +); +#endif + + +/* C_CancelFunction is a legacy function; it cancels a function + * running in parallel. + */ +CK_PKCS11_FUNCTION_INFO(C_CancelFunction) +#ifdef CK_NEED_ARG_LIST +( + CK_SESSION_HANDLE hSession /* the session's handle */ +); +#endif + + +/* C_WaitForSlotEvent waits for a slot event (token insertion, + * removal, etc.) to occur. + */ +CK_PKCS11_FUNCTION_INFO(C_WaitForSlotEvent) +#ifdef CK_NEED_ARG_LIST +( + CK_FLAGS flags, /* blocking/nonblocking flag */ + CK_SLOT_ID_PTR pSlot, /* location that receives the slot ID */ + CK_VOID_PTR pRserved /* reserved. Should be NULL_PTR */ +); +#endif + diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs11t.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs11t.h new file mode 100644 index 00000000..c183ea97 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs11t.h @@ -0,0 +1,2002 @@ +/* + * PKCS #11 Cryptographic Token Interface Base Specification Version 2.40 Errata 01 + * Committee Specification Draft 01 / Public Review Draft 01 + * 09 December 2015 + * Copyright (c) OASIS Open 2015. All Rights Reserved. + * Source: http://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/errata01/csprd01/include/pkcs11-v2.40/ + * Latest version of the specification: http://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/pkcs11-base-v2.40.html + * https://www.oasis-open.org/policies-guidelines/ipr + */ + +/* See top of pkcs11.h for information about the macros that + * must be defined and the structure-packing conventions that + * must be set before including this file. + */ + +#ifndef _PKCS11T_H_ +#define _PKCS11T_H_ 1 + +#define CRYPTOKI_VERSION_MAJOR 2 +#define CRYPTOKI_VERSION_MINOR 40 +#define CRYPTOKI_VERSION_AMENDMENT 0 + +#define CK_TRUE 1 +#define CK_FALSE 0 + +#ifndef CK_DISABLE_TRUE_FALSE +#ifndef FALSE +#define FALSE CK_FALSE +#endif +#ifndef TRUE +#define TRUE CK_TRUE +#endif +#endif + +/* an unsigned 8-bit value */ +typedef unsigned char CK_BYTE; + +/* an unsigned 8-bit character */ +typedef CK_BYTE CK_CHAR; + +/* an 8-bit UTF-8 character */ +typedef CK_BYTE CK_UTF8CHAR; + +/* a BYTE-sized Boolean flag */ +typedef CK_BYTE CK_BBOOL; + +/* an unsigned value, at least 32 bits long */ +typedef unsigned long int CK_ULONG; + +/* a signed value, the same size as a CK_ULONG */ +typedef long int CK_LONG; + +/* at least 32 bits; each bit is a Boolean flag */ +typedef CK_ULONG CK_FLAGS; + + +/* some special values for certain CK_ULONG variables */ +#define CK_UNAVAILABLE_INFORMATION (~0UL) +#define CK_EFFECTIVELY_INFINITE 0UL + + +typedef CK_BYTE CK_PTR CK_BYTE_PTR; +typedef CK_CHAR CK_PTR CK_CHAR_PTR; +typedef CK_UTF8CHAR CK_PTR CK_UTF8CHAR_PTR; +typedef CK_ULONG CK_PTR CK_ULONG_PTR; +typedef void CK_PTR CK_VOID_PTR; + +/* Pointer to a CK_VOID_PTR-- i.e., pointer to pointer to void */ +typedef CK_VOID_PTR CK_PTR CK_VOID_PTR_PTR; + + +/* The following value is always invalid if used as a session + * handle or object handle + */ +#define CK_INVALID_HANDLE 0UL + + +typedef struct CK_VERSION { + CK_BYTE major; /* integer portion of version number */ + CK_BYTE minor; /* 1/100ths portion of version number */ +} CK_VERSION; + +typedef CK_VERSION CK_PTR CK_VERSION_PTR; + + +typedef struct CK_INFO { + CK_VERSION cryptokiVersion; /* Cryptoki interface ver */ + CK_UTF8CHAR manufacturerID[32]; /* blank padded */ + CK_FLAGS flags; /* must be zero */ + CK_UTF8CHAR libraryDescription[32]; /* blank padded */ + CK_VERSION libraryVersion; /* version of library */ +} CK_INFO; + +typedef CK_INFO CK_PTR CK_INFO_PTR; + + +/* CK_NOTIFICATION enumerates the types of notifications that + * Cryptoki provides to an application + */ +typedef CK_ULONG CK_NOTIFICATION; +#define CKN_SURRENDER 0UL +#define CKN_OTP_CHANGED 1UL + +typedef CK_ULONG CK_SLOT_ID; + +typedef CK_SLOT_ID CK_PTR CK_SLOT_ID_PTR; + + +/* CK_SLOT_INFO provides information about a slot */ +typedef struct CK_SLOT_INFO { + CK_UTF8CHAR slotDescription[64]; /* blank padded */ + CK_UTF8CHAR manufacturerID[32]; /* blank padded */ + CK_FLAGS flags; + + CK_VERSION hardwareVersion; /* version of hardware */ + CK_VERSION firmwareVersion; /* version of firmware */ +} CK_SLOT_INFO; + +/* flags: bit flags that provide capabilities of the slot + * Bit Flag Mask Meaning + */ +#define CKF_TOKEN_PRESENT 0x00000001UL /* a token is there */ +#define CKF_REMOVABLE_DEVICE 0x00000002UL /* removable devices*/ +#define CKF_HW_SLOT 0x00000004UL /* hardware slot */ + +typedef CK_SLOT_INFO CK_PTR CK_SLOT_INFO_PTR; + + +/* CK_TOKEN_INFO provides information about a token */ +typedef struct CK_TOKEN_INFO { + CK_UTF8CHAR label[32]; /* blank padded */ + CK_UTF8CHAR manufacturerID[32]; /* blank padded */ + CK_UTF8CHAR model[16]; /* blank padded */ + CK_CHAR serialNumber[16]; /* blank padded */ + CK_FLAGS flags; /* see below */ + + CK_ULONG ulMaxSessionCount; /* max open sessions */ + CK_ULONG ulSessionCount; /* sess. now open */ + CK_ULONG ulMaxRwSessionCount; /* max R/W sessions */ + CK_ULONG ulRwSessionCount; /* R/W sess. now open */ + CK_ULONG ulMaxPinLen; /* in bytes */ + CK_ULONG ulMinPinLen; /* in bytes */ + CK_ULONG ulTotalPublicMemory; /* in bytes */ + CK_ULONG ulFreePublicMemory; /* in bytes */ + CK_ULONG ulTotalPrivateMemory; /* in bytes */ + CK_ULONG ulFreePrivateMemory; /* in bytes */ + CK_VERSION hardwareVersion; /* version of hardware */ + CK_VERSION firmwareVersion; /* version of firmware */ + CK_CHAR utcTime[16]; /* time */ +} CK_TOKEN_INFO; + +/* The flags parameter is defined as follows: + * Bit Flag Mask Meaning + */ +#define CKF_RNG 0x00000001UL /* has random # generator */ +#define CKF_WRITE_PROTECTED 0x00000002UL /* token is write-protected */ +#define CKF_LOGIN_REQUIRED 0x00000004UL /* user must login */ +#define CKF_USER_PIN_INITIALIZED 0x00000008UL /* normal user's PIN is set */ + +/* CKF_RESTORE_KEY_NOT_NEEDED. If it is set, + * that means that *every* time the state of cryptographic + * operations of a session is successfully saved, all keys + * needed to continue those operations are stored in the state + */ +#define CKF_RESTORE_KEY_NOT_NEEDED 0x00000020UL + +/* CKF_CLOCK_ON_TOKEN. If it is set, that means + * that the token has some sort of clock. The time on that + * clock is returned in the token info structure + */ +#define CKF_CLOCK_ON_TOKEN 0x00000040UL + +/* CKF_PROTECTED_AUTHENTICATION_PATH. If it is + * set, that means that there is some way for the user to login + * without sending a PIN through the Cryptoki library itself + */ +#define CKF_PROTECTED_AUTHENTICATION_PATH 0x00000100UL + +/* CKF_DUAL_CRYPTO_OPERATIONS. If it is true, + * that means that a single session with the token can perform + * dual simultaneous cryptographic operations (digest and + * encrypt; decrypt and digest; sign and encrypt; and decrypt + * and sign) + */ +#define CKF_DUAL_CRYPTO_OPERATIONS 0x00000200UL + +/* CKF_TOKEN_INITIALIZED. If it is true, the + * token has been initialized using C_InitializeToken or an + * equivalent mechanism outside the scope of PKCS #11. + * Calling C_InitializeToken when this flag is set will cause + * the token to be reinitialized. + */ +#define CKF_TOKEN_INITIALIZED 0x00000400UL + +/* CKF_SECONDARY_AUTHENTICATION. If it is + * true, the token supports secondary authentication for + * private key objects. + */ +#define CKF_SECONDARY_AUTHENTICATION 0x00000800UL + +/* CKF_USER_PIN_COUNT_LOW. If it is true, an + * incorrect user login PIN has been entered at least once + * since the last successful authentication. + */ +#define CKF_USER_PIN_COUNT_LOW 0x00010000UL + +/* CKF_USER_PIN_FINAL_TRY. If it is true, + * supplying an incorrect user PIN will it to become locked. + */ +#define CKF_USER_PIN_FINAL_TRY 0x00020000UL + +/* CKF_USER_PIN_LOCKED. If it is true, the + * user PIN has been locked. User login to the token is not + * possible. + */ +#define CKF_USER_PIN_LOCKED 0x00040000UL + +/* CKF_USER_PIN_TO_BE_CHANGED. If it is true, + * the user PIN value is the default value set by token + * initialization or manufacturing, or the PIN has been + * expired by the card. + */ +#define CKF_USER_PIN_TO_BE_CHANGED 0x00080000UL + +/* CKF_SO_PIN_COUNT_LOW. If it is true, an + * incorrect SO login PIN has been entered at least once since + * the last successful authentication. + */ +#define CKF_SO_PIN_COUNT_LOW 0x00100000UL + +/* CKF_SO_PIN_FINAL_TRY. If it is true, + * supplying an incorrect SO PIN will it to become locked. + */ +#define CKF_SO_PIN_FINAL_TRY 0x00200000UL + +/* CKF_SO_PIN_LOCKED. If it is true, the SO + * PIN has been locked. SO login to the token is not possible. + */ +#define CKF_SO_PIN_LOCKED 0x00400000UL + +/* CKF_SO_PIN_TO_BE_CHANGED. If it is true, + * the SO PIN value is the default value set by token + * initialization or manufacturing, or the PIN has been + * expired by the card. + */ +#define CKF_SO_PIN_TO_BE_CHANGED 0x00800000UL + +#define CKF_ERROR_STATE 0x01000000UL + +typedef CK_TOKEN_INFO CK_PTR CK_TOKEN_INFO_PTR; + + +/* CK_SESSION_HANDLE is a Cryptoki-assigned value that + * identifies a session + */ +typedef CK_ULONG CK_SESSION_HANDLE; + +typedef CK_SESSION_HANDLE CK_PTR CK_SESSION_HANDLE_PTR; + + +/* CK_USER_TYPE enumerates the types of Cryptoki users */ +typedef CK_ULONG CK_USER_TYPE; +/* Security Officer */ +#define CKU_SO 0UL +/* Normal user */ +#define CKU_USER 1UL +/* Context specific */ +#define CKU_CONTEXT_SPECIFIC 2UL + +/* CK_STATE enumerates the session states */ +typedef CK_ULONG CK_STATE; +#define CKS_RO_PUBLIC_SESSION 0UL +#define CKS_RO_USER_FUNCTIONS 1UL +#define CKS_RW_PUBLIC_SESSION 2UL +#define CKS_RW_USER_FUNCTIONS 3UL +#define CKS_RW_SO_FUNCTIONS 4UL + +/* CK_SESSION_INFO provides information about a session */ +typedef struct CK_SESSION_INFO { + CK_SLOT_ID slotID; + CK_STATE state; + CK_FLAGS flags; /* see below */ + CK_ULONG ulDeviceError; /* device-dependent error code */ +} CK_SESSION_INFO; + +/* The flags are defined in the following table: + * Bit Flag Mask Meaning + */ +#define CKF_RW_SESSION 0x00000002UL /* session is r/w */ +#define CKF_SERIAL_SESSION 0x00000004UL /* no parallel */ + +typedef CK_SESSION_INFO CK_PTR CK_SESSION_INFO_PTR; + + +/* CK_OBJECT_HANDLE is a token-specific identifier for an + * object + */ +typedef CK_ULONG CK_OBJECT_HANDLE; + +typedef CK_OBJECT_HANDLE CK_PTR CK_OBJECT_HANDLE_PTR; + + +/* CK_OBJECT_CLASS is a value that identifies the classes (or + * types) of objects that Cryptoki recognizes. It is defined + * as follows: + */ +typedef CK_ULONG CK_OBJECT_CLASS; + +/* The following classes of objects are defined: */ +#define CKO_DATA 0x00000000UL +#define CKO_CERTIFICATE 0x00000001UL +#define CKO_PUBLIC_KEY 0x00000002UL +#define CKO_PRIVATE_KEY 0x00000003UL +#define CKO_SECRET_KEY 0x00000004UL +#define CKO_HW_FEATURE 0x00000005UL +#define CKO_DOMAIN_PARAMETERS 0x00000006UL +#define CKO_MECHANISM 0x00000007UL +#define CKO_OTP_KEY 0x00000008UL + +#define CKO_VENDOR_DEFINED 0x80000000UL + +typedef CK_OBJECT_CLASS CK_PTR CK_OBJECT_CLASS_PTR; + +/* CK_HW_FEATURE_TYPE is a value that identifies the hardware feature type + * of an object with CK_OBJECT_CLASS equal to CKO_HW_FEATURE. + */ +typedef CK_ULONG CK_HW_FEATURE_TYPE; + +/* The following hardware feature types are defined */ +#define CKH_MONOTONIC_COUNTER 0x00000001UL +#define CKH_CLOCK 0x00000002UL +#define CKH_USER_INTERFACE 0x00000003UL +#define CKH_VENDOR_DEFINED 0x80000000UL + +/* CK_KEY_TYPE is a value that identifies a key type */ +typedef CK_ULONG CK_KEY_TYPE; + +/* the following key types are defined: */ +#define CKK_RSA 0x00000000UL +#define CKK_DSA 0x00000001UL +#define CKK_DH 0x00000002UL +#define CKK_ECDSA 0x00000003UL /* Deprecated */ +#define CKK_EC 0x00000003UL +#define CKK_X9_42_DH 0x00000004UL +#define CKK_KEA 0x00000005UL +#define CKK_GENERIC_SECRET 0x00000010UL +#define CKK_RC2 0x00000011UL +#define CKK_RC4 0x00000012UL +#define CKK_DES 0x00000013UL +#define CKK_DES2 0x00000014UL +#define CKK_DES3 0x00000015UL +#define CKK_CAST 0x00000016UL +#define CKK_CAST3 0x00000017UL +#define CKK_CAST5 0x00000018UL /* Deprecated */ +#define CKK_CAST128 0x00000018UL +#define CKK_RC5 0x00000019UL +#define CKK_IDEA 0x0000001AUL +#define CKK_SKIPJACK 0x0000001BUL +#define CKK_BATON 0x0000001CUL +#define CKK_JUNIPER 0x0000001DUL +#define CKK_CDMF 0x0000001EUL +#define CKK_AES 0x0000001FUL +#define CKK_BLOWFISH 0x00000020UL +#define CKK_TWOFISH 0x00000021UL +#define CKK_SECURID 0x00000022UL +#define CKK_HOTP 0x00000023UL +#define CKK_ACTI 0x00000024UL +#define CKK_CAMELLIA 0x00000025UL +#define CKK_ARIA 0x00000026UL + +#define CKK_MD5_HMAC 0x00000027UL +#define CKK_SHA_1_HMAC 0x00000028UL +#define CKK_RIPEMD128_HMAC 0x00000029UL +#define CKK_RIPEMD160_HMAC 0x0000002AUL +#define CKK_SHA256_HMAC 0x0000002BUL +#define CKK_SHA384_HMAC 0x0000002CUL +#define CKK_SHA512_HMAC 0x0000002DUL +#define CKK_SHA224_HMAC 0x0000002EUL + +#define CKK_SEED 0x0000002FUL +#define CKK_GOSTR3410 0x00000030UL +#define CKK_GOSTR3411 0x00000031UL +#define CKK_GOST28147 0x00000032UL + + + +#define CKK_VENDOR_DEFINED 0x80000000UL + + +/* CK_CERTIFICATE_TYPE is a value that identifies a certificate + * type + */ +typedef CK_ULONG CK_CERTIFICATE_TYPE; + +#define CK_CERTIFICATE_CATEGORY_UNSPECIFIED 0UL +#define CK_CERTIFICATE_CATEGORY_TOKEN_USER 1UL +#define CK_CERTIFICATE_CATEGORY_AUTHORITY 2UL +#define CK_CERTIFICATE_CATEGORY_OTHER_ENTITY 3UL + +#define CK_SECURITY_DOMAIN_UNSPECIFIED 0UL +#define CK_SECURITY_DOMAIN_MANUFACTURER 1UL +#define CK_SECURITY_DOMAIN_OPERATOR 2UL +#define CK_SECURITY_DOMAIN_THIRD_PARTY 3UL + + +/* The following certificate types are defined: */ +#define CKC_X_509 0x00000000UL +#define CKC_X_509_ATTR_CERT 0x00000001UL +#define CKC_WTLS 0x00000002UL +#define CKC_VENDOR_DEFINED 0x80000000UL + + +/* CK_ATTRIBUTE_TYPE is a value that identifies an attribute + * type + */ +typedef CK_ULONG CK_ATTRIBUTE_TYPE; + +/* The CKF_ARRAY_ATTRIBUTE flag identifies an attribute which + * consists of an array of values. + */ +#define CKF_ARRAY_ATTRIBUTE 0x40000000UL + +/* The following OTP-related defines relate to the CKA_OTP_FORMAT attribute */ +#define CK_OTP_FORMAT_DECIMAL 0UL +#define CK_OTP_FORMAT_HEXADECIMAL 1UL +#define CK_OTP_FORMAT_ALPHANUMERIC 2UL +#define CK_OTP_FORMAT_BINARY 3UL + +/* The following OTP-related defines relate to the CKA_OTP_..._REQUIREMENT + * attributes + */ +#define CK_OTP_PARAM_IGNORED 0UL +#define CK_OTP_PARAM_OPTIONAL 1UL +#define CK_OTP_PARAM_MANDATORY 2UL + +/* The following attribute types are defined: */ +#define CKA_CLASS 0x00000000UL +#define CKA_TOKEN 0x00000001UL +#define CKA_PRIVATE 0x00000002UL +#define CKA_LABEL 0x00000003UL +#define CKA_APPLICATION 0x00000010UL +#define CKA_VALUE 0x00000011UL +#define CKA_OBJECT_ID 0x00000012UL +#define CKA_CERTIFICATE_TYPE 0x00000080UL +#define CKA_ISSUER 0x00000081UL +#define CKA_SERIAL_NUMBER 0x00000082UL +#define CKA_AC_ISSUER 0x00000083UL +#define CKA_OWNER 0x00000084UL +#define CKA_ATTR_TYPES 0x00000085UL +#define CKA_TRUSTED 0x00000086UL +#define CKA_CERTIFICATE_CATEGORY 0x00000087UL +#define CKA_JAVA_MIDP_SECURITY_DOMAIN 0x00000088UL +#define CKA_URL 0x00000089UL +#define CKA_HASH_OF_SUBJECT_PUBLIC_KEY 0x0000008AUL +#define CKA_HASH_OF_ISSUER_PUBLIC_KEY 0x0000008BUL +#define CKA_NAME_HASH_ALGORITHM 0x0000008CUL +#define CKA_CHECK_VALUE 0x00000090UL + +#define CKA_KEY_TYPE 0x00000100UL +#define CKA_SUBJECT 0x00000101UL +#define CKA_ID 0x00000102UL +#define CKA_SENSITIVE 0x00000103UL +#define CKA_ENCRYPT 0x00000104UL +#define CKA_DECRYPT 0x00000105UL +#define CKA_WRAP 0x00000106UL +#define CKA_UNWRAP 0x00000107UL +#define CKA_SIGN 0x00000108UL +#define CKA_SIGN_RECOVER 0x00000109UL +#define CKA_VERIFY 0x0000010AUL +#define CKA_VERIFY_RECOVER 0x0000010BUL +#define CKA_DERIVE 0x0000010CUL +#define CKA_START_DATE 0x00000110UL +#define CKA_END_DATE 0x00000111UL +#define CKA_MODULUS 0x00000120UL +#define CKA_MODULUS_BITS 0x00000121UL +#define CKA_PUBLIC_EXPONENT 0x00000122UL +#define CKA_PRIVATE_EXPONENT 0x00000123UL +#define CKA_PRIME_1 0x00000124UL +#define CKA_PRIME_2 0x00000125UL +#define CKA_EXPONENT_1 0x00000126UL +#define CKA_EXPONENT_2 0x00000127UL +#define CKA_COEFFICIENT 0x00000128UL +#define CKA_PUBLIC_KEY_INFO 0x00000129UL +#define CKA_PRIME 0x00000130UL +#define CKA_SUBPRIME 0x00000131UL +#define CKA_BASE 0x00000132UL + +#define CKA_PRIME_BITS 0x00000133UL +#define CKA_SUBPRIME_BITS 0x00000134UL +#define CKA_SUB_PRIME_BITS CKA_SUBPRIME_BITS + +#define CKA_VALUE_BITS 0x00000160UL +#define CKA_VALUE_LEN 0x00000161UL +#define CKA_EXTRACTABLE 0x00000162UL +#define CKA_LOCAL 0x00000163UL +#define CKA_NEVER_EXTRACTABLE 0x00000164UL +#define CKA_ALWAYS_SENSITIVE 0x00000165UL +#define CKA_KEY_GEN_MECHANISM 0x00000166UL + +#define CKA_MODIFIABLE 0x00000170UL +#define CKA_COPYABLE 0x00000171UL + +#define CKA_DESTROYABLE 0x00000172UL + +#define CKA_ECDSA_PARAMS 0x00000180UL /* Deprecated */ +#define CKA_EC_PARAMS 0x00000180UL + +#define CKA_EC_POINT 0x00000181UL + +#define CKA_SECONDARY_AUTH 0x00000200UL /* Deprecated */ +#define CKA_AUTH_PIN_FLAGS 0x00000201UL /* Deprecated */ + +#define CKA_ALWAYS_AUTHENTICATE 0x00000202UL + +#define CKA_WRAP_WITH_TRUSTED 0x00000210UL +#define CKA_WRAP_TEMPLATE (CKF_ARRAY_ATTRIBUTE|0x00000211UL) +#define CKA_UNWRAP_TEMPLATE (CKF_ARRAY_ATTRIBUTE|0x00000212UL) +#define CKA_DERIVE_TEMPLATE (CKF_ARRAY_ATTRIBUTE|0x00000213UL) + +#define CKA_OTP_FORMAT 0x00000220UL +#define CKA_OTP_LENGTH 0x00000221UL +#define CKA_OTP_TIME_INTERVAL 0x00000222UL +#define CKA_OTP_USER_FRIENDLY_MODE 0x00000223UL +#define CKA_OTP_CHALLENGE_REQUIREMENT 0x00000224UL +#define CKA_OTP_TIME_REQUIREMENT 0x00000225UL +#define CKA_OTP_COUNTER_REQUIREMENT 0x00000226UL +#define CKA_OTP_PIN_REQUIREMENT 0x00000227UL +#define CKA_OTP_COUNTER 0x0000022EUL +#define CKA_OTP_TIME 0x0000022FUL +#define CKA_OTP_USER_IDENTIFIER 0x0000022AUL +#define CKA_OTP_SERVICE_IDENTIFIER 0x0000022BUL +#define CKA_OTP_SERVICE_LOGO 0x0000022CUL +#define CKA_OTP_SERVICE_LOGO_TYPE 0x0000022DUL + +#define CKA_GOSTR3410_PARAMS 0x00000250UL +#define CKA_GOSTR3411_PARAMS 0x00000251UL +#define CKA_GOST28147_PARAMS 0x00000252UL + +#define CKA_HW_FEATURE_TYPE 0x00000300UL +#define CKA_RESET_ON_INIT 0x00000301UL +#define CKA_HAS_RESET 0x00000302UL + +#define CKA_PIXEL_X 0x00000400UL +#define CKA_PIXEL_Y 0x00000401UL +#define CKA_RESOLUTION 0x00000402UL +#define CKA_CHAR_ROWS 0x00000403UL +#define CKA_CHAR_COLUMNS 0x00000404UL +#define CKA_COLOR 0x00000405UL +#define CKA_BITS_PER_PIXEL 0x00000406UL +#define CKA_CHAR_SETS 0x00000480UL +#define CKA_ENCODING_METHODS 0x00000481UL +#define CKA_MIME_TYPES 0x00000482UL +#define CKA_MECHANISM_TYPE 0x00000500UL +#define CKA_REQUIRED_CMS_ATTRIBUTES 0x00000501UL +#define CKA_DEFAULT_CMS_ATTRIBUTES 0x00000502UL +#define CKA_SUPPORTED_CMS_ATTRIBUTES 0x00000503UL +#define CKA_ALLOWED_MECHANISMS (CKF_ARRAY_ATTRIBUTE|0x00000600UL) + +#define CKA_VENDOR_DEFINED 0x80000000UL + +/* CK_ATTRIBUTE is a structure that includes the type, length + * and value of an attribute + */ +typedef struct CK_ATTRIBUTE { + CK_ATTRIBUTE_TYPE type; + CK_VOID_PTR pValue; + CK_ULONG ulValueLen; /* in bytes */ +} CK_ATTRIBUTE; + +typedef CK_ATTRIBUTE CK_PTR CK_ATTRIBUTE_PTR; + +/* CK_DATE is a structure that defines a date */ +typedef struct CK_DATE{ + CK_CHAR year[4]; /* the year ("1900" - "9999") */ + CK_CHAR month[2]; /* the month ("01" - "12") */ + CK_CHAR day[2]; /* the day ("01" - "31") */ +} CK_DATE; + + +/* CK_MECHANISM_TYPE is a value that identifies a mechanism + * type + */ +typedef CK_ULONG CK_MECHANISM_TYPE; + +/* the following mechanism types are defined: */ +#define CKM_RSA_PKCS_KEY_PAIR_GEN 0x00000000UL +#define CKM_RSA_PKCS 0x00000001UL +#define CKM_RSA_9796 0x00000002UL +#define CKM_RSA_X_509 0x00000003UL + +#define CKM_MD2_RSA_PKCS 0x00000004UL +#define CKM_MD5_RSA_PKCS 0x00000005UL +#define CKM_SHA1_RSA_PKCS 0x00000006UL + +#define CKM_RIPEMD128_RSA_PKCS 0x00000007UL +#define CKM_RIPEMD160_RSA_PKCS 0x00000008UL +#define CKM_RSA_PKCS_OAEP 0x00000009UL + +#define CKM_RSA_X9_31_KEY_PAIR_GEN 0x0000000AUL +#define CKM_RSA_X9_31 0x0000000BUL +#define CKM_SHA1_RSA_X9_31 0x0000000CUL +#define CKM_RSA_PKCS_PSS 0x0000000DUL +#define CKM_SHA1_RSA_PKCS_PSS 0x0000000EUL + +#define CKM_DSA_KEY_PAIR_GEN 0x00000010UL +#define CKM_DSA 0x00000011UL +#define CKM_DSA_SHA1 0x00000012UL +#define CKM_DSA_SHA224 0x00000013UL +#define CKM_DSA_SHA256 0x00000014UL +#define CKM_DSA_SHA384 0x00000015UL +#define CKM_DSA_SHA512 0x00000016UL + +#define CKM_DH_PKCS_KEY_PAIR_GEN 0x00000020UL +#define CKM_DH_PKCS_DERIVE 0x00000021UL + +#define CKM_X9_42_DH_KEY_PAIR_GEN 0x00000030UL +#define CKM_X9_42_DH_DERIVE 0x00000031UL +#define CKM_X9_42_DH_HYBRID_DERIVE 0x00000032UL +#define CKM_X9_42_MQV_DERIVE 0x00000033UL + +#define CKM_SHA256_RSA_PKCS 0x00000040UL +#define CKM_SHA384_RSA_PKCS 0x00000041UL +#define CKM_SHA512_RSA_PKCS 0x00000042UL +#define CKM_SHA256_RSA_PKCS_PSS 0x00000043UL +#define CKM_SHA384_RSA_PKCS_PSS 0x00000044UL +#define CKM_SHA512_RSA_PKCS_PSS 0x00000045UL + +#define CKM_SHA224_RSA_PKCS 0x00000046UL +#define CKM_SHA224_RSA_PKCS_PSS 0x00000047UL + +#define CKM_SHA512_224 0x00000048UL +#define CKM_SHA512_224_HMAC 0x00000049UL +#define CKM_SHA512_224_HMAC_GENERAL 0x0000004AUL +#define CKM_SHA512_224_KEY_DERIVATION 0x0000004BUL +#define CKM_SHA512_256 0x0000004CUL +#define CKM_SHA512_256_HMAC 0x0000004DUL +#define CKM_SHA512_256_HMAC_GENERAL 0x0000004EUL +#define CKM_SHA512_256_KEY_DERIVATION 0x0000004FUL + +#define CKM_SHA512_T 0x00000050UL +#define CKM_SHA512_T_HMAC 0x00000051UL +#define CKM_SHA512_T_HMAC_GENERAL 0x00000052UL +#define CKM_SHA512_T_KEY_DERIVATION 0x00000053UL + +#define CKM_RC2_KEY_GEN 0x00000100UL +#define CKM_RC2_ECB 0x00000101UL +#define CKM_RC2_CBC 0x00000102UL +#define CKM_RC2_MAC 0x00000103UL + +#define CKM_RC2_MAC_GENERAL 0x00000104UL +#define CKM_RC2_CBC_PAD 0x00000105UL + +#define CKM_RC4_KEY_GEN 0x00000110UL +#define CKM_RC4 0x00000111UL +#define CKM_DES_KEY_GEN 0x00000120UL +#define CKM_DES_ECB 0x00000121UL +#define CKM_DES_CBC 0x00000122UL +#define CKM_DES_MAC 0x00000123UL + +#define CKM_DES_MAC_GENERAL 0x00000124UL +#define CKM_DES_CBC_PAD 0x00000125UL + +#define CKM_DES2_KEY_GEN 0x00000130UL +#define CKM_DES3_KEY_GEN 0x00000131UL +#define CKM_DES3_ECB 0x00000132UL +#define CKM_DES3_CBC 0x00000133UL +#define CKM_DES3_MAC 0x00000134UL + +#define CKM_DES3_MAC_GENERAL 0x00000135UL +#define CKM_DES3_CBC_PAD 0x00000136UL +#define CKM_DES3_CMAC_GENERAL 0x00000137UL +#define CKM_DES3_CMAC 0x00000138UL +#define CKM_CDMF_KEY_GEN 0x00000140UL +#define CKM_CDMF_ECB 0x00000141UL +#define CKM_CDMF_CBC 0x00000142UL +#define CKM_CDMF_MAC 0x00000143UL +#define CKM_CDMF_MAC_GENERAL 0x00000144UL +#define CKM_CDMF_CBC_PAD 0x00000145UL + +#define CKM_DES_OFB64 0x00000150UL +#define CKM_DES_OFB8 0x00000151UL +#define CKM_DES_CFB64 0x00000152UL +#define CKM_DES_CFB8 0x00000153UL + +#define CKM_MD2 0x00000200UL + +#define CKM_MD2_HMAC 0x00000201UL +#define CKM_MD2_HMAC_GENERAL 0x00000202UL + +#define CKM_MD5 0x00000210UL + +#define CKM_MD5_HMAC 0x00000211UL +#define CKM_MD5_HMAC_GENERAL 0x00000212UL + +#define CKM_SHA_1 0x00000220UL + +#define CKM_SHA_1_HMAC 0x00000221UL +#define CKM_SHA_1_HMAC_GENERAL 0x00000222UL + +#define CKM_RIPEMD128 0x00000230UL +#define CKM_RIPEMD128_HMAC 0x00000231UL +#define CKM_RIPEMD128_HMAC_GENERAL 0x00000232UL +#define CKM_RIPEMD160 0x00000240UL +#define CKM_RIPEMD160_HMAC 0x00000241UL +#define CKM_RIPEMD160_HMAC_GENERAL 0x00000242UL + +#define CKM_SHA256 0x00000250UL +#define CKM_SHA256_HMAC 0x00000251UL +#define CKM_SHA256_HMAC_GENERAL 0x00000252UL +#define CKM_SHA224 0x00000255UL +#define CKM_SHA224_HMAC 0x00000256UL +#define CKM_SHA224_HMAC_GENERAL 0x00000257UL +#define CKM_SHA384 0x00000260UL +#define CKM_SHA384_HMAC 0x00000261UL +#define CKM_SHA384_HMAC_GENERAL 0x00000262UL +#define CKM_SHA512 0x00000270UL +#define CKM_SHA512_HMAC 0x00000271UL +#define CKM_SHA512_HMAC_GENERAL 0x00000272UL +#define CKM_SECURID_KEY_GEN 0x00000280UL +#define CKM_SECURID 0x00000282UL +#define CKM_HOTP_KEY_GEN 0x00000290UL +#define CKM_HOTP 0x00000291UL +#define CKM_ACTI 0x000002A0UL +#define CKM_ACTI_KEY_GEN 0x000002A1UL + +#define CKM_CAST_KEY_GEN 0x00000300UL +#define CKM_CAST_ECB 0x00000301UL +#define CKM_CAST_CBC 0x00000302UL +#define CKM_CAST_MAC 0x00000303UL +#define CKM_CAST_MAC_GENERAL 0x00000304UL +#define CKM_CAST_CBC_PAD 0x00000305UL +#define CKM_CAST3_KEY_GEN 0x00000310UL +#define CKM_CAST3_ECB 0x00000311UL +#define CKM_CAST3_CBC 0x00000312UL +#define CKM_CAST3_MAC 0x00000313UL +#define CKM_CAST3_MAC_GENERAL 0x00000314UL +#define CKM_CAST3_CBC_PAD 0x00000315UL +/* Note that CAST128 and CAST5 are the same algorithm */ +#define CKM_CAST5_KEY_GEN 0x00000320UL +#define CKM_CAST128_KEY_GEN 0x00000320UL +#define CKM_CAST5_ECB 0x00000321UL +#define CKM_CAST128_ECB 0x00000321UL +#define CKM_CAST5_CBC 0x00000322UL /* Deprecated */ +#define CKM_CAST128_CBC 0x00000322UL +#define CKM_CAST5_MAC 0x00000323UL /* Deprecated */ +#define CKM_CAST128_MAC 0x00000323UL +#define CKM_CAST5_MAC_GENERAL 0x00000324UL /* Deprecated */ +#define CKM_CAST128_MAC_GENERAL 0x00000324UL +#define CKM_CAST5_CBC_PAD 0x00000325UL /* Deprecated */ +#define CKM_CAST128_CBC_PAD 0x00000325UL +#define CKM_RC5_KEY_GEN 0x00000330UL +#define CKM_RC5_ECB 0x00000331UL +#define CKM_RC5_CBC 0x00000332UL +#define CKM_RC5_MAC 0x00000333UL +#define CKM_RC5_MAC_GENERAL 0x00000334UL +#define CKM_RC5_CBC_PAD 0x00000335UL +#define CKM_IDEA_KEY_GEN 0x00000340UL +#define CKM_IDEA_ECB 0x00000341UL +#define CKM_IDEA_CBC 0x00000342UL +#define CKM_IDEA_MAC 0x00000343UL +#define CKM_IDEA_MAC_GENERAL 0x00000344UL +#define CKM_IDEA_CBC_PAD 0x00000345UL +#define CKM_GENERIC_SECRET_KEY_GEN 0x00000350UL +#define CKM_CONCATENATE_BASE_AND_KEY 0x00000360UL +#define CKM_CONCATENATE_BASE_AND_DATA 0x00000362UL +#define CKM_CONCATENATE_DATA_AND_BASE 0x00000363UL +#define CKM_XOR_BASE_AND_DATA 0x00000364UL +#define CKM_EXTRACT_KEY_FROM_KEY 0x00000365UL +#define CKM_SSL3_PRE_MASTER_KEY_GEN 0x00000370UL +#define CKM_SSL3_MASTER_KEY_DERIVE 0x00000371UL +#define CKM_SSL3_KEY_AND_MAC_DERIVE 0x00000372UL + +#define CKM_SSL3_MASTER_KEY_DERIVE_DH 0x00000373UL +#define CKM_TLS_PRE_MASTER_KEY_GEN 0x00000374UL +#define CKM_TLS_MASTER_KEY_DERIVE 0x00000375UL +#define CKM_TLS_KEY_AND_MAC_DERIVE 0x00000376UL +#define CKM_TLS_MASTER_KEY_DERIVE_DH 0x00000377UL + +#define CKM_TLS_PRF 0x00000378UL + +#define CKM_SSL3_MD5_MAC 0x00000380UL +#define CKM_SSL3_SHA1_MAC 0x00000381UL +#define CKM_MD5_KEY_DERIVATION 0x00000390UL +#define CKM_MD2_KEY_DERIVATION 0x00000391UL +#define CKM_SHA1_KEY_DERIVATION 0x00000392UL + +#define CKM_SHA256_KEY_DERIVATION 0x00000393UL +#define CKM_SHA384_KEY_DERIVATION 0x00000394UL +#define CKM_SHA512_KEY_DERIVATION 0x00000395UL +#define CKM_SHA224_KEY_DERIVATION 0x00000396UL + +#define CKM_PBE_MD2_DES_CBC 0x000003A0UL +#define CKM_PBE_MD5_DES_CBC 0x000003A1UL +#define CKM_PBE_MD5_CAST_CBC 0x000003A2UL +#define CKM_PBE_MD5_CAST3_CBC 0x000003A3UL +#define CKM_PBE_MD5_CAST5_CBC 0x000003A4UL /* Deprecated */ +#define CKM_PBE_MD5_CAST128_CBC 0x000003A4UL +#define CKM_PBE_SHA1_CAST5_CBC 0x000003A5UL /* Deprecated */ +#define CKM_PBE_SHA1_CAST128_CBC 0x000003A5UL +#define CKM_PBE_SHA1_RC4_128 0x000003A6UL +#define CKM_PBE_SHA1_RC4_40 0x000003A7UL +#define CKM_PBE_SHA1_DES3_EDE_CBC 0x000003A8UL +#define CKM_PBE_SHA1_DES2_EDE_CBC 0x000003A9UL +#define CKM_PBE_SHA1_RC2_128_CBC 0x000003AAUL +#define CKM_PBE_SHA1_RC2_40_CBC 0x000003ABUL + +#define CKM_PKCS5_PBKD2 0x000003B0UL + +#define CKM_PBA_SHA1_WITH_SHA1_HMAC 0x000003C0UL + +#define CKM_WTLS_PRE_MASTER_KEY_GEN 0x000003D0UL +#define CKM_WTLS_MASTER_KEY_DERIVE 0x000003D1UL +#define CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC 0x000003D2UL +#define CKM_WTLS_PRF 0x000003D3UL +#define CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE 0x000003D4UL +#define CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE 0x000003D5UL + +#define CKM_TLS10_MAC_SERVER 0x000003D6UL +#define CKM_TLS10_MAC_CLIENT 0x000003D7UL +#define CKM_TLS12_MAC 0x000003D8UL +#define CKM_TLS12_KDF 0x000003D9UL +#define CKM_TLS12_MASTER_KEY_DERIVE 0x000003E0UL +#define CKM_TLS12_KEY_AND_MAC_DERIVE 0x000003E1UL +#define CKM_TLS12_MASTER_KEY_DERIVE_DH 0x000003E2UL +#define CKM_TLS12_KEY_SAFE_DERIVE 0x000003E3UL +#define CKM_TLS_MAC 0x000003E4UL +#define CKM_TLS_KDF 0x000003E5UL + +#define CKM_KEY_WRAP_LYNKS 0x00000400UL +#define CKM_KEY_WRAP_SET_OAEP 0x00000401UL + +#define CKM_CMS_SIG 0x00000500UL +#define CKM_KIP_DERIVE 0x00000510UL +#define CKM_KIP_WRAP 0x00000511UL +#define CKM_KIP_MAC 0x00000512UL + +#define CKM_CAMELLIA_KEY_GEN 0x00000550UL +#define CKM_CAMELLIA_ECB 0x00000551UL +#define CKM_CAMELLIA_CBC 0x00000552UL +#define CKM_CAMELLIA_MAC 0x00000553UL +#define CKM_CAMELLIA_MAC_GENERAL 0x00000554UL +#define CKM_CAMELLIA_CBC_PAD 0x00000555UL +#define CKM_CAMELLIA_ECB_ENCRYPT_DATA 0x00000556UL +#define CKM_CAMELLIA_CBC_ENCRYPT_DATA 0x00000557UL +#define CKM_CAMELLIA_CTR 0x00000558UL + +#define CKM_ARIA_KEY_GEN 0x00000560UL +#define CKM_ARIA_ECB 0x00000561UL +#define CKM_ARIA_CBC 0x00000562UL +#define CKM_ARIA_MAC 0x00000563UL +#define CKM_ARIA_MAC_GENERAL 0x00000564UL +#define CKM_ARIA_CBC_PAD 0x00000565UL +#define CKM_ARIA_ECB_ENCRYPT_DATA 0x00000566UL +#define CKM_ARIA_CBC_ENCRYPT_DATA 0x00000567UL + +#define CKM_SEED_KEY_GEN 0x00000650UL +#define CKM_SEED_ECB 0x00000651UL +#define CKM_SEED_CBC 0x00000652UL +#define CKM_SEED_MAC 0x00000653UL +#define CKM_SEED_MAC_GENERAL 0x00000654UL +#define CKM_SEED_CBC_PAD 0x00000655UL +#define CKM_SEED_ECB_ENCRYPT_DATA 0x00000656UL +#define CKM_SEED_CBC_ENCRYPT_DATA 0x00000657UL + +#define CKM_SKIPJACK_KEY_GEN 0x00001000UL +#define CKM_SKIPJACK_ECB64 0x00001001UL +#define CKM_SKIPJACK_CBC64 0x00001002UL +#define CKM_SKIPJACK_OFB64 0x00001003UL +#define CKM_SKIPJACK_CFB64 0x00001004UL +#define CKM_SKIPJACK_CFB32 0x00001005UL +#define CKM_SKIPJACK_CFB16 0x00001006UL +#define CKM_SKIPJACK_CFB8 0x00001007UL +#define CKM_SKIPJACK_WRAP 0x00001008UL +#define CKM_SKIPJACK_PRIVATE_WRAP 0x00001009UL +#define CKM_SKIPJACK_RELAYX 0x0000100aUL +#define CKM_KEA_KEY_PAIR_GEN 0x00001010UL +#define CKM_KEA_KEY_DERIVE 0x00001011UL +#define CKM_KEA_DERIVE 0x00001012UL +#define CKM_FORTEZZA_TIMESTAMP 0x00001020UL +#define CKM_BATON_KEY_GEN 0x00001030UL +#define CKM_BATON_ECB128 0x00001031UL +#define CKM_BATON_ECB96 0x00001032UL +#define CKM_BATON_CBC128 0x00001033UL +#define CKM_BATON_COUNTER 0x00001034UL +#define CKM_BATON_SHUFFLE 0x00001035UL +#define CKM_BATON_WRAP 0x00001036UL + +#define CKM_ECDSA_KEY_PAIR_GEN 0x00001040UL /* Deprecated */ +#define CKM_EC_KEY_PAIR_GEN 0x00001040UL + +#define CKM_ECDSA 0x00001041UL +#define CKM_ECDSA_SHA1 0x00001042UL +#define CKM_ECDSA_SHA224 0x00001043UL +#define CKM_ECDSA_SHA256 0x00001044UL +#define CKM_ECDSA_SHA384 0x00001045UL +#define CKM_ECDSA_SHA512 0x00001046UL + +#define CKM_ECDH1_DERIVE 0x00001050UL +#define CKM_ECDH1_COFACTOR_DERIVE 0x00001051UL +#define CKM_ECMQV_DERIVE 0x00001052UL + +#define CKM_ECDH_AES_KEY_WRAP 0x00001053UL +#define CKM_RSA_AES_KEY_WRAP 0x00001054UL + +#define CKM_JUNIPER_KEY_GEN 0x00001060UL +#define CKM_JUNIPER_ECB128 0x00001061UL +#define CKM_JUNIPER_CBC128 0x00001062UL +#define CKM_JUNIPER_COUNTER 0x00001063UL +#define CKM_JUNIPER_SHUFFLE 0x00001064UL +#define CKM_JUNIPER_WRAP 0x00001065UL +#define CKM_FASTHASH 0x00001070UL + +#define CKM_AES_KEY_GEN 0x00001080UL +#define CKM_AES_ECB 0x00001081UL +#define CKM_AES_CBC 0x00001082UL +#define CKM_AES_MAC 0x00001083UL +#define CKM_AES_MAC_GENERAL 0x00001084UL +#define CKM_AES_CBC_PAD 0x00001085UL +#define CKM_AES_CTR 0x00001086UL +#define CKM_AES_GCM 0x00001087UL +#define CKM_AES_CCM 0x00001088UL +#define CKM_AES_CTS 0x00001089UL +#define CKM_AES_CMAC 0x0000108AUL +#define CKM_AES_CMAC_GENERAL 0x0000108BUL + +#define CKM_AES_XCBC_MAC 0x0000108CUL +#define CKM_AES_XCBC_MAC_96 0x0000108DUL +#define CKM_AES_GMAC 0x0000108EUL + +#define CKM_BLOWFISH_KEY_GEN 0x00001090UL +#define CKM_BLOWFISH_CBC 0x00001091UL +#define CKM_TWOFISH_KEY_GEN 0x00001092UL +#define CKM_TWOFISH_CBC 0x00001093UL +#define CKM_BLOWFISH_CBC_PAD 0x00001094UL +#define CKM_TWOFISH_CBC_PAD 0x00001095UL + +#define CKM_DES_ECB_ENCRYPT_DATA 0x00001100UL +#define CKM_DES_CBC_ENCRYPT_DATA 0x00001101UL +#define CKM_DES3_ECB_ENCRYPT_DATA 0x00001102UL +#define CKM_DES3_CBC_ENCRYPT_DATA 0x00001103UL +#define CKM_AES_ECB_ENCRYPT_DATA 0x00001104UL +#define CKM_AES_CBC_ENCRYPT_DATA 0x00001105UL + +#define CKM_GOSTR3410_KEY_PAIR_GEN 0x00001200UL +#define CKM_GOSTR3410 0x00001201UL +#define CKM_GOSTR3410_WITH_GOSTR3411 0x00001202UL +#define CKM_GOSTR3410_KEY_WRAP 0x00001203UL +#define CKM_GOSTR3410_DERIVE 0x00001204UL +#define CKM_GOSTR3411 0x00001210UL +#define CKM_GOSTR3411_HMAC 0x00001211UL +#define CKM_GOST28147_KEY_GEN 0x00001220UL +#define CKM_GOST28147_ECB 0x00001221UL +#define CKM_GOST28147 0x00001222UL +#define CKM_GOST28147_MAC 0x00001223UL +#define CKM_GOST28147_KEY_WRAP 0x00001224UL + +#define CKM_DSA_PARAMETER_GEN 0x00002000UL +#define CKM_DH_PKCS_PARAMETER_GEN 0x00002001UL +#define CKM_X9_42_DH_PARAMETER_GEN 0x00002002UL +#define CKM_DSA_PROBABLISTIC_PARAMETER_GEN 0x00002003UL +#define CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN 0x00002004UL + +#define CKM_AES_OFB 0x00002104UL +#define CKM_AES_CFB64 0x00002105UL +#define CKM_AES_CFB8 0x00002106UL +#define CKM_AES_CFB128 0x00002107UL + +#define CKM_AES_CFB1 0x00002108UL +#define CKM_AES_KEY_WRAP 0x00002109UL /* WAS: 0x00001090 */ +#define CKM_AES_KEY_WRAP_PAD 0x0000210AUL /* WAS: 0x00001091 */ + +#define CKM_RSA_PKCS_TPM_1_1 0x00004001UL +#define CKM_RSA_PKCS_OAEP_TPM_1_1 0x00004002UL + +#define CKM_VENDOR_DEFINED 0x80000000UL + +typedef CK_MECHANISM_TYPE CK_PTR CK_MECHANISM_TYPE_PTR; + + +/* CK_MECHANISM is a structure that specifies a particular + * mechanism + */ +typedef struct CK_MECHANISM { + CK_MECHANISM_TYPE mechanism; + CK_VOID_PTR pParameter; + CK_ULONG ulParameterLen; /* in bytes */ +} CK_MECHANISM; + +typedef CK_MECHANISM CK_PTR CK_MECHANISM_PTR; + + +/* CK_MECHANISM_INFO provides information about a particular + * mechanism + */ +typedef struct CK_MECHANISM_INFO { + CK_ULONG ulMinKeySize; + CK_ULONG ulMaxKeySize; + CK_FLAGS flags; +} CK_MECHANISM_INFO; + +/* The flags are defined as follows: + * Bit Flag Mask Meaning */ +#define CKF_HW 0x00000001UL /* performed by HW */ + +/* Specify whether or not a mechanism can be used for a particular task */ +#define CKF_ENCRYPT 0x00000100UL +#define CKF_DECRYPT 0x00000200UL +#define CKF_DIGEST 0x00000400UL +#define CKF_SIGN 0x00000800UL +#define CKF_SIGN_RECOVER 0x00001000UL +#define CKF_VERIFY 0x00002000UL +#define CKF_VERIFY_RECOVER 0x00004000UL +#define CKF_GENERATE 0x00008000UL +#define CKF_GENERATE_KEY_PAIR 0x00010000UL +#define CKF_WRAP 0x00020000UL +#define CKF_UNWRAP 0x00040000UL +#define CKF_DERIVE 0x00080000UL + +/* Describe a token's EC capabilities not available in mechanism + * information. + */ +#define CKF_EC_F_P 0x00100000UL +#define CKF_EC_F_2M 0x00200000UL +#define CKF_EC_ECPARAMETERS 0x00400000UL +#define CKF_EC_NAMEDCURVE 0x00800000UL +#define CKF_EC_UNCOMPRESS 0x01000000UL +#define CKF_EC_COMPRESS 0x02000000UL + +#define CKF_EXTENSION 0x80000000UL + +typedef CK_MECHANISM_INFO CK_PTR CK_MECHANISM_INFO_PTR; + +/* CK_RV is a value that identifies the return value of a + * Cryptoki function + */ +typedef CK_ULONG CK_RV; + +#define CKR_OK 0x00000000UL +#define CKR_CANCEL 0x00000001UL +#define CKR_HOST_MEMORY 0x00000002UL +#define CKR_SLOT_ID_INVALID 0x00000003UL + +#define CKR_GENERAL_ERROR 0x00000005UL +#define CKR_FUNCTION_FAILED 0x00000006UL + +#define CKR_ARGUMENTS_BAD 0x00000007UL +#define CKR_NO_EVENT 0x00000008UL +#define CKR_NEED_TO_CREATE_THREADS 0x00000009UL +#define CKR_CANT_LOCK 0x0000000AUL + +#define CKR_ATTRIBUTE_READ_ONLY 0x00000010UL +#define CKR_ATTRIBUTE_SENSITIVE 0x00000011UL +#define CKR_ATTRIBUTE_TYPE_INVALID 0x00000012UL +#define CKR_ATTRIBUTE_VALUE_INVALID 0x00000013UL + +#define CKR_ACTION_PROHIBITED 0x0000001BUL + +#define CKR_DATA_INVALID 0x00000020UL +#define CKR_DATA_LEN_RANGE 0x00000021UL +#define CKR_DEVICE_ERROR 0x00000030UL +#define CKR_DEVICE_MEMORY 0x00000031UL +#define CKR_DEVICE_REMOVED 0x00000032UL +#define CKR_ENCRYPTED_DATA_INVALID 0x00000040UL +#define CKR_ENCRYPTED_DATA_LEN_RANGE 0x00000041UL +#define CKR_FUNCTION_CANCELED 0x00000050UL +#define CKR_FUNCTION_NOT_PARALLEL 0x00000051UL + +#define CKR_FUNCTION_NOT_SUPPORTED 0x00000054UL + +#define CKR_KEY_HANDLE_INVALID 0x00000060UL + +#define CKR_KEY_SIZE_RANGE 0x00000062UL +#define CKR_KEY_TYPE_INCONSISTENT 0x00000063UL + +#define CKR_KEY_NOT_NEEDED 0x00000064UL +#define CKR_KEY_CHANGED 0x00000065UL +#define CKR_KEY_NEEDED 0x00000066UL +#define CKR_KEY_INDIGESTIBLE 0x00000067UL +#define CKR_KEY_FUNCTION_NOT_PERMITTED 0x00000068UL +#define CKR_KEY_NOT_WRAPPABLE 0x00000069UL +#define CKR_KEY_UNEXTRACTABLE 0x0000006AUL + +#define CKR_MECHANISM_INVALID 0x00000070UL +#define CKR_MECHANISM_PARAM_INVALID 0x00000071UL + +#define CKR_OBJECT_HANDLE_INVALID 0x00000082UL +#define CKR_OPERATION_ACTIVE 0x00000090UL +#define CKR_OPERATION_NOT_INITIALIZED 0x00000091UL +#define CKR_PIN_INCORRECT 0x000000A0UL +#define CKR_PIN_INVALID 0x000000A1UL +#define CKR_PIN_LEN_RANGE 0x000000A2UL + +#define CKR_PIN_EXPIRED 0x000000A3UL +#define CKR_PIN_LOCKED 0x000000A4UL + +#define CKR_SESSION_CLOSED 0x000000B0UL +#define CKR_SESSION_COUNT 0x000000B1UL +#define CKR_SESSION_HANDLE_INVALID 0x000000B3UL +#define CKR_SESSION_PARALLEL_NOT_SUPPORTED 0x000000B4UL +#define CKR_SESSION_READ_ONLY 0x000000B5UL +#define CKR_SESSION_EXISTS 0x000000B6UL + +#define CKR_SESSION_READ_ONLY_EXISTS 0x000000B7UL +#define CKR_SESSION_READ_WRITE_SO_EXISTS 0x000000B8UL + +#define CKR_SIGNATURE_INVALID 0x000000C0UL +#define CKR_SIGNATURE_LEN_RANGE 0x000000C1UL +#define CKR_TEMPLATE_INCOMPLETE 0x000000D0UL +#define CKR_TEMPLATE_INCONSISTENT 0x000000D1UL +#define CKR_TOKEN_NOT_PRESENT 0x000000E0UL +#define CKR_TOKEN_NOT_RECOGNIZED 0x000000E1UL +#define CKR_TOKEN_WRITE_PROTECTED 0x000000E2UL +#define CKR_UNWRAPPING_KEY_HANDLE_INVALID 0x000000F0UL +#define CKR_UNWRAPPING_KEY_SIZE_RANGE 0x000000F1UL +#define CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT 0x000000F2UL +#define CKR_USER_ALREADY_LOGGED_IN 0x00000100UL +#define CKR_USER_NOT_LOGGED_IN 0x00000101UL +#define CKR_USER_PIN_NOT_INITIALIZED 0x00000102UL +#define CKR_USER_TYPE_INVALID 0x00000103UL + +#define CKR_USER_ANOTHER_ALREADY_LOGGED_IN 0x00000104UL +#define CKR_USER_TOO_MANY_TYPES 0x00000105UL + +#define CKR_WRAPPED_KEY_INVALID 0x00000110UL +#define CKR_WRAPPED_KEY_LEN_RANGE 0x00000112UL +#define CKR_WRAPPING_KEY_HANDLE_INVALID 0x00000113UL +#define CKR_WRAPPING_KEY_SIZE_RANGE 0x00000114UL +#define CKR_WRAPPING_KEY_TYPE_INCONSISTENT 0x00000115UL +#define CKR_RANDOM_SEED_NOT_SUPPORTED 0x00000120UL + +#define CKR_RANDOM_NO_RNG 0x00000121UL + +#define CKR_DOMAIN_PARAMS_INVALID 0x00000130UL + +#define CKR_CURVE_NOT_SUPPORTED 0x00000140UL + +#define CKR_BUFFER_TOO_SMALL 0x00000150UL +#define CKR_SAVED_STATE_INVALID 0x00000160UL +#define CKR_INFORMATION_SENSITIVE 0x00000170UL +#define CKR_STATE_UNSAVEABLE 0x00000180UL + +#define CKR_CRYPTOKI_NOT_INITIALIZED 0x00000190UL +#define CKR_CRYPTOKI_ALREADY_INITIALIZED 0x00000191UL +#define CKR_MUTEX_BAD 0x000001A0UL +#define CKR_MUTEX_NOT_LOCKED 0x000001A1UL + +#define CKR_NEW_PIN_MODE 0x000001B0UL +#define CKR_NEXT_OTP 0x000001B1UL + +#define CKR_EXCEEDED_MAX_ITERATIONS 0x000001B5UL +#define CKR_FIPS_SELF_TEST_FAILED 0x000001B6UL +#define CKR_LIBRARY_LOAD_FAILED 0x000001B7UL +#define CKR_PIN_TOO_WEAK 0x000001B8UL +#define CKR_PUBLIC_KEY_INVALID 0x000001B9UL + +#define CKR_FUNCTION_REJECTED 0x00000200UL + +#define CKR_VENDOR_DEFINED 0x80000000UL + + +/* CK_NOTIFY is an application callback that processes events */ +typedef CK_CALLBACK_FUNCTION(CK_RV, CK_NOTIFY)( + CK_SESSION_HANDLE hSession, /* the session's handle */ + CK_NOTIFICATION event, + CK_VOID_PTR pApplication /* passed to C_OpenSession */ +); + + +/* CK_FUNCTION_LIST is a structure holding a Cryptoki spec + * version and pointers of appropriate types to all the + * Cryptoki functions + */ +typedef struct CK_FUNCTION_LIST CK_FUNCTION_LIST; + +typedef CK_FUNCTION_LIST CK_PTR CK_FUNCTION_LIST_PTR; + +typedef CK_FUNCTION_LIST_PTR CK_PTR CK_FUNCTION_LIST_PTR_PTR; + + +/* CK_CREATEMUTEX is an application callback for creating a + * mutex object + */ +typedef CK_CALLBACK_FUNCTION(CK_RV, CK_CREATEMUTEX)( + CK_VOID_PTR_PTR ppMutex /* location to receive ptr to mutex */ +); + + +/* CK_DESTROYMUTEX is an application callback for destroying a + * mutex object + */ +typedef CK_CALLBACK_FUNCTION(CK_RV, CK_DESTROYMUTEX)( + CK_VOID_PTR pMutex /* pointer to mutex */ +); + + +/* CK_LOCKMUTEX is an application callback for locking a mutex */ +typedef CK_CALLBACK_FUNCTION(CK_RV, CK_LOCKMUTEX)( + CK_VOID_PTR pMutex /* pointer to mutex */ +); + + +/* CK_UNLOCKMUTEX is an application callback for unlocking a + * mutex + */ +typedef CK_CALLBACK_FUNCTION(CK_RV, CK_UNLOCKMUTEX)( + CK_VOID_PTR pMutex /* pointer to mutex */ +); + + +/* CK_C_INITIALIZE_ARGS provides the optional arguments to + * C_Initialize + */ +typedef struct CK_C_INITIALIZE_ARGS { + CK_CREATEMUTEX CreateMutex; + CK_DESTROYMUTEX DestroyMutex; + CK_LOCKMUTEX LockMutex; + CK_UNLOCKMUTEX UnlockMutex; + CK_FLAGS flags; + CK_VOID_PTR pReserved; +} CK_C_INITIALIZE_ARGS; + +/* flags: bit flags that provide capabilities of the slot + * Bit Flag Mask Meaning + */ +#define CKF_LIBRARY_CANT_CREATE_OS_THREADS 0x00000001UL +#define CKF_OS_LOCKING_OK 0x00000002UL + +typedef CK_C_INITIALIZE_ARGS CK_PTR CK_C_INITIALIZE_ARGS_PTR; + + +/* additional flags for parameters to functions */ + +/* CKF_DONT_BLOCK is for the function C_WaitForSlotEvent */ +#define CKF_DONT_BLOCK 1 + +/* CK_RSA_PKCS_MGF_TYPE is used to indicate the Message + * Generation Function (MGF) applied to a message block when + * formatting a message block for the PKCS #1 OAEP encryption + * scheme. + */ +typedef CK_ULONG CK_RSA_PKCS_MGF_TYPE; + +typedef CK_RSA_PKCS_MGF_TYPE CK_PTR CK_RSA_PKCS_MGF_TYPE_PTR; + +/* The following MGFs are defined */ +#define CKG_MGF1_SHA1 0x00000001UL +#define CKG_MGF1_SHA256 0x00000002UL +#define CKG_MGF1_SHA384 0x00000003UL +#define CKG_MGF1_SHA512 0x00000004UL +#define CKG_MGF1_SHA224 0x00000005UL + +/* CK_RSA_PKCS_OAEP_SOURCE_TYPE is used to indicate the source + * of the encoding parameter when formatting a message block + * for the PKCS #1 OAEP encryption scheme. + */ +typedef CK_ULONG CK_RSA_PKCS_OAEP_SOURCE_TYPE; + +typedef CK_RSA_PKCS_OAEP_SOURCE_TYPE CK_PTR CK_RSA_PKCS_OAEP_SOURCE_TYPE_PTR; + +/* The following encoding parameter sources are defined */ +#define CKZ_DATA_SPECIFIED 0x00000001UL + +/* CK_RSA_PKCS_OAEP_PARAMS provides the parameters to the + * CKM_RSA_PKCS_OAEP mechanism. + */ +typedef struct CK_RSA_PKCS_OAEP_PARAMS { + CK_MECHANISM_TYPE hashAlg; + CK_RSA_PKCS_MGF_TYPE mgf; + CK_RSA_PKCS_OAEP_SOURCE_TYPE source; + CK_VOID_PTR pSourceData; + CK_ULONG ulSourceDataLen; +} CK_RSA_PKCS_OAEP_PARAMS; + +typedef CK_RSA_PKCS_OAEP_PARAMS CK_PTR CK_RSA_PKCS_OAEP_PARAMS_PTR; + +/* CK_RSA_PKCS_PSS_PARAMS provides the parameters to the + * CKM_RSA_PKCS_PSS mechanism(s). + */ +typedef struct CK_RSA_PKCS_PSS_PARAMS { + CK_MECHANISM_TYPE hashAlg; + CK_RSA_PKCS_MGF_TYPE mgf; + CK_ULONG sLen; +} CK_RSA_PKCS_PSS_PARAMS; + +typedef CK_RSA_PKCS_PSS_PARAMS CK_PTR CK_RSA_PKCS_PSS_PARAMS_PTR; + +typedef CK_ULONG CK_EC_KDF_TYPE; + +/* The following EC Key Derivation Functions are defined */ +#define CKD_NULL 0x00000001UL +#define CKD_SHA1_KDF 0x00000002UL + +/* The following X9.42 DH key derivation functions are defined */ +#define CKD_SHA1_KDF_ASN1 0x00000003UL +#define CKD_SHA1_KDF_CONCATENATE 0x00000004UL +#define CKD_SHA224_KDF 0x00000005UL +#define CKD_SHA256_KDF 0x00000006UL +#define CKD_SHA384_KDF 0x00000007UL +#define CKD_SHA512_KDF 0x00000008UL +#define CKD_CPDIVERSIFY_KDF 0x00000009UL + + +/* CK_ECDH1_DERIVE_PARAMS provides the parameters to the + * CKM_ECDH1_DERIVE and CKM_ECDH1_COFACTOR_DERIVE mechanisms, + * where each party contributes one key pair. + */ +typedef struct CK_ECDH1_DERIVE_PARAMS { + CK_EC_KDF_TYPE kdf; + CK_ULONG ulSharedDataLen; + CK_BYTE_PTR pSharedData; + CK_ULONG ulPublicDataLen; + CK_BYTE_PTR pPublicData; +} CK_ECDH1_DERIVE_PARAMS; + +typedef CK_ECDH1_DERIVE_PARAMS CK_PTR CK_ECDH1_DERIVE_PARAMS_PTR; + +/* + * CK_ECDH2_DERIVE_PARAMS provides the parameters to the + * CKM_ECMQV_DERIVE mechanism, where each party contributes two key pairs. + */ +typedef struct CK_ECDH2_DERIVE_PARAMS { + CK_EC_KDF_TYPE kdf; + CK_ULONG ulSharedDataLen; + CK_BYTE_PTR pSharedData; + CK_ULONG ulPublicDataLen; + CK_BYTE_PTR pPublicData; + CK_ULONG ulPrivateDataLen; + CK_OBJECT_HANDLE hPrivateData; + CK_ULONG ulPublicDataLen2; + CK_BYTE_PTR pPublicData2; +} CK_ECDH2_DERIVE_PARAMS; + +typedef CK_ECDH2_DERIVE_PARAMS CK_PTR CK_ECDH2_DERIVE_PARAMS_PTR; + +typedef struct CK_ECMQV_DERIVE_PARAMS { + CK_EC_KDF_TYPE kdf; + CK_ULONG ulSharedDataLen; + CK_BYTE_PTR pSharedData; + CK_ULONG ulPublicDataLen; + CK_BYTE_PTR pPublicData; + CK_ULONG ulPrivateDataLen; + CK_OBJECT_HANDLE hPrivateData; + CK_ULONG ulPublicDataLen2; + CK_BYTE_PTR pPublicData2; + CK_OBJECT_HANDLE publicKey; +} CK_ECMQV_DERIVE_PARAMS; + +typedef CK_ECMQV_DERIVE_PARAMS CK_PTR CK_ECMQV_DERIVE_PARAMS_PTR; + +/* Typedefs and defines for the CKM_X9_42_DH_KEY_PAIR_GEN and the + * CKM_X9_42_DH_PARAMETER_GEN mechanisms + */ +typedef CK_ULONG CK_X9_42_DH_KDF_TYPE; +typedef CK_X9_42_DH_KDF_TYPE CK_PTR CK_X9_42_DH_KDF_TYPE_PTR; + +/* CK_X9_42_DH1_DERIVE_PARAMS provides the parameters to the + * CKM_X9_42_DH_DERIVE key derivation mechanism, where each party + * contributes one key pair + */ +typedef struct CK_X9_42_DH1_DERIVE_PARAMS { + CK_X9_42_DH_KDF_TYPE kdf; + CK_ULONG ulOtherInfoLen; + CK_BYTE_PTR pOtherInfo; + CK_ULONG ulPublicDataLen; + CK_BYTE_PTR pPublicData; +} CK_X9_42_DH1_DERIVE_PARAMS; + +typedef struct CK_X9_42_DH1_DERIVE_PARAMS CK_PTR CK_X9_42_DH1_DERIVE_PARAMS_PTR; + +/* CK_X9_42_DH2_DERIVE_PARAMS provides the parameters to the + * CKM_X9_42_DH_HYBRID_DERIVE and CKM_X9_42_MQV_DERIVE key derivation + * mechanisms, where each party contributes two key pairs + */ +typedef struct CK_X9_42_DH2_DERIVE_PARAMS { + CK_X9_42_DH_KDF_TYPE kdf; + CK_ULONG ulOtherInfoLen; + CK_BYTE_PTR pOtherInfo; + CK_ULONG ulPublicDataLen; + CK_BYTE_PTR pPublicData; + CK_ULONG ulPrivateDataLen; + CK_OBJECT_HANDLE hPrivateData; + CK_ULONG ulPublicDataLen2; + CK_BYTE_PTR pPublicData2; +} CK_X9_42_DH2_DERIVE_PARAMS; + +typedef CK_X9_42_DH2_DERIVE_PARAMS CK_PTR CK_X9_42_DH2_DERIVE_PARAMS_PTR; + +typedef struct CK_X9_42_MQV_DERIVE_PARAMS { + CK_X9_42_DH_KDF_TYPE kdf; + CK_ULONG ulOtherInfoLen; + CK_BYTE_PTR pOtherInfo; + CK_ULONG ulPublicDataLen; + CK_BYTE_PTR pPublicData; + CK_ULONG ulPrivateDataLen; + CK_OBJECT_HANDLE hPrivateData; + CK_ULONG ulPublicDataLen2; + CK_BYTE_PTR pPublicData2; + CK_OBJECT_HANDLE publicKey; +} CK_X9_42_MQV_DERIVE_PARAMS; + +typedef CK_X9_42_MQV_DERIVE_PARAMS CK_PTR CK_X9_42_MQV_DERIVE_PARAMS_PTR; + +/* CK_KEA_DERIVE_PARAMS provides the parameters to the + * CKM_KEA_DERIVE mechanism + */ +typedef struct CK_KEA_DERIVE_PARAMS { + CK_BBOOL isSender; + CK_ULONG ulRandomLen; + CK_BYTE_PTR pRandomA; + CK_BYTE_PTR pRandomB; + CK_ULONG ulPublicDataLen; + CK_BYTE_PTR pPublicData; +} CK_KEA_DERIVE_PARAMS; + +typedef CK_KEA_DERIVE_PARAMS CK_PTR CK_KEA_DERIVE_PARAMS_PTR; + + +/* CK_RC2_PARAMS provides the parameters to the CKM_RC2_ECB and + * CKM_RC2_MAC mechanisms. An instance of CK_RC2_PARAMS just + * holds the effective keysize + */ +typedef CK_ULONG CK_RC2_PARAMS; + +typedef CK_RC2_PARAMS CK_PTR CK_RC2_PARAMS_PTR; + + +/* CK_RC2_CBC_PARAMS provides the parameters to the CKM_RC2_CBC + * mechanism + */ +typedef struct CK_RC2_CBC_PARAMS { + CK_ULONG ulEffectiveBits; /* effective bits (1-1024) */ + CK_BYTE iv[8]; /* IV for CBC mode */ +} CK_RC2_CBC_PARAMS; + +typedef CK_RC2_CBC_PARAMS CK_PTR CK_RC2_CBC_PARAMS_PTR; + + +/* CK_RC2_MAC_GENERAL_PARAMS provides the parameters for the + * CKM_RC2_MAC_GENERAL mechanism + */ +typedef struct CK_RC2_MAC_GENERAL_PARAMS { + CK_ULONG ulEffectiveBits; /* effective bits (1-1024) */ + CK_ULONG ulMacLength; /* Length of MAC in bytes */ +} CK_RC2_MAC_GENERAL_PARAMS; + +typedef CK_RC2_MAC_GENERAL_PARAMS CK_PTR \ + CK_RC2_MAC_GENERAL_PARAMS_PTR; + + +/* CK_RC5_PARAMS provides the parameters to the CKM_RC5_ECB and + * CKM_RC5_MAC mechanisms + */ +typedef struct CK_RC5_PARAMS { + CK_ULONG ulWordsize; /* wordsize in bits */ + CK_ULONG ulRounds; /* number of rounds */ +} CK_RC5_PARAMS; + +typedef CK_RC5_PARAMS CK_PTR CK_RC5_PARAMS_PTR; + + +/* CK_RC5_CBC_PARAMS provides the parameters to the CKM_RC5_CBC + * mechanism + */ +typedef struct CK_RC5_CBC_PARAMS { + CK_ULONG ulWordsize; /* wordsize in bits */ + CK_ULONG ulRounds; /* number of rounds */ + CK_BYTE_PTR pIv; /* pointer to IV */ + CK_ULONG ulIvLen; /* length of IV in bytes */ +} CK_RC5_CBC_PARAMS; + +typedef CK_RC5_CBC_PARAMS CK_PTR CK_RC5_CBC_PARAMS_PTR; + + +/* CK_RC5_MAC_GENERAL_PARAMS provides the parameters for the + * CKM_RC5_MAC_GENERAL mechanism + */ +typedef struct CK_RC5_MAC_GENERAL_PARAMS { + CK_ULONG ulWordsize; /* wordsize in bits */ + CK_ULONG ulRounds; /* number of rounds */ + CK_ULONG ulMacLength; /* Length of MAC in bytes */ +} CK_RC5_MAC_GENERAL_PARAMS; + +typedef CK_RC5_MAC_GENERAL_PARAMS CK_PTR \ + CK_RC5_MAC_GENERAL_PARAMS_PTR; + +/* CK_MAC_GENERAL_PARAMS provides the parameters to most block + * ciphers' MAC_GENERAL mechanisms. Its value is the length of + * the MAC + */ +typedef CK_ULONG CK_MAC_GENERAL_PARAMS; + +typedef CK_MAC_GENERAL_PARAMS CK_PTR CK_MAC_GENERAL_PARAMS_PTR; + +typedef struct CK_DES_CBC_ENCRYPT_DATA_PARAMS { + CK_BYTE iv[8]; + CK_BYTE_PTR pData; + CK_ULONG length; +} CK_DES_CBC_ENCRYPT_DATA_PARAMS; + +typedef CK_DES_CBC_ENCRYPT_DATA_PARAMS CK_PTR CK_DES_CBC_ENCRYPT_DATA_PARAMS_PTR; + +typedef struct CK_AES_CBC_ENCRYPT_DATA_PARAMS { + CK_BYTE iv[16]; + CK_BYTE_PTR pData; + CK_ULONG length; +} CK_AES_CBC_ENCRYPT_DATA_PARAMS; + +typedef CK_AES_CBC_ENCRYPT_DATA_PARAMS CK_PTR CK_AES_CBC_ENCRYPT_DATA_PARAMS_PTR; + +/* CK_SKIPJACK_PRIVATE_WRAP_PARAMS provides the parameters to the + * CKM_SKIPJACK_PRIVATE_WRAP mechanism + */ +typedef struct CK_SKIPJACK_PRIVATE_WRAP_PARAMS { + CK_ULONG ulPasswordLen; + CK_BYTE_PTR pPassword; + CK_ULONG ulPublicDataLen; + CK_BYTE_PTR pPublicData; + CK_ULONG ulPAndGLen; + CK_ULONG ulQLen; + CK_ULONG ulRandomLen; + CK_BYTE_PTR pRandomA; + CK_BYTE_PTR pPrimeP; + CK_BYTE_PTR pBaseG; + CK_BYTE_PTR pSubprimeQ; +} CK_SKIPJACK_PRIVATE_WRAP_PARAMS; + +typedef CK_SKIPJACK_PRIVATE_WRAP_PARAMS CK_PTR \ + CK_SKIPJACK_PRIVATE_WRAP_PARAMS_PTR; + + +/* CK_SKIPJACK_RELAYX_PARAMS provides the parameters to the + * CKM_SKIPJACK_RELAYX mechanism + */ +typedef struct CK_SKIPJACK_RELAYX_PARAMS { + CK_ULONG ulOldWrappedXLen; + CK_BYTE_PTR pOldWrappedX; + CK_ULONG ulOldPasswordLen; + CK_BYTE_PTR pOldPassword; + CK_ULONG ulOldPublicDataLen; + CK_BYTE_PTR pOldPublicData; + CK_ULONG ulOldRandomLen; + CK_BYTE_PTR pOldRandomA; + CK_ULONG ulNewPasswordLen; + CK_BYTE_PTR pNewPassword; + CK_ULONG ulNewPublicDataLen; + CK_BYTE_PTR pNewPublicData; + CK_ULONG ulNewRandomLen; + CK_BYTE_PTR pNewRandomA; +} CK_SKIPJACK_RELAYX_PARAMS; + +typedef CK_SKIPJACK_RELAYX_PARAMS CK_PTR \ + CK_SKIPJACK_RELAYX_PARAMS_PTR; + + +typedef struct CK_PBE_PARAMS { + CK_BYTE_PTR pInitVector; + CK_UTF8CHAR_PTR pPassword; + CK_ULONG ulPasswordLen; + CK_BYTE_PTR pSalt; + CK_ULONG ulSaltLen; + CK_ULONG ulIteration; +} CK_PBE_PARAMS; + +typedef CK_PBE_PARAMS CK_PTR CK_PBE_PARAMS_PTR; + + +/* CK_KEY_WRAP_SET_OAEP_PARAMS provides the parameters to the + * CKM_KEY_WRAP_SET_OAEP mechanism + */ +typedef struct CK_KEY_WRAP_SET_OAEP_PARAMS { + CK_BYTE bBC; /* block contents byte */ + CK_BYTE_PTR pX; /* extra data */ + CK_ULONG ulXLen; /* length of extra data in bytes */ +} CK_KEY_WRAP_SET_OAEP_PARAMS; + +typedef CK_KEY_WRAP_SET_OAEP_PARAMS CK_PTR CK_KEY_WRAP_SET_OAEP_PARAMS_PTR; + +typedef struct CK_SSL3_RANDOM_DATA { + CK_BYTE_PTR pClientRandom; + CK_ULONG ulClientRandomLen; + CK_BYTE_PTR pServerRandom; + CK_ULONG ulServerRandomLen; +} CK_SSL3_RANDOM_DATA; + + +typedef struct CK_SSL3_MASTER_KEY_DERIVE_PARAMS { + CK_SSL3_RANDOM_DATA RandomInfo; + CK_VERSION_PTR pVersion; +} CK_SSL3_MASTER_KEY_DERIVE_PARAMS; + +typedef struct CK_SSL3_MASTER_KEY_DERIVE_PARAMS CK_PTR \ + CK_SSL3_MASTER_KEY_DERIVE_PARAMS_PTR; + +typedef struct CK_SSL3_KEY_MAT_OUT { + CK_OBJECT_HANDLE hClientMacSecret; + CK_OBJECT_HANDLE hServerMacSecret; + CK_OBJECT_HANDLE hClientKey; + CK_OBJECT_HANDLE hServerKey; + CK_BYTE_PTR pIVClient; + CK_BYTE_PTR pIVServer; +} CK_SSL3_KEY_MAT_OUT; + +typedef CK_SSL3_KEY_MAT_OUT CK_PTR CK_SSL3_KEY_MAT_OUT_PTR; + + +typedef struct CK_SSL3_KEY_MAT_PARAMS { + CK_ULONG ulMacSizeInBits; + CK_ULONG ulKeySizeInBits; + CK_ULONG ulIVSizeInBits; + CK_BBOOL bIsExport; + CK_SSL3_RANDOM_DATA RandomInfo; + CK_SSL3_KEY_MAT_OUT_PTR pReturnedKeyMaterial; +} CK_SSL3_KEY_MAT_PARAMS; + +typedef CK_SSL3_KEY_MAT_PARAMS CK_PTR CK_SSL3_KEY_MAT_PARAMS_PTR; + +typedef struct CK_TLS_PRF_PARAMS { + CK_BYTE_PTR pSeed; + CK_ULONG ulSeedLen; + CK_BYTE_PTR pLabel; + CK_ULONG ulLabelLen; + CK_BYTE_PTR pOutput; + CK_ULONG_PTR pulOutputLen; +} CK_TLS_PRF_PARAMS; + +typedef CK_TLS_PRF_PARAMS CK_PTR CK_TLS_PRF_PARAMS_PTR; + +typedef struct CK_WTLS_RANDOM_DATA { + CK_BYTE_PTR pClientRandom; + CK_ULONG ulClientRandomLen; + CK_BYTE_PTR pServerRandom; + CK_ULONG ulServerRandomLen; +} CK_WTLS_RANDOM_DATA; + +typedef CK_WTLS_RANDOM_DATA CK_PTR CK_WTLS_RANDOM_DATA_PTR; + +typedef struct CK_WTLS_MASTER_KEY_DERIVE_PARAMS { + CK_MECHANISM_TYPE DigestMechanism; + CK_WTLS_RANDOM_DATA RandomInfo; + CK_BYTE_PTR pVersion; +} CK_WTLS_MASTER_KEY_DERIVE_PARAMS; + +typedef CK_WTLS_MASTER_KEY_DERIVE_PARAMS CK_PTR \ + CK_WTLS_MASTER_KEY_DERIVE_PARAMS_PTR; + +typedef struct CK_WTLS_PRF_PARAMS { + CK_MECHANISM_TYPE DigestMechanism; + CK_BYTE_PTR pSeed; + CK_ULONG ulSeedLen; + CK_BYTE_PTR pLabel; + CK_ULONG ulLabelLen; + CK_BYTE_PTR pOutput; + CK_ULONG_PTR pulOutputLen; +} CK_WTLS_PRF_PARAMS; + +typedef CK_WTLS_PRF_PARAMS CK_PTR CK_WTLS_PRF_PARAMS_PTR; + +typedef struct CK_WTLS_KEY_MAT_OUT { + CK_OBJECT_HANDLE hMacSecret; + CK_OBJECT_HANDLE hKey; + CK_BYTE_PTR pIV; +} CK_WTLS_KEY_MAT_OUT; + +typedef CK_WTLS_KEY_MAT_OUT CK_PTR CK_WTLS_KEY_MAT_OUT_PTR; + +typedef struct CK_WTLS_KEY_MAT_PARAMS { + CK_MECHANISM_TYPE DigestMechanism; + CK_ULONG ulMacSizeInBits; + CK_ULONG ulKeySizeInBits; + CK_ULONG ulIVSizeInBits; + CK_ULONG ulSequenceNumber; + CK_BBOOL bIsExport; + CK_WTLS_RANDOM_DATA RandomInfo; + CK_WTLS_KEY_MAT_OUT_PTR pReturnedKeyMaterial; +} CK_WTLS_KEY_MAT_PARAMS; + +typedef CK_WTLS_KEY_MAT_PARAMS CK_PTR CK_WTLS_KEY_MAT_PARAMS_PTR; + +typedef struct CK_CMS_SIG_PARAMS { + CK_OBJECT_HANDLE certificateHandle; + CK_MECHANISM_PTR pSigningMechanism; + CK_MECHANISM_PTR pDigestMechanism; + CK_UTF8CHAR_PTR pContentType; + CK_BYTE_PTR pRequestedAttributes; + CK_ULONG ulRequestedAttributesLen; + CK_BYTE_PTR pRequiredAttributes; + CK_ULONG ulRequiredAttributesLen; +} CK_CMS_SIG_PARAMS; + +typedef CK_CMS_SIG_PARAMS CK_PTR CK_CMS_SIG_PARAMS_PTR; + +typedef struct CK_KEY_DERIVATION_STRING_DATA { + CK_BYTE_PTR pData; + CK_ULONG ulLen; +} CK_KEY_DERIVATION_STRING_DATA; + +typedef CK_KEY_DERIVATION_STRING_DATA CK_PTR \ + CK_KEY_DERIVATION_STRING_DATA_PTR; + + +/* The CK_EXTRACT_PARAMS is used for the + * CKM_EXTRACT_KEY_FROM_KEY mechanism. It specifies which bit + * of the base key should be used as the first bit of the + * derived key + */ +typedef CK_ULONG CK_EXTRACT_PARAMS; + +typedef CK_EXTRACT_PARAMS CK_PTR CK_EXTRACT_PARAMS_PTR; + +/* CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE is used to + * indicate the Pseudo-Random Function (PRF) used to generate + * key bits using PKCS #5 PBKDF2. + */ +typedef CK_ULONG CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE; + +typedef CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE CK_PTR \ + CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE_PTR; + +#define CKP_PKCS5_PBKD2_HMAC_SHA1 0x00000001UL +#define CKP_PKCS5_PBKD2_HMAC_GOSTR3411 0x00000002UL +#define CKP_PKCS5_PBKD2_HMAC_SHA224 0x00000003UL +#define CKP_PKCS5_PBKD2_HMAC_SHA256 0x00000004UL +#define CKP_PKCS5_PBKD2_HMAC_SHA384 0x00000005UL +#define CKP_PKCS5_PBKD2_HMAC_SHA512 0x00000006UL +#define CKP_PKCS5_PBKD2_HMAC_SHA512_224 0x00000007UL +#define CKP_PKCS5_PBKD2_HMAC_SHA512_256 0x00000008UL + +/* CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE is used to indicate the + * source of the salt value when deriving a key using PKCS #5 + * PBKDF2. + */ +typedef CK_ULONG CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE; + +typedef CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE CK_PTR \ + CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE_PTR; + +/* The following salt value sources are defined in PKCS #5 v2.0. */ +#define CKZ_SALT_SPECIFIED 0x00000001UL + +/* CK_PKCS5_PBKD2_PARAMS is a structure that provides the + * parameters to the CKM_PKCS5_PBKD2 mechanism. + */ +typedef struct CK_PKCS5_PBKD2_PARAMS { + CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE saltSource; + CK_VOID_PTR pSaltSourceData; + CK_ULONG ulSaltSourceDataLen; + CK_ULONG iterations; + CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE prf; + CK_VOID_PTR pPrfData; + CK_ULONG ulPrfDataLen; + CK_UTF8CHAR_PTR pPassword; + CK_ULONG_PTR ulPasswordLen; +} CK_PKCS5_PBKD2_PARAMS; + +typedef CK_PKCS5_PBKD2_PARAMS CK_PTR CK_PKCS5_PBKD2_PARAMS_PTR; + +/* CK_PKCS5_PBKD2_PARAMS2 is a corrected version of the CK_PKCS5_PBKD2_PARAMS + * structure that provides the parameters to the CKM_PKCS5_PBKD2 mechanism + * noting that the ulPasswordLen field is a CK_ULONG and not a CK_ULONG_PTR. + */ +typedef struct CK_PKCS5_PBKD2_PARAMS2 { + CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE saltSource; + CK_VOID_PTR pSaltSourceData; + CK_ULONG ulSaltSourceDataLen; + CK_ULONG iterations; + CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE prf; + CK_VOID_PTR pPrfData; + CK_ULONG ulPrfDataLen; + CK_UTF8CHAR_PTR pPassword; + CK_ULONG ulPasswordLen; +} CK_PKCS5_PBKD2_PARAMS2; + +typedef CK_PKCS5_PBKD2_PARAMS2 CK_PTR CK_PKCS5_PBKD2_PARAMS2_PTR; + +typedef CK_ULONG CK_OTP_PARAM_TYPE; +typedef CK_OTP_PARAM_TYPE CK_PARAM_TYPE; /* backward compatibility */ + +typedef struct CK_OTP_PARAM { + CK_OTP_PARAM_TYPE type; + CK_VOID_PTR pValue; + CK_ULONG ulValueLen; +} CK_OTP_PARAM; + +typedef CK_OTP_PARAM CK_PTR CK_OTP_PARAM_PTR; + +typedef struct CK_OTP_PARAMS { + CK_OTP_PARAM_PTR pParams; + CK_ULONG ulCount; +} CK_OTP_PARAMS; + +typedef CK_OTP_PARAMS CK_PTR CK_OTP_PARAMS_PTR; + +typedef struct CK_OTP_SIGNATURE_INFO { + CK_OTP_PARAM_PTR pParams; + CK_ULONG ulCount; +} CK_OTP_SIGNATURE_INFO; + +typedef CK_OTP_SIGNATURE_INFO CK_PTR CK_OTP_SIGNATURE_INFO_PTR; + +#define CK_OTP_VALUE 0UL +#define CK_OTP_PIN 1UL +#define CK_OTP_CHALLENGE 2UL +#define CK_OTP_TIME 3UL +#define CK_OTP_COUNTER 4UL +#define CK_OTP_FLAGS 5UL +#define CK_OTP_OUTPUT_LENGTH 6UL +#define CK_OTP_OUTPUT_FORMAT 7UL + +#define CKF_NEXT_OTP 0x00000001UL +#define CKF_EXCLUDE_TIME 0x00000002UL +#define CKF_EXCLUDE_COUNTER 0x00000004UL +#define CKF_EXCLUDE_CHALLENGE 0x00000008UL +#define CKF_EXCLUDE_PIN 0x00000010UL +#define CKF_USER_FRIENDLY_OTP 0x00000020UL + +typedef struct CK_KIP_PARAMS { + CK_MECHANISM_PTR pMechanism; + CK_OBJECT_HANDLE hKey; + CK_BYTE_PTR pSeed; + CK_ULONG ulSeedLen; +} CK_KIP_PARAMS; + +typedef CK_KIP_PARAMS CK_PTR CK_KIP_PARAMS_PTR; + +typedef struct CK_AES_CTR_PARAMS { + CK_ULONG ulCounterBits; + CK_BYTE cb[16]; +} CK_AES_CTR_PARAMS; + +typedef CK_AES_CTR_PARAMS CK_PTR CK_AES_CTR_PARAMS_PTR; + +typedef struct CK_GCM_PARAMS { + CK_BYTE_PTR pIv; + CK_ULONG ulIvLen; + CK_ULONG ulIvBits; + CK_BYTE_PTR pAAD; + CK_ULONG ulAADLen; + CK_ULONG ulTagBits; +} CK_GCM_PARAMS; + +typedef CK_GCM_PARAMS CK_PTR CK_GCM_PARAMS_PTR; + +typedef struct CK_CCM_PARAMS { + CK_ULONG ulDataLen; + CK_BYTE_PTR pNonce; + CK_ULONG ulNonceLen; + CK_BYTE_PTR pAAD; + CK_ULONG ulAADLen; + CK_ULONG ulMACLen; +} CK_CCM_PARAMS; + +typedef CK_CCM_PARAMS CK_PTR CK_CCM_PARAMS_PTR; + +/* Deprecated. Use CK_GCM_PARAMS */ +typedef struct CK_AES_GCM_PARAMS { + CK_BYTE_PTR pIv; + CK_ULONG ulIvLen; + CK_ULONG ulIvBits; + CK_BYTE_PTR pAAD; + CK_ULONG ulAADLen; + CK_ULONG ulTagBits; +} CK_AES_GCM_PARAMS; + +typedef CK_AES_GCM_PARAMS CK_PTR CK_AES_GCM_PARAMS_PTR; + +/* Deprecated. Use CK_CCM_PARAMS */ +typedef struct CK_AES_CCM_PARAMS { + CK_ULONG ulDataLen; + CK_BYTE_PTR pNonce; + CK_ULONG ulNonceLen; + CK_BYTE_PTR pAAD; + CK_ULONG ulAADLen; + CK_ULONG ulMACLen; +} CK_AES_CCM_PARAMS; + +typedef CK_AES_CCM_PARAMS CK_PTR CK_AES_CCM_PARAMS_PTR; + +typedef struct CK_CAMELLIA_CTR_PARAMS { + CK_ULONG ulCounterBits; + CK_BYTE cb[16]; +} CK_CAMELLIA_CTR_PARAMS; + +typedef CK_CAMELLIA_CTR_PARAMS CK_PTR CK_CAMELLIA_CTR_PARAMS_PTR; + +typedef struct CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS { + CK_BYTE iv[16]; + CK_BYTE_PTR pData; + CK_ULONG length; +} CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS; + +typedef CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS CK_PTR \ + CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS_PTR; + +typedef struct CK_ARIA_CBC_ENCRYPT_DATA_PARAMS { + CK_BYTE iv[16]; + CK_BYTE_PTR pData; + CK_ULONG length; +} CK_ARIA_CBC_ENCRYPT_DATA_PARAMS; + +typedef CK_ARIA_CBC_ENCRYPT_DATA_PARAMS CK_PTR \ + CK_ARIA_CBC_ENCRYPT_DATA_PARAMS_PTR; + +typedef struct CK_DSA_PARAMETER_GEN_PARAM { + CK_MECHANISM_TYPE hash; + CK_BYTE_PTR pSeed; + CK_ULONG ulSeedLen; + CK_ULONG ulIndex; +} CK_DSA_PARAMETER_GEN_PARAM; + +typedef CK_DSA_PARAMETER_GEN_PARAM CK_PTR CK_DSA_PARAMETER_GEN_PARAM_PTR; + +typedef struct CK_ECDH_AES_KEY_WRAP_PARAMS { + CK_ULONG ulAESKeyBits; + CK_EC_KDF_TYPE kdf; + CK_ULONG ulSharedDataLen; + CK_BYTE_PTR pSharedData; +} CK_ECDH_AES_KEY_WRAP_PARAMS; + +typedef CK_ECDH_AES_KEY_WRAP_PARAMS CK_PTR CK_ECDH_AES_KEY_WRAP_PARAMS_PTR; + +typedef CK_ULONG CK_JAVA_MIDP_SECURITY_DOMAIN; + +typedef CK_ULONG CK_CERTIFICATE_CATEGORY; + +typedef struct CK_RSA_AES_KEY_WRAP_PARAMS { + CK_ULONG ulAESKeyBits; + CK_RSA_PKCS_OAEP_PARAMS_PTR pOAEPParams; +} CK_RSA_AES_KEY_WRAP_PARAMS; + +typedef CK_RSA_AES_KEY_WRAP_PARAMS CK_PTR CK_RSA_AES_KEY_WRAP_PARAMS_PTR; + +typedef struct CK_TLS12_MASTER_KEY_DERIVE_PARAMS { + CK_SSL3_RANDOM_DATA RandomInfo; + CK_VERSION_PTR pVersion; + CK_MECHANISM_TYPE prfHashMechanism; +} CK_TLS12_MASTER_KEY_DERIVE_PARAMS; + +typedef CK_TLS12_MASTER_KEY_DERIVE_PARAMS CK_PTR \ + CK_TLS12_MASTER_KEY_DERIVE_PARAMS_PTR; + +typedef struct CK_TLS12_KEY_MAT_PARAMS { + CK_ULONG ulMacSizeInBits; + CK_ULONG ulKeySizeInBits; + CK_ULONG ulIVSizeInBits; + CK_BBOOL bIsExport; + CK_SSL3_RANDOM_DATA RandomInfo; + CK_SSL3_KEY_MAT_OUT_PTR pReturnedKeyMaterial; + CK_MECHANISM_TYPE prfHashMechanism; +} CK_TLS12_KEY_MAT_PARAMS; + +typedef CK_TLS12_KEY_MAT_PARAMS CK_PTR CK_TLS12_KEY_MAT_PARAMS_PTR; + +typedef struct CK_TLS_KDF_PARAMS { + CK_MECHANISM_TYPE prfMechanism; + CK_BYTE_PTR pLabel; + CK_ULONG ulLabelLength; + CK_SSL3_RANDOM_DATA RandomInfo; + CK_BYTE_PTR pContextData; + CK_ULONG ulContextDataLength; +} CK_TLS_KDF_PARAMS; + +typedef CK_TLS_KDF_PARAMS CK_PTR CK_TLS_KDF_PARAMS_PTR; + +typedef struct CK_TLS_MAC_PARAMS { + CK_MECHANISM_TYPE prfHashMechanism; + CK_ULONG ulMacLength; + CK_ULONG ulServerOrClient; +} CK_TLS_MAC_PARAMS; + +typedef CK_TLS_MAC_PARAMS CK_PTR CK_TLS_MAC_PARAMS_PTR; + +typedef struct CK_GOSTR3410_DERIVE_PARAMS { + CK_EC_KDF_TYPE kdf; + CK_BYTE_PTR pPublicData; + CK_ULONG ulPublicDataLen; + CK_BYTE_PTR pUKM; + CK_ULONG ulUKMLen; +} CK_GOSTR3410_DERIVE_PARAMS; + +typedef CK_GOSTR3410_DERIVE_PARAMS CK_PTR CK_GOSTR3410_DERIVE_PARAMS_PTR; + +typedef struct CK_GOSTR3410_KEY_WRAP_PARAMS { + CK_BYTE_PTR pWrapOID; + CK_ULONG ulWrapOIDLen; + CK_BYTE_PTR pUKM; + CK_ULONG ulUKMLen; + CK_OBJECT_HANDLE hKey; +} CK_GOSTR3410_KEY_WRAP_PARAMS; + +typedef CK_GOSTR3410_KEY_WRAP_PARAMS CK_PTR CK_GOSTR3410_KEY_WRAP_PARAMS_PTR; + +typedef struct CK_SEED_CBC_ENCRYPT_DATA_PARAMS { + CK_BYTE iv[16]; + CK_BYTE_PTR pData; + CK_ULONG length; +} CK_SEED_CBC_ENCRYPT_DATA_PARAMS; + +typedef CK_SEED_CBC_ENCRYPT_DATA_PARAMS CK_PTR \ + CK_SEED_CBC_ENCRYPT_DATA_PARAMS_PTR; + +#endif /* _PKCS11T_H_ */ + diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs8.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs8.h new file mode 100644 index 00000000..a243c4fd --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkcs8.h @@ -0,0 +1,288 @@ +/* +* PKCS #8 +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PKCS8_H_ +#define BOTAN_PKCS8_H_ + +#include +#include +#include +#include +#include +#include + +namespace Botan { + +class DataSource; +class RandomNumberGenerator; + +/** +* PKCS #8 General Exception +*/ +class BOTAN_PUBLIC_API(2,0) PKCS8_Exception final : public Decoding_Error + { + public: + explicit PKCS8_Exception(const std::string& error) : + Decoding_Error("PKCS #8: " + error) {} + }; + +/** +* This namespace contains functions for handling PKCS #8 private keys +*/ +namespace PKCS8 { + +/** +* BER encode a private key +* @param key the private key to encode +* @return BER encoded key +*/ +BOTAN_PUBLIC_API(2,0) secure_vector BER_encode(const Private_Key& key); + +/** +* Get a string containing a PEM encoded private key. +* @param key the key to encode +* @return encoded key +*/ +BOTAN_PUBLIC_API(2,0) std::string PEM_encode(const Private_Key& key); + +/** +* Encrypt a key using PKCS #8 encryption +* @param key the key to encode +* @param rng the rng to use +* @param pass the password to use for encryption +* @param msec number of milliseconds to run the password derivation +* @param pbe_algo the name of the desired password-based encryption +* algorithm; if empty ("") a reasonable (portable/secure) +* default will be chosen. +* @return encrypted key in binary BER form +*/ +BOTAN_PUBLIC_API(2,0) std::vector +BER_encode(const Private_Key& key, + RandomNumberGenerator& rng, + const std::string& pass, + std::chrono::milliseconds msec = std::chrono::milliseconds(300), + const std::string& pbe_algo = ""); + +/** +* Get a string containing a PEM encoded private key, encrypting it with a +* password. +* @param key the key to encode +* @param rng the rng to use +* @param pass the password to use for encryption +* @param msec number of milliseconds to run the password derivation +* @param pbe_algo the name of the desired password-based encryption +* algorithm; if empty ("") a reasonable (portable/secure) +* default will be chosen. +* @return encrypted key in PEM form +*/ +BOTAN_PUBLIC_API(2,0) std::string +PEM_encode(const Private_Key& key, + RandomNumberGenerator& rng, + const std::string& pass, + std::chrono::milliseconds msec = std::chrono::milliseconds(300), + const std::string& pbe_algo = ""); + +/** +* Encrypt a key using PKCS #8 encryption and a fixed iteration count +* @param key the key to encode +* @param rng the rng to use +* @param pass the password to use for encryption +* @param pbkdf_iter number of interations to run PBKDF2 +* @param cipher if non-empty specifies the cipher to use. CBC and GCM modes +* are supported, for example "AES-128/CBC", "AES-256/GCM", "Serpent/CBC". +* If empty a suitable default is chosen. +* @param pbkdf_hash if non-empty specifies the PBKDF hash function to use. +* For example "SHA-256" or "SHA-384". If empty a suitable default is chosen. +* @return encrypted key in binary BER form +*/ +BOTAN_PUBLIC_API(2,1) std::vector +BER_encode_encrypted_pbkdf_iter(const Private_Key& key, + RandomNumberGenerator& rng, + const std::string& pass, + size_t pbkdf_iter, + const std::string& cipher = "", + const std::string& pbkdf_hash = ""); + +/** +* Get a string containing a PEM encoded private key, encrypting it with a +* password. +* @param key the key to encode +* @param rng the rng to use +* @param pass the password to use for encryption +* @param pbkdf_iter number of iterations to run PBKDF +* @param cipher if non-empty specifies the cipher to use. CBC and GCM modes +* are supported, for example "AES-128/CBC", "AES-256/GCM", "Serpent/CBC". +* If empty a suitable default is chosen. +* @param pbkdf_hash if non-empty specifies the PBKDF hash function to use. +* For example "SHA-256" or "SHA-384". If empty a suitable default is chosen. +* @return encrypted key in PEM form +*/ +BOTAN_PUBLIC_API(2,1) std::string +PEM_encode_encrypted_pbkdf_iter(const Private_Key& key, + RandomNumberGenerator& rng, + const std::string& pass, + size_t pbkdf_iter, + const std::string& cipher = "", + const std::string& pbkdf_hash = ""); + +/** +* Encrypt a key using PKCS #8 encryption and a variable iteration count +* @param key the key to encode +* @param rng the rng to use +* @param pass the password to use for encryption +* @param pbkdf_msec how long to run PBKDF2 +* @param pbkdf_iterations if non-null, set to the number of iterations used +* @param cipher if non-empty specifies the cipher to use. CBC and GCM modes +* are supported, for example "AES-128/CBC", "AES-256/GCM", "Serpent/CBC". +* If empty a suitable default is chosen. +* @param pbkdf_hash if non-empty specifies the PBKDF hash function to use. +* For example "SHA-256" or "SHA-384". If empty a suitable default is chosen. +* @return encrypted key in binary BER form +*/ +BOTAN_PUBLIC_API(2,1) std::vector +BER_encode_encrypted_pbkdf_msec(const Private_Key& key, + RandomNumberGenerator& rng, + const std::string& pass, + std::chrono::milliseconds pbkdf_msec, + size_t* pbkdf_iterations, + const std::string& cipher = "", + const std::string& pbkdf_hash = ""); + +/** +* Get a string containing a PEM encoded private key, encrypting it with a +* password. +* @param key the key to encode +* @param rng the rng to use +* @param pass the password to use for encryption +* @param pbkdf_msec how long in milliseconds to run PBKDF2 +* @param pbkdf_iterations (output argument) number of iterations of PBKDF +* that ended up being used +* @param cipher if non-empty specifies the cipher to use. CBC and GCM modes +* are supported, for example "AES-128/CBC", "AES-256/GCM", "Serpent/CBC". +* If empty a suitable default is chosen. +* @param pbkdf_hash if non-empty specifies the PBKDF hash function to use. +* For example "SHA-256" or "SHA-384". If empty a suitable default is chosen. +* @return encrypted key in PEM form +*/ +BOTAN_PUBLIC_API(2,1) std::string +PEM_encode_encrypted_pbkdf_msec(const Private_Key& key, + RandomNumberGenerator& rng, + const std::string& pass, + std::chrono::milliseconds pbkdf_msec, + size_t* pbkdf_iterations, + const std::string& cipher = "", + const std::string& pbkdf_hash = ""); + +/** +* Load an encrypted key from a data source. +* @param source the data source providing the encoded key +* @param rng ignored for compatibility +* @param get_passphrase a function that returns passphrases +* @return loaded private key object +*/ +BOTAN_PUBLIC_API(2,0) Private_Key* load_key(DataSource& source, + RandomNumberGenerator& rng, + std::function get_passphrase); + +/** Load an encrypted key from a data source. +* @param source the data source providing the encoded key +* @param rng ignored for compatibility +* @param pass the passphrase to decrypt the key +* @return loaded private key object +*/ +BOTAN_PUBLIC_API(2,0) Private_Key* load_key(DataSource& source, + RandomNumberGenerator& rng, + const std::string& pass); + +/** Load an unencrypted key from a data source. +* @param source the data source providing the encoded key +* @param rng ignored for compatibility +* @return loaded private key object +*/ +BOTAN_PUBLIC_API(2,0) Private_Key* load_key(DataSource& source, + RandomNumberGenerator& rng); + +#if defined(BOTAN_TARGET_OS_HAS_FILESYSTEM) +/** +* Load an encrypted key from a file. +* @param filename the path to the file containing the encoded key +* @param rng ignored for compatibility +* @param get_passphrase a function that returns passphrases +* @return loaded private key object +*/ +BOTAN_PUBLIC_API(2,0) Private_Key* load_key(const std::string& filename, + RandomNumberGenerator& rng, + std::function get_passphrase); + +/** Load an encrypted key from a file. +* @param filename the path to the file containing the encoded key +* @param rng ignored for compatibility +* @param pass the passphrase to decrypt the key +* @return loaded private key object +*/ +BOTAN_PUBLIC_API(2,0) Private_Key* load_key(const std::string& filename, + RandomNumberGenerator& rng, + const std::string& pass); + +/** Load an unencrypted key from a file. +* @param filename the path to the file containing the encoded key +* @param rng ignored for compatibility +* @return loaded private key object +*/ +BOTAN_PUBLIC_API(2,0) Private_Key* load_key(const std::string& filename, + RandomNumberGenerator& rng); +#endif + +/** +* Copy an existing encoded key object. +* @param key the key to copy +* @param rng ignored for compatibility +* @return new copy of the key +*/ +BOTAN_PUBLIC_API(2,0) Private_Key* copy_key(const Private_Key& key, + RandomNumberGenerator& rng); + + +/** +* Load an encrypted key from a data source. +* @param source the data source providing the encoded key +* @param get_passphrase a function that returns passphrases +* @return loaded private key object +*/ +BOTAN_PUBLIC_API(2,3) +std::unique_ptr load_key(DataSource& source, + std::function get_passphrase); + +/** Load an encrypted key from a data source. +* @param source the data source providing the encoded key +* @param pass the passphrase to decrypt the key +* @return loaded private key object +*/ +BOTAN_PUBLIC_API(2,3) +std::unique_ptr load_key(DataSource& source, + const std::string& pass); + +/** Load an unencrypted key from a data source. +* @param source the data source providing the encoded key +* @return loaded private key object +*/ +BOTAN_PUBLIC_API(2,3) +std::unique_ptr load_key(DataSource& source); + +/** +* Copy an existing encoded key object. +* @param key the key to copy +* @return new copy of the key +*/ +BOTAN_PUBLIC_API(2,3) +std::unique_ptr copy_key(const Private_Key& key); + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkix_enums.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkix_enums.h new file mode 100644 index 00000000..a1c85293 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkix_enums.h @@ -0,0 +1,143 @@ +/* +* (C) 2013 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_X509_PKIX_ENUMS_H_ +#define BOTAN_X509_PKIX_ENUMS_H_ + +#include + +namespace Botan { + +/** +* Certificate validation status code +*/ +enum class Certificate_Status_Code { + OK = 0, + VERIFIED = 0, + + // Revocation status + OCSP_RESPONSE_GOOD = 1, + OCSP_SIGNATURE_OK = 2, + VALID_CRL_CHECKED = 3, + OCSP_NO_HTTP = 4, + + // Warnings + FIRST_WARNING_STATUS = 500, + CERT_SERIAL_NEGATIVE = 500, + DN_TOO_LONG = 501, + OCSP_NO_REVOCATION_URL = 502, + OCSP_SERVER_NOT_AVAILABLE = 503, + + // Typo versions of above - will be removed in future major release + OSCP_NO_REVOCATION_URL = 502, + OSCP_SERVER_NOT_AVAILABLE = 503, + + // Errors + FIRST_ERROR_STATUS = 1000, + + SIGNATURE_METHOD_TOO_WEAK = 1000, + UNTRUSTED_HASH = 1001, + NO_REVOCATION_DATA = 1002, + NO_MATCHING_CRLDP = 1003, + + // Time problems + CERT_NOT_YET_VALID = 2000, + CERT_HAS_EXPIRED = 2001, + OCSP_NOT_YET_VALID = 2002, + OCSP_HAS_EXPIRED = 2003, + CRL_NOT_YET_VALID = 2004, + CRL_HAS_EXPIRED = 2005, + OCSP_IS_TOO_OLD = 2006, + + // Chain generation problems + CERT_ISSUER_NOT_FOUND = 3000, + CANNOT_ESTABLISH_TRUST = 3001, + CERT_CHAIN_LOOP = 3002, + CHAIN_LACKS_TRUST_ROOT = 3003, + CHAIN_NAME_MISMATCH = 3004, + + // Validation errors + POLICY_ERROR = 4000, + INVALID_USAGE = 4001, + CERT_CHAIN_TOO_LONG = 4002, + CA_CERT_NOT_FOR_CERT_ISSUER = 4003, + NAME_CONSTRAINT_ERROR = 4004, + + // Revocation errors + CA_CERT_NOT_FOR_CRL_ISSUER = 4005, + OCSP_CERT_NOT_LISTED = 4006, + OCSP_BAD_STATUS = 4007, + + // Other problems + CERT_NAME_NOMATCH = 4008, + UNKNOWN_CRITICAL_EXTENSION = 4009, + DUPLICATE_CERT_EXTENSION = 4010, + OCSP_SIGNATURE_ERROR = 4501, + OCSP_ISSUER_NOT_FOUND = 4502, + OCSP_RESPONSE_MISSING_KEYUSAGE = 4503, + OCSP_RESPONSE_INVALID = 4504, + EXT_IN_V1_V2_CERT = 4505, + DUPLICATE_CERT_POLICY = 4506, + V2_IDENTIFIERS_IN_V1_CERT = 4507, + + // Hard failures + CERT_IS_REVOKED = 5000, + CRL_BAD_SIGNATURE = 5001, + SIGNATURE_ERROR = 5002, + CERT_PUBKEY_INVALID = 5003, + SIGNATURE_ALGO_UNKNOWN = 5004, + SIGNATURE_ALGO_BAD_PARAMS = 5005 +}; + +/** +* Convert a status code to a human readable diagnostic message +* @param code the certifcate status +* @return string literal constant, or nullptr if code unknown +*/ +BOTAN_PUBLIC_API(2,0) const char* to_string(Certificate_Status_Code code); + +/** +* X.509v3 Key Constraints. +* If updating update copy in ffi.h +*/ +enum Key_Constraints { + NO_CONSTRAINTS = 0, + DIGITAL_SIGNATURE = 1 << 15, + NON_REPUDIATION = 1 << 14, + KEY_ENCIPHERMENT = 1 << 13, + DATA_ENCIPHERMENT = 1 << 12, + KEY_AGREEMENT = 1 << 11, + KEY_CERT_SIGN = 1 << 10, + CRL_SIGN = 1 << 9, + ENCIPHER_ONLY = 1 << 8, + DECIPHER_ONLY = 1 << 7 +}; + +/** +* X.509v2 CRL Reason Code. +* This will become an enum class in a future major release +*/ +enum CRL_Code : uint32_t { + UNSPECIFIED = 0, + KEY_COMPROMISE = 1, + CA_COMPROMISE = 2, + AFFILIATION_CHANGED = 3, + SUPERSEDED = 4, + CESSATION_OF_OPERATION = 5, + CERTIFICATE_HOLD = 6, + REMOVE_FROM_CRL = 8, + PRIVLEDGE_WITHDRAWN = 9, + PRIVILEGE_WITHDRAWN = 9, + AA_COMPROMISE = 10, + + DELETE_CRL_ENTRY = 0xFF00, + OCSP_GOOD = 0xFF01, + OCSP_UNKNOWN = 0xFF02 +}; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkix_types.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkix_types.h new file mode 100644 index 00000000..98312195 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pkix_types.h @@ -0,0 +1,613 @@ +/* +* (C) 1999-2010,2012,2018,2020 Jack Lloyd +* (C) 2007 Yves Jerschow +* (C) 2015 Kai Michaelis +* (C) 2016 René Korthaus, Rohde & Schwarz Cybersecurity +* (C) 2017 Fabian Weissberg, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PKIX_TYPES_H_ +#define BOTAN_PKIX_TYPES_H_ + +#include +#include +#include +#include +#include +#include +#include + +namespace Botan { + +class X509_Certificate; +class Data_Store; +class Public_Key; + +/** +* Check that key constraints are permitted for a specific public key. +* @param pub_key the public key on which the constraints shall be enforced on +* @param constraints the constraints that shall be enforced on the key +* @throw Invalid_Argument if the given constraints are not permitted for this key +*/ +BOTAN_PUBLIC_API(2,0) void verify_cert_constraints_valid_for_key_type(const Public_Key& pub_key, + Key_Constraints constraints); + +std::string BOTAN_PUBLIC_API(2,0) key_constraints_to_string(Key_Constraints); + +/** +* Distinguished Name +*/ +class BOTAN_PUBLIC_API(2,0) X509_DN final : public ASN1_Object + { + public: + X509_DN() = default; + + explicit X509_DN(const std::multimap& args) + { + for(auto i : args) + add_attribute(i.first, i.second); + } + + explicit X509_DN(const std::multimap& args) + { + for(auto i : args) + add_attribute(i.first, i.second); + } + + void encode_into(DER_Encoder&) const override; + void decode_from(BER_Decoder&) override; + + bool has_field(const OID& oid) const; + ASN1_String get_first_attribute(const OID& oid) const; + + /* + * Return the BER encoded data, if any + */ + const std::vector& get_bits() const { return m_dn_bits; } + + bool empty() const { return m_rdn.empty(); } + + std::string to_string() const; + + const std::vector>& dn_info() const { return m_rdn; } + + std::multimap get_attributes() const; + std::multimap contents() const; + + bool has_field(const std::string& attr) const; + std::vector get_attribute(const std::string& attr) const; + std::string get_first_attribute(const std::string& attr) const; + + void add_attribute(const std::string& key, const std::string& val); + + void add_attribute(const OID& oid, const std::string& val) + { + add_attribute(oid, ASN1_String(val)); + } + + void add_attribute(const OID& oid, const ASN1_String& val); + + static std::string deref_info_field(const std::string& key); + + /** + * Lookup upper bounds in characters for the length of distinguished name fields + * as given in RFC 5280, Appendix A. + * + * @param oid the oid of the DN to lookup + * @return the upper bound, or zero if no ub is known to Botan + */ + static size_t lookup_ub(const OID& oid); + + private: + std::vector> m_rdn; + std::vector m_dn_bits; + }; + +bool BOTAN_PUBLIC_API(2,0) operator==(const X509_DN& dn1, const X509_DN& dn2); +bool BOTAN_PUBLIC_API(2,0) operator!=(const X509_DN& dn1, const X509_DN& dn2); + +/* +The ordering here is arbitrary and may change from release to release. +It is intended for allowing DNs as keys in std::map and similiar containers +*/ +bool BOTAN_PUBLIC_API(2,0) operator<(const X509_DN& dn1, const X509_DN& dn2); + +BOTAN_PUBLIC_API(2,0) std::ostream& operator<<(std::ostream& out, const X509_DN& dn); +BOTAN_PUBLIC_API(2,0) std::istream& operator>>(std::istream& in, X509_DN& dn); + +/** +* Alternative Name +*/ +class BOTAN_PUBLIC_API(2,0) AlternativeName final : public ASN1_Object + { + public: + void encode_into(DER_Encoder&) const override; + void decode_from(BER_Decoder&) override; + + std::multimap contents() const; + + bool has_field(const std::string& attr) const; + std::vector get_attribute(const std::string& attr) const; + + std::string get_first_attribute(const std::string& attr) const; + + void add_attribute(const std::string& type, const std::string& value); + void add_othername(const OID& oid, const std::string& value, ASN1_Tag type); + + const std::multimap& get_attributes() const + { + return m_alt_info; + } + + const std::multimap& get_othernames() const + { + return m_othernames; + } + + X509_DN dn() const; + + bool has_items() const; + + AlternativeName(const std::string& email_addr = "", + const std::string& uri = "", + const std::string& dns = "", + const std::string& ip_address = ""); + private: + std::multimap m_alt_info; + std::multimap m_othernames; + }; + +/** +* Attribute +*/ +class BOTAN_PUBLIC_API(2,0) Attribute final : public ASN1_Object + { + public: + void encode_into(DER_Encoder& to) const override; + void decode_from(BER_Decoder& from) override; + + Attribute() = default; + Attribute(const OID&, const std::vector&); + Attribute(const std::string&, const std::vector&); + + const OID& get_oid() const { return oid; } + + const std::vector& get_parameters() const { return parameters; } + + BOTAN_DEPRECATED_PUBLIC_MEMBER_VARIABLES: + /* + * These values are public for historical reasons, but in a future release + * they will be made private. Do not access them. + */ + OID oid; + std::vector parameters; + }; + +/** +* @brief X.509 GeneralName Type +* +* Handles parsing GeneralName types in their BER and canonical string +* encoding. Allows matching GeneralNames against each other using +* the rules laid out in the RFC 5280, sec. 4.2.1.10 (Name Contraints). +*/ +class BOTAN_PUBLIC_API(2,0) GeneralName final : public ASN1_Object + { + public: + enum MatchResult : int + { + All, + Some, + None, + NotFound, + UnknownType, + }; + + /** + * Creates an empty GeneralName. + */ + GeneralName() = default; + + /** + * Creates a new GeneralName for its string format. + * @param str type and name, colon-separated, e.g., "DNS:google.com" + */ + GeneralName(const std::string& str); + + void encode_into(DER_Encoder&) const override; + + void decode_from(BER_Decoder&) override; + + /** + * @return Type of the name. Can be DN, DNS, IP, RFC822 or URI. + */ + const std::string& type() const { return m_type; } + + /** + * @return The name as string. Format depends on type. + */ + const std::string& name() const { return m_name; } + + /** + * Checks whether a given certificate (partially) matches this name. + * @param cert certificate to be matched + * @return the match result + */ + MatchResult matches(const X509_Certificate& cert) const; + + private: + std::string m_type; + std::string m_name; + + bool matches_dns(const std::string&) const; + bool matches_dn(const std::string&) const; + bool matches_ip(const std::string&) const; + }; + +std::ostream& operator<<(std::ostream& os, const GeneralName& gn); + +/** +* @brief A single Name Constraint +* +* The Name Constraint extension adds a minimum and maximum path +* length to a GeneralName to form a constraint. The length limits +* are currently unused. +*/ +class BOTAN_PUBLIC_API(2,0) GeneralSubtree final : public ASN1_Object + { + public: + /** + * Creates an empty name constraint. + */ + GeneralSubtree() : m_base(), m_minimum(0), m_maximum(std::numeric_limits::max()) + {} + + /*** + * Creates a new name constraint. + * @param base name + * @param min minimum path length + * @param max maximum path length + */ + GeneralSubtree(const GeneralName& base, size_t min, size_t max) + : m_base(base), m_minimum(min), m_maximum(max) + {} + + /** + * Creates a new name constraint for its string format. + * @param str name constraint + */ + GeneralSubtree(const std::string& str); + + void encode_into(DER_Encoder&) const override; + + void decode_from(BER_Decoder&) override; + + /** + * @return name + */ + const GeneralName& base() const { return m_base; } + + /** + * @return minimum path length + */ + size_t minimum() const { return m_minimum; } + + /** + * @return maximum path length + */ + size_t maximum() const { return m_maximum; } + + private: + GeneralName m_base; + size_t m_minimum; + size_t m_maximum; + }; + +std::ostream& operator<<(std::ostream& os, const GeneralSubtree& gs); + +/** +* @brief Name Constraints +* +* Wraps the Name Constraints associated with a certificate. +*/ +class BOTAN_PUBLIC_API(2,0) NameConstraints final + { + public: + /** + * Creates an empty name NameConstraints. + */ + NameConstraints() : m_permitted_subtrees(), m_excluded_subtrees() {} + + /** + * Creates NameConstraints from a list of permitted and excluded subtrees. + * @param permitted_subtrees names for which the certificate is permitted + * @param excluded_subtrees names for which the certificate is not permitted + */ + NameConstraints(std::vector&& permitted_subtrees, + std::vector&& excluded_subtrees) + : m_permitted_subtrees(permitted_subtrees), m_excluded_subtrees(excluded_subtrees) + {} + + /** + * @return permitted names + */ + const std::vector& permitted() const { return m_permitted_subtrees; } + + /** + * @return excluded names + */ + const std::vector& excluded() const { return m_excluded_subtrees; } + + private: + std::vector m_permitted_subtrees; + std::vector m_excluded_subtrees; + }; + +/** +* X.509 Certificate Extension +*/ +class BOTAN_PUBLIC_API(2,0) Certificate_Extension + { + public: + /** + * @return OID representing this extension + */ + virtual OID oid_of() const = 0; + + /* + * @return specific OID name + * If possible OIDS table should match oid_name to OIDS, ie + * OID::from_string(ext->oid_name()) == ext->oid_of() + * Should return empty string if OID is not known + */ + virtual std::string oid_name() const = 0; + + /** + * Make a copy of this extension + * @return copy of this + */ + virtual Certificate_Extension* copy() const = 0; + + /* + * Add the contents of this extension into the information + * for the subject and/or issuer, as necessary. + * @param subject the subject info + * @param issuer the issuer info + */ + virtual void contents_to(Data_Store& subject, + Data_Store& issuer) const = 0; + + /* + * Callback visited during path validation. + * + * An extension can implement this callback to inspect + * the path during path validation. + * + * If an error occurs during validation of this extension, + * an appropriate status code shall be added to cert_status. + * + * @param subject Subject certificate that contains this extension + * @param issuer Issuer certificate + * @param status Certificate validation status codes for subject certificate + * @param cert_path Certificate path which is currently validated + * @param pos Position of subject certificate in cert_path + */ + virtual void validate(const X509_Certificate& subject, const X509_Certificate& issuer, + const std::vector>& cert_path, + std::vector>& cert_status, + size_t pos); + + virtual ~Certificate_Extension() = default; + protected: + friend class Extensions; + virtual bool should_encode() const { return true; } + virtual std::vector encode_inner() const = 0; + virtual void decode_inner(const std::vector&) = 0; + }; + +/** +* X.509 Certificate Extension List +*/ +class BOTAN_PUBLIC_API(2,0) Extensions final : public ASN1_Object + { + public: + /** + * Look up an object in the extensions, based on OID Returns + * nullptr if not set, if the extension was either absent or not + * handled. The pointer returned is owned by the Extensions + * object. + * This would be better with an optional return value + */ + const Certificate_Extension* get_extension_object(const OID& oid) const; + + template + const T* get_extension_object_as(const OID& oid = T::static_oid()) const + { + if(const Certificate_Extension* extn = get_extension_object(oid)) + { + // Unknown_Extension oid_name is empty + if(extn->oid_name().empty()) + { + return nullptr; + } + else if(const T* extn_as_T = dynamic_cast(extn)) + { + return extn_as_T; + } + else + { + throw Decoding_Error("Exception::get_extension_object_as dynamic_cast failed"); + } + } + + return nullptr; + } + + /** + * Return the set of extensions in the order they appeared in the certificate + * (or as they were added, if constructed) + */ + const std::vector& get_extension_oids() const + { + return m_extension_oids; + } + + /** + * Return true if an extension was set + */ + bool extension_set(const OID& oid) const; + + /** + * Return true if an extesion was set and marked critical + */ + bool critical_extension_set(const OID& oid) const; + + /** + * Return the raw bytes of the extension + * Will throw if OID was not set as an extension. + */ + std::vector get_extension_bits(const OID& oid) const; + + void encode_into(class DER_Encoder&) const override; + void decode_from(class BER_Decoder&) override; + void contents_to(Data_Store&, Data_Store&) const; + + /** + * Adds a new extension to the list. + * @param extn pointer to the certificate extension (Extensions takes ownership) + * @param critical whether this extension should be marked as critical + * @throw Invalid_Argument if the extension is already present in the list + */ + void add(Certificate_Extension* extn, bool critical = false); + + /** + * Adds a new extension to the list unless it already exists. If the extension + * already exists within the Extensions object, the extn pointer will be deleted. + * + * @param extn pointer to the certificate extension (Extensions takes ownership) + * @param critical whether this extension should be marked as critical + * @return true if the object was added false if the extension was already used + */ + bool add_new(Certificate_Extension* extn, bool critical = false); + + /** + * Adds an extension to the list or replaces it. + * @param extn the certificate extension + * @param critical whether this extension should be marked as critical + */ + void replace(Certificate_Extension* extn, bool critical = false); + + /** + * Remove an extension from the list. Returns true if the + * extension had been set, false otherwise. + */ + bool remove(const OID& oid); + + /** + * Searches for an extension by OID and returns the result. + * Only the known extensions types declared in this header + * are searched for by this function. + * @return Copy of extension with oid, nullptr if not found. + * Can avoid creating a copy by using get_extension_object function + */ + std::unique_ptr get(const OID& oid) const; + + /** + * Searches for an extension by OID and returns the result decoding + * it to some arbitrary extension type chosen by the application. + * + * Only the unknown extensions, that is, extensions types that + * are not declared in this header, are searched for by this + * function. + * + * @return Pointer to new extension with oid, nullptr if not found. + */ + template + std::unique_ptr get_raw(const OID& oid) const + { + auto extn_info = m_extension_info.find(oid); + + if(extn_info != m_extension_info.end()) + { + // Unknown_Extension oid_name is empty + if(extn_info->second.obj().oid_name() == "") + { + std::unique_ptr ext(new T); + ext->decode_inner(extn_info->second.bits()); + return ext; + } + } + return nullptr; + } + + /** + * Returns a copy of the list of extensions together with the corresponding + * criticality flag. All extensions are encoded as some object, falling back + * to Unknown_Extension class which simply allows reading the bytes as well + * as the criticality flag. + */ + std::vector, bool>> extensions() const; + + /** + * Returns the list of extensions as raw, encoded bytes + * together with the corresponding criticality flag. + * Contains all extensions, including any extensions encoded as Unknown_Extension + */ + std::map, bool>> extensions_raw() const; + + Extensions() {} + + Extensions(const Extensions&) = default; + Extensions& operator=(const Extensions&) = default; + + Extensions(Extensions&&) = default; + Extensions& operator=(Extensions&&) = default; + + private: + static std::unique_ptr + create_extn_obj(const OID& oid, + bool critical, + const std::vector& body); + + class Extensions_Info + { + public: + Extensions_Info(bool critical, + Certificate_Extension* ext) : + m_obj(ext), + m_bits(m_obj->encode_inner()), + m_critical(critical) + { + } + + Extensions_Info(bool critical, + const std::vector& encoding, + Certificate_Extension* ext) : + m_obj(ext), + m_bits(encoding), + m_critical(critical) + { + } + + bool is_critical() const { return m_critical; } + const std::vector& bits() const { return m_bits; } + const Certificate_Extension& obj() const + { + BOTAN_ASSERT_NONNULL(m_obj.get()); + return *m_obj.get(); + } + + private: + std::shared_ptr m_obj; + std::vector m_bits; + bool m_critical = false; + }; + + std::vector m_extension_oids; + std::map m_extension_info; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/point_gfp.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/point_gfp.h new file mode 100644 index 00000000..13752c4a --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/point_gfp.h @@ -0,0 +1,447 @@ +/* +* Point arithmetic on elliptic curves over GF(p) +* +* (C) 2007 Martin Doering, Christoph Ludwig, Falko Strenzke +* 2008-2011,2014,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_POINT_GFP_H_ +#define BOTAN_POINT_GFP_H_ + +#include +#include +#include + +namespace Botan { + +/** +* Exception thrown if you try to convert a zero point to an affine +* coordinate +* +* In a future major release this exception type will be removed and its +* usage replaced by Invalid_State +*/ +class BOTAN_PUBLIC_API(2,0) Illegal_Transformation final : public Invalid_State + { + public: + explicit Illegal_Transformation(const std::string& err) : Invalid_State(err) {} + }; + +/** +* Exception thrown if some form of illegal point is decoded +* +* In a future major release this exception type will be removed and its +* usage replaced by Decoding_Error +*/ +class BOTAN_PUBLIC_API(2,0) Illegal_Point final : public Decoding_Error + { + public: + explicit Illegal_Point(const std::string& err) : Decoding_Error(err) {} + }; + +/** +* This class represents one point on a curve of GF(p) +*/ +class BOTAN_PUBLIC_API(2,0) PointGFp final + { + public: + enum Compression_Type { + UNCOMPRESSED = 0, + COMPRESSED = 1, + HYBRID = 2 + }; + + enum { WORKSPACE_SIZE = 8 }; + + /** + * Construct an uninitialized PointGFp + */ + PointGFp() = default; + + /** + * Construct the zero point + * @param curve The base curve + */ + explicit PointGFp(const CurveGFp& curve); + + /** + * Copy constructor + */ + PointGFp(const PointGFp&) = default; + + /** + * Move Constructor + */ + PointGFp(PointGFp&& other) + { + this->swap(other); + } + + /** + * Standard Assignment + */ + PointGFp& operator=(const PointGFp&) = default; + + /** + * Move Assignment + */ + PointGFp& operator=(PointGFp&& other) + { + if(this != &other) + this->swap(other); + return (*this); + } + + /** + * Construct a point from its affine coordinates + * Prefer EC_Group::point(x,y) for this operation. + * @param curve the base curve + * @param x affine x coordinate + * @param y affine y coordinate + */ + PointGFp(const CurveGFp& curve, const BigInt& x, const BigInt& y); + + /** + * EC2OSP - elliptic curve to octet string primitive + * @param format which format to encode using + */ + std::vector encode(PointGFp::Compression_Type format) const; + + /** + * += Operator + * @param rhs the PointGFp to add to the local value + * @result resulting PointGFp + */ + PointGFp& operator+=(const PointGFp& rhs); + + /** + * -= Operator + * @param rhs the PointGFp to subtract from the local value + * @result resulting PointGFp + */ + PointGFp& operator-=(const PointGFp& rhs); + + /** + * *= Operator + * @param scalar the PointGFp to multiply with *this + * @result resulting PointGFp + */ + PointGFp& operator*=(const BigInt& scalar); + + /** + * Negate this point + * @return *this + */ + PointGFp& negate() + { + if(!is_zero()) + m_coord_y = m_curve.get_p() - m_coord_y; + return *this; + } + + /** + * get affine x coordinate + * @result affine x coordinate + */ + BigInt get_affine_x() const; + + /** + * get affine y coordinate + * @result affine y coordinate + */ + BigInt get_affine_y() const; + + const BigInt& get_x() const { return m_coord_x; } + const BigInt& get_y() const { return m_coord_y; } + const BigInt& get_z() const { return m_coord_z; } + + void swap_coords(BigInt& new_x, BigInt& new_y, BigInt& new_z) + { + m_coord_x.swap(new_x); + m_coord_y.swap(new_y); + m_coord_z.swap(new_z); + } + + /** + * Force this point to affine coordinates + */ + void force_affine(); + + /** + * Force all points on the list to affine coordinates + */ + static void force_all_affine(std::vector& points, + secure_vector& ws); + + bool is_affine() const; + + /** + * Is this the point at infinity? + * @result true, if this point is at infinity, false otherwise. + */ + bool is_zero() const { return m_coord_z.is_zero(); } + + /** + * Checks whether the point is to be found on the underlying + * curve; used to prevent fault attacks. + * @return if the point is on the curve + */ + bool on_the_curve() const; + + /** + * swaps the states of *this and other, does not throw! + * @param other the object to swap values with + */ + void swap(PointGFp& other); + + /** + * Randomize the point representation + * The actual value (get_affine_x, get_affine_y) does not change + */ + void randomize_repr(RandomNumberGenerator& rng); + + /** + * Randomize the point representation + * The actual value (get_affine_x, get_affine_y) does not change + */ + void randomize_repr(RandomNumberGenerator& rng, secure_vector& ws); + + /** + * Equality operator + */ + bool operator==(const PointGFp& other) const; + + /** + * Point addition + * @param other the point to add to *this + * @param workspace temp space, at least WORKSPACE_SIZE elements + */ + void add(const PointGFp& other, std::vector& workspace) + { + BOTAN_ASSERT_NOMSG(m_curve == other.m_curve); + + const size_t p_words = m_curve.get_p_words(); + + add(other.m_coord_x.data(), std::min(p_words, other.m_coord_x.size()), + other.m_coord_y.data(), std::min(p_words, other.m_coord_y.size()), + other.m_coord_z.data(), std::min(p_words, other.m_coord_z.size()), + workspace); + } + + /** + * Point addition. Array version. + * + * @param x_words the words of the x coordinate of the other point + * @param x_size size of x_words + * @param y_words the words of the y coordinate of the other point + * @param y_size size of y_words + * @param z_words the words of the z coordinate of the other point + * @param z_size size of z_words + * @param workspace temp space, at least WORKSPACE_SIZE elements + */ + void add(const word x_words[], size_t x_size, + const word y_words[], size_t y_size, + const word z_words[], size_t z_size, + std::vector& workspace); + + /** + * Point addition - mixed J+A + * @param other affine point to add - assumed to be affine! + * @param workspace temp space, at least WORKSPACE_SIZE elements + */ + void add_affine(const PointGFp& other, std::vector& workspace) + { + BOTAN_ASSERT_NOMSG(m_curve == other.m_curve); + BOTAN_DEBUG_ASSERT(other.is_affine()); + + const size_t p_words = m_curve.get_p_words(); + add_affine(other.m_coord_x.data(), std::min(p_words, other.m_coord_x.size()), + other.m_coord_y.data(), std::min(p_words, other.m_coord_y.size()), + workspace); + } + + /** + * Point addition - mixed J+A. Array version. + * + * @param x_words the words of the x coordinate of the other point + * @param x_size size of x_words + * @param y_words the words of the y coordinate of the other point + * @param y_size size of y_words + * @param workspace temp space, at least WORKSPACE_SIZE elements + */ + void add_affine(const word x_words[], size_t x_size, + const word y_words[], size_t y_size, + std::vector& workspace); + + /** + * Point doubling + * @param workspace temp space, at least WORKSPACE_SIZE elements + */ + void mult2(std::vector& workspace); + + /** + * Repeated point doubling + * @param i number of doublings to perform + * @param workspace temp space, at least WORKSPACE_SIZE elements + */ + void mult2i(size_t i, std::vector& workspace); + + /** + * Point addition + * @param other the point to add to *this + * @param workspace temp space, at least WORKSPACE_SIZE elements + * @return other plus *this + */ + PointGFp plus(const PointGFp& other, std::vector& workspace) const + { + PointGFp x = (*this); + x.add(other, workspace); + return x; + } + + /** + * Point doubling + * @param workspace temp space, at least WORKSPACE_SIZE elements + * @return *this doubled + */ + PointGFp double_of(std::vector& workspace) const + { + PointGFp x = (*this); + x.mult2(workspace); + return x; + } + + /** + * Return the zero (aka infinite) point associated with this curve + */ + PointGFp zero() const { return PointGFp(m_curve); } + + /** + * Return base curve of this point + * @result the curve over GF(p) of this point + * + * You should not need to use this + */ + const CurveGFp& get_curve() const { return m_curve; } + + private: + CurveGFp m_curve; + BigInt m_coord_x, m_coord_y, m_coord_z; + }; + +/** +* Point multiplication operator +* @param scalar the scalar value +* @param point the point value +* @return scalar*point on the curve +*/ +BOTAN_PUBLIC_API(2,0) PointGFp operator*(const BigInt& scalar, const PointGFp& point); + +/** +* ECC point multiexponentiation - not constant time! +* @param p1 a point +* @param z1 a scalar +* @param p2 a point +* @param z2 a scalar +* @result (p1 * z1 + p2 * z2) +*/ +BOTAN_PUBLIC_API(2,0) PointGFp multi_exponentiate( + const PointGFp& p1, const BigInt& z1, + const PointGFp& p2, const BigInt& z2); + +// relational operators +inline bool operator!=(const PointGFp& lhs, const PointGFp& rhs) + { + return !(rhs == lhs); + } + +// arithmetic operators +inline PointGFp operator-(const PointGFp& lhs) + { + return PointGFp(lhs).negate(); + } + +inline PointGFp operator+(const PointGFp& lhs, const PointGFp& rhs) + { + PointGFp tmp(lhs); + return tmp += rhs; + } + +inline PointGFp operator-(const PointGFp& lhs, const PointGFp& rhs) + { + PointGFp tmp(lhs); + return tmp -= rhs; + } + +inline PointGFp operator*(const PointGFp& point, const BigInt& scalar) + { + return scalar * point; + } + +// encoding and decoding +inline secure_vector BOTAN_DEPRECATED("Use PointGFp::encode") + EC2OSP(const PointGFp& point, uint8_t format) + { + std::vector enc = point.encode(static_cast(format)); + return secure_vector(enc.begin(), enc.end()); + } + +/** +* Perform point decoding +* Use EC_Group::OS2ECP instead +*/ +PointGFp BOTAN_PUBLIC_API(2,0) OS2ECP(const uint8_t data[], size_t data_len, + const CurveGFp& curve); + +/** +* Perform point decoding +* Use EC_Group::OS2ECP instead +* +* @param data the encoded point +* @param data_len length of data in bytes +* @param curve_p the curve equation prime +* @param curve_a the curve equation a parameter +* @param curve_b the curve equation b parameter +*/ +std::pair BOTAN_UNSTABLE_API OS2ECP(const uint8_t data[], size_t data_len, + const BigInt& curve_p, + const BigInt& curve_a, + const BigInt& curve_b); + +template +PointGFp OS2ECP(const std::vector& data, const CurveGFp& curve) + { return OS2ECP(data.data(), data.size(), curve); } + +class PointGFp_Var_Point_Precompute; + +/** +* Deprecated API for point multiplication +* Use EC_Group::blinded_base_point_multiply or EC_Group::blinded_var_point_multiply +*/ +class BOTAN_PUBLIC_API(2,0) Blinded_Point_Multiply final + { + public: + Blinded_Point_Multiply(const PointGFp& base, const BigInt& order, size_t h = 0); + + ~Blinded_Point_Multiply(); + + PointGFp BOTAN_DEPRECATED("Use alternative APIs") blinded_multiply(const BigInt& scalar, RandomNumberGenerator& rng); + private: + std::vector m_ws; + const BigInt& m_order; + std::unique_ptr m_point_mul; + }; + +} + +namespace std { + +template<> +inline void swap(Botan::PointGFp& x, Botan::PointGFp& y) + { x.swap(y); } + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/poly1305.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/poly1305.h new file mode 100644 index 00000000..fdd01ecd --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/poly1305.h @@ -0,0 +1,50 @@ +/* +* Poly1305 +* (C) 2014 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_MAC_POLY1305_H_ +#define BOTAN_MAC_POLY1305_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(poly1305.h) + +namespace Botan { + +/** +* DJB's Poly1305 +* Important note: each key can only be used once +*/ +class BOTAN_PUBLIC_API(2,0) Poly1305 final : public MessageAuthenticationCode + { + public: + std::string name() const override { return "Poly1305"; } + + MessageAuthenticationCode* clone() const override { return new Poly1305; } + + void clear() override; + + size_t output_length() const override { return 16; } + + Key_Length_Specification key_spec() const override + { + return Key_Length_Specification(32); + } + + private: + void add_data(const uint8_t[], size_t) override; + void final_result(uint8_t[]) override; + void key_schedule(const uint8_t[], size_t) override; + + secure_vector m_poly; + secure_vector m_buf; + size_t m_buf_pos = 0; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/polyn_gf2m.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/polyn_gf2m.h new file mode 100644 index 00000000..0f9bf07f --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/polyn_gf2m.h @@ -0,0 +1,174 @@ +/* + * (C) Copyright Projet SECRET, INRIA, Rocquencourt + * (C) Bhaskar Biswas and Nicolas Sendrier + * + * (C) 2014 cryptosource GmbH + * (C) 2014 Falko Strenzke fstrenzke@cryptosource.de + * + * Botan is released under the Simplified BSD License (see license.txt) + * + */ + +#ifndef BOTAN_POLYN_GF2M_H_ +#define BOTAN_POLYN_GF2M_H_ + +#include +#include +#include + +// Currently must be visible for MSVC +//BOTAN_FUTURE_INTERNAL_HEADER(polyn_gf2m.h) + +namespace Botan { + +typedef uint16_t gf2m; + +class GF2m_Field; + +class RandomNumberGenerator; + +class polyn_gf2m + { + public: + /** + * create a zero polynomial: + */ + explicit polyn_gf2m(std::shared_ptr sp_field); + + polyn_gf2m() : m_deg(-1) {} + + polyn_gf2m(const secure_vector& encoded, std::shared_ptr sp_field); + + polyn_gf2m& operator=(const polyn_gf2m&) = default; + + /** + * create zero polynomial with reservation of space for a degree d polynomial + */ + polyn_gf2m(int d, std::shared_ptr sp_field); + + polyn_gf2m(polyn_gf2m const& other); + + /** + * random irreducible polynomial of degree t + */ + polyn_gf2m(size_t t, RandomNumberGenerator& rng, std::shared_ptr sp_field); + + /** decode a polynomial from memory: **/ + polyn_gf2m(const uint8_t* mem, uint32_t mem_len, std::shared_ptr sp_field); + + /** + * create a polynomial from memory area (encoded) + */ + polyn_gf2m(int degree, const uint8_t* mem, size_t mem_byte_len, std::shared_ptr sp_field); + + bool operator==(const polyn_gf2m & other) const ; + + bool operator!=(const polyn_gf2m & other) const { return !(*this == other); } + + polyn_gf2m(polyn_gf2m&& other) + { + this->swap(other); + } + + polyn_gf2m & operator=(polyn_gf2m&& other) + { + if(this != &other) + { + this->swap(other); + } + return *this; + } + + void swap(polyn_gf2m& other); + + secure_vector encode() const; + + std::shared_ptr get_sp_field() const + { return m_sp_field; } + + gf2m& operator[](size_t i) { return coeff[i]; } + + gf2m operator[](size_t i) const { return coeff[i]; } + + gf2m get_lead_coef() const { return coeff[m_deg]; } + + gf2m get_coef(size_t i) const { return coeff[i]; } + + inline void set_coef(size_t i, gf2m v) + { + coeff[i] = v; + } + + inline void add_to_coef(size_t i, gf2m v) + { + coeff[i] ^= v; + } + + std::string to_string() const; + + void encode(uint32_t min_numo_coeffs, uint8_t* mem, uint32_t mem_len) const; + + int get_degree() const; + + /** + * determine the degree in a timing secure manner. the timing of this function + * only depends on the number of allocated coefficients, not on the actual + * degree + */ + int calc_degree_secure() const; + + size_t degppf(const polyn_gf2m& g); + + static std::vector sqmod_init(const polyn_gf2m & g); + + static std::vector sqrt_mod_init(const polyn_gf2m & g); + + + polyn_gf2m sqmod(const std::vector & sq, int d); + void set_to_zero(); + gf2m eval(gf2m a); + + static std::pair eea_with_coefficients(const polyn_gf2m & p, + const polyn_gf2m & g, + int break_deg); + + void patchup_deg_secure( uint32_t trgt_deg, volatile gf2m patch_elem); + + private: + + void set_degree(int d) { m_deg = d; } + + void poly_shiftmod( const polyn_gf2m & g); + void realloc(uint32_t new_size); + static polyn_gf2m gcd(polyn_gf2m const& p1, polyn_gf2m const& p2); + + /** + * destructive: + */ + static void remainder(polyn_gf2m & p, const polyn_gf2m & g); + + static polyn_gf2m gcd_aux(polyn_gf2m& p1, polyn_gf2m& p2); + public: + // public member variable: + int m_deg; + + // public member variable: + secure_vector coeff; + + // public member variable: + std::shared_ptr m_sp_field; + }; + +gf2m random_gf2m(RandomNumberGenerator& rng); +gf2m random_code_element(uint16_t code_length, RandomNumberGenerator& rng); + +std::vector syndrome_init(polyn_gf2m const& generator, std::vector const& support, int n); + +/** +* Find the roots of a polynomial over GF(2^m) using the method by Federenko et al. +*/ +secure_vector find_roots_gf2m_decomp(const polyn_gf2m & polyn, size_t code_length); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pow_mod.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pow_mod.h new file mode 100644 index 00000000..b465013e --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pow_mod.h @@ -0,0 +1,122 @@ +/* +* Modular Exponentiator +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_POWER_MOD_H_ +#define BOTAN_POWER_MOD_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(pow_mod.h) + +namespace Botan { + +class Modular_Exponentiator; + +/** +* Modular Exponentiator Proxy +*/ +class BOTAN_PUBLIC_API(2,0) Power_Mod + { + public: + + enum Usage_Hints { + NO_HINTS = 0x0000, + + BASE_IS_FIXED = 0x0001, + BASE_IS_SMALL = 0x0002, + BASE_IS_LARGE = 0x0004, + BASE_IS_2 = 0x0008, + + EXP_IS_FIXED = 0x0100, + EXP_IS_SMALL = 0x0200, + EXP_IS_LARGE = 0x0400 + }; + + /* + * Try to choose a good window size + */ + static size_t window_bits(size_t exp_bits, size_t base_bits, + Power_Mod::Usage_Hints hints); + + /** + * @param modulus the modulus + * @param hints Passed to set_modulus if modulus > 0 + * @param disable_montgomery_arith Disables use of Montgomery + * representation. Likely only useful for testing. + */ + void set_modulus(const BigInt& modulus, + Usage_Hints hints = NO_HINTS, + bool disable_montgomery_arith = false) const; + + /** + * Set the base + */ + void set_base(const BigInt& base) const; + + /** + * Set the exponent + */ + void set_exponent(const BigInt& exponent) const; + + /** + * All three of the above functions must have already been called. + * @return result of g^x%p + */ + BigInt execute() const; + + Power_Mod& operator=(const Power_Mod&); + + /** + * @param modulus Optionally call set_modulus + * @param hints Passed to set_modulus if modulus > 0 + * @param disable_montgomery_arith Disables use of Montgomery + * representation. Likely only useful for testing. + */ + Power_Mod(const BigInt& modulus = 0, + Usage_Hints hints = NO_HINTS, + bool disable_montgomery_arith = false); + Power_Mod(const Power_Mod&); + virtual ~Power_Mod(); + private: + mutable std::unique_ptr m_core; + }; + +/** +* Fixed Exponent Modular Exponentiator Proxy +*/ +class BOTAN_PUBLIC_API(2,0) Fixed_Exponent_Power_Mod final : public Power_Mod + { + public: + BigInt operator()(const BigInt& b) const + { set_base(b); return execute(); } + + Fixed_Exponent_Power_Mod() = default; + + Fixed_Exponent_Power_Mod(const BigInt& exponent, + const BigInt& modulus, + Usage_Hints hints = NO_HINTS); + }; + +/** +* Fixed Base Modular Exponentiator Proxy +*/ +class BOTAN_PUBLIC_API(2,0) Fixed_Base_Power_Mod final : public Power_Mod + { + public: + BigInt operator()(const BigInt& e) const + { set_exponent(e); return execute(); } + + Fixed_Base_Power_Mod() = default; + + Fixed_Base_Power_Mod(const BigInt& base, + const BigInt& modulus, + Usage_Hints hints = NO_HINTS); + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/prf_tls.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/prf_tls.h new file mode 100644 index 00000000..603086a7 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/prf_tls.h @@ -0,0 +1,70 @@ +/* +* TLS v1.0 and v1.2 PRFs +* (C) 2004-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_PRF_H_ +#define BOTAN_TLS_PRF_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(prf_tls.h) + +namespace Botan { + +/** +* PRF used in TLS 1.0/1.1 +*/ +class BOTAN_PUBLIC_API(2,0) TLS_PRF final : public KDF + { + public: + std::string name() const override { return "TLS-PRF"; } + + KDF* clone() const override { return new TLS_PRF; } + + size_t kdf(uint8_t key[], size_t key_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len) const override; + + TLS_PRF(std::unique_ptr hmac_md5, + std::unique_ptr hmac_sha1) : + m_hmac_md5(std::move(hmac_md5)), + m_hmac_sha1(std::move(hmac_sha1)) + {} + + TLS_PRF(); + private: + std::unique_ptr m_hmac_md5; + std::unique_ptr m_hmac_sha1; + }; + +/** +* PRF used in TLS 1.2 +*/ +class BOTAN_PUBLIC_API(2,0) TLS_12_PRF final : public KDF + { + public: + std::string name() const override { return "TLS-12-PRF(" + m_mac->name() + ")"; } + + KDF* clone() const override { return new TLS_12_PRF(m_mac->clone()); } + + size_t kdf(uint8_t key[], size_t key_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len) const override; + + /** + * @param mac MAC algorithm to use + */ + explicit TLS_12_PRF(MessageAuthenticationCode* mac) : m_mac(mac) {} + private: + std::unique_ptr m_mac; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/prf_x942.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/prf_x942.h new file mode 100644 index 00000000..98af7e06 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/prf_x942.h @@ -0,0 +1,42 @@ +/* +* X9.42 PRF +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ANSI_X942_PRF_H_ +#define BOTAN_ANSI_X942_PRF_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(prf_x942.h) + +namespace Botan { + +/** +* PRF from ANSI X9.42 +*/ +class BOTAN_PUBLIC_API(2,0) X942_PRF final : public KDF + { + public: + std::string name() const override; + + KDF* clone() const override { return new X942_PRF(m_key_wrap_oid); } + + size_t kdf(uint8_t key[], size_t key_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len) const override; + + explicit X942_PRF(const std::string& oid) : m_key_wrap_oid(OID::from_string(oid)) {} + + explicit X942_PRF(const OID& oid) : m_key_wrap_oid(oid) {} + private: + OID m_key_wrap_oid; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/processor_rng.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/processor_rng.h new file mode 100644 index 00000000..5900e386 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/processor_rng.h @@ -0,0 +1,52 @@ +/* +* (C) 2016,2019,2020 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_RNG_PROCESSOR_RNG_H_ +#define BOTAN_RNG_PROCESSOR_RNG_H_ + +#include + +namespace Botan { + +/** +* Directly invokes a CPU specific instruction to generate random numbers. +* On x86, the RDRAND instruction is used. +* on POWER, the DARN instruction is used. +*/ +class BOTAN_PUBLIC_API(2,15) Processor_RNG final : public Hardware_RNG + { + public: + /** + * Constructor will throw if CPU does not have RDRAND bit set + */ + Processor_RNG(); + + /** + * Return true if RNG instruction is available on the current processor + */ + static bool available(); + + bool accepts_input() const override { return false; } + bool is_seeded() const override { return true; } + + void randomize(uint8_t out[], size_t out_len) override; + + /* + * No way to provide entropy to RDRAND generator, so add_entropy is ignored + */ + void add_entropy(const uint8_t[], size_t) override; + + /* + * No way to reseed processor provided generator, so reseed is ignored + */ + size_t reseed(Entropy_Sources&, size_t, std::chrono::milliseconds) override; + + std::string name() const override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/psk_db.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/psk_db.h new file mode 100644 index 00000000..06358935 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/psk_db.h @@ -0,0 +1,166 @@ +/* +* (C) 2017 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PSK_DB_H_ +#define BOTAN_PSK_DB_H_ + +#include +#include +#include +#include + +namespace Botan { + +class BlockCipher; +class MessageAuthenticationCode; + +/** +* This is an interface to a generic PSK (pre-shared key) database. +* It might be implemented as a plaintext storage or via some mechanism +* that encrypts the keys and/or values. +*/ +class BOTAN_PUBLIC_API(2,4) PSK_Database + { + public: + /** + * Return the set of names for which get() will return a value. + */ + virtual std::set list_names() const = 0; + + /** + * Return the value associated with the specified @param name or otherwise + * throw an exception. + */ + virtual secure_vector get(const std::string& name) const = 0; + + /** + * Set a value that can later be accessed with get(). + * If name already exists in the database, the old value will be overwritten. + */ + virtual void set(const std::string& name, const uint8_t psk[], size_t psk_len) = 0; + + /** + * Remove a PSK from the database + */ + virtual void remove(const std::string& name) = 0; + + /** + * Returns if the values in the PSK database are encrypted. If + * false, saved values are being stored in plaintext. + */ + virtual bool is_encrypted() const = 0; + + /** + * Get a PSK in the form of a string (eg if the PSK is a password) + */ + std::string get_str(const std::string& name) const + { + secure_vector psk = get(name); + return std::string(cast_uint8_ptr_to_char(psk.data()), psk.size()); + } + + void set_str(const std::string& name, const std::string& psk) + { + set(name, cast_char_ptr_to_uint8(psk.data()), psk.size()); + } + + template + void set_vec(const std::string& name, + const std::vector& psk) + + { + set(name, psk.data(), psk.size()); + } + + virtual ~PSK_Database() = default; + }; + +/** +* A mixin for an encrypted PSK database. +* Both keys and values are encrypted with NIST AES-256 key wrapping. +* Values are padded to obscure their length before encryption, allowing +* it to be used as a password vault. +* +* Subclasses must implement the virtual calls to handle storing and +* getting raw (base64 encoded) values. +*/ +class BOTAN_PUBLIC_API(2,4) Encrypted_PSK_Database : public PSK_Database + { + public: + /** + * @param master_key specifies the master key used to encrypt all + * keys and value. It can be of any length, but should be at least 256 bits. + * + * Subkeys for the cryptographic algorithms used are derived from this + * master key. No key stretching is performed; if encrypting a PSK database + * using a password, it is recommended to use PBKDF2 to derive the database + * master key. + */ + Encrypted_PSK_Database(const secure_vector& master_key); + + ~Encrypted_PSK_Database(); + + std::set list_names() const override; + + secure_vector get(const std::string& name) const override; + + void set(const std::string& name, const uint8_t psk[], size_t psk_len) override; + + void remove(const std::string& name) override; + + bool is_encrypted() const override { return true; } + + protected: + /** + * Save a encrypted (name.value) pair to the database. Both will be base64 encoded strings. + */ + virtual void kv_set(const std::string& index, const std::string& value) = 0; + + /** + * Get a value previously saved with set_raw_value. Should return an empty + * string if index is not found. + */ + virtual std::string kv_get(const std::string& index) const = 0; + + /** + * Remove an index + */ + virtual void kv_del(const std::string& index) = 0; + + /** + * Return all indexes in the table. + */ + virtual std::set kv_get_all() const = 0; + + private: + std::unique_ptr m_cipher; + std::unique_ptr m_hmac; + secure_vector m_wrap_key; + }; + +class SQL_Database; + +class BOTAN_PUBLIC_API(2,4) Encrypted_PSK_Database_SQL : public Encrypted_PSK_Database + { + public: + Encrypted_PSK_Database_SQL(const secure_vector& master_key, + std::shared_ptr db, + const std::string& table_name); + + ~Encrypted_PSK_Database_SQL(); + private: + void kv_set(const std::string& index, const std::string& value) override; + std::string kv_get(const std::string& index) const override; + void kv_del(const std::string& index) override; + std::set kv_get_all() const override; + + std::shared_ptr m_db; + const std::string m_table_name; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/psk_db_sql.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/psk_db_sql.h new file mode 100644 index 00000000..170ca674 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/psk_db_sql.h @@ -0,0 +1,13 @@ +/* +* (C) 2017 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PSK_DB_SQL_H_ +#define BOTAN_PSK_DB_SQL_H_ + +#include +BOTAN_DEPRECATED_HEADER(psk_db_sql.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pssr.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pssr.h new file mode 100644 index 00000000..47efacb5 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pssr.h @@ -0,0 +1,103 @@ +/* +* PSSR +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PSSR_H_ +#define BOTAN_PSSR_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(pssr.h) + +namespace Botan { + +/** +* PSSR (called EMSA4 in IEEE 1363 and in old versions of the library) +*/ +class BOTAN_PUBLIC_API(2,0) PSSR final : public EMSA + { + public: + + /** + * @param hash the hash function to use + */ + explicit PSSR(HashFunction* hash); + + /** + * @param hash the hash function to use + * @param salt_size the size of the salt to use in bytes + */ + PSSR(HashFunction* hash, size_t salt_size); + + EMSA* clone() override; + + std::string name() const override; + + AlgorithmIdentifier config_for_x509(const Private_Key& key, + const std::string& cert_hash_name) const override; + private: + void update(const uint8_t input[], size_t length) override; + + secure_vector raw_data() override; + + secure_vector encoding_of(const secure_vector& msg, + size_t output_bits, + RandomNumberGenerator& rng) override; + + bool verify(const secure_vector& coded, + const secure_vector& raw, + size_t key_bits) override; + + std::unique_ptr m_hash; + size_t m_salt_size; + bool m_required_salt_len; + }; + +/** +* PSSR_Raw +* This accepts a pre-hashed buffer +*/ +class BOTAN_PUBLIC_API(2,3) PSSR_Raw final : public EMSA + { + public: + + /** + * @param hash the hash function to use + */ + explicit PSSR_Raw(HashFunction* hash); + + /** + * @param hash the hash function to use + * @param salt_size the size of the salt to use in bytes + */ + PSSR_Raw(HashFunction* hash, size_t salt_size); + + EMSA* clone() override; + + std::string name() const override; + private: + void update(const uint8_t input[], size_t length) override; + + secure_vector raw_data() override; + + secure_vector encoding_of(const secure_vector& msg, + size_t output_bits, + RandomNumberGenerator& rng) override; + + bool verify(const secure_vector& coded, + const secure_vector& raw, + size_t key_bits) override; + + std::unique_ptr m_hash; + secure_vector m_msg; + size_t m_salt_size; + bool m_required_salt_len; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pubkey.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pubkey.h new file mode 100644 index 00000000..2aa8ea91 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pubkey.h @@ -0,0 +1,800 @@ +/* +* Public Key Interface +* (C) 1999-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PUBKEY_H_ +#define BOTAN_PUBKEY_H_ + +#include +#include +#include +#include + +#if defined(BOTAN_HAS_SYSTEM_RNG) + #include + #define BOTAN_PUBKEY_INCLUDE_DEPRECATED_CONSTRUCTORS +#endif + +namespace Botan { + +class RandomNumberGenerator; + +/** +* Public Key Encryptor +* This is the primary interface for public key encryption +*/ +class BOTAN_PUBLIC_API(2,0) PK_Encryptor + { + public: + + /** + * Encrypt a message. + * @param in the message as a byte array + * @param length the length of the above byte array + * @param rng the random number source to use + * @return encrypted message + */ + std::vector encrypt(const uint8_t in[], size_t length, + RandomNumberGenerator& rng) const + { + return enc(in, length, rng); + } + + /** + * Encrypt a message. + * @param in the message + * @param rng the random number source to use + * @return encrypted message + */ + template + std::vector encrypt(const std::vector& in, + RandomNumberGenerator& rng) const + { + return enc(in.data(), in.size(), rng); + } + + /** + * Return the maximum allowed message size in bytes. + * @return maximum message size in bytes + */ + virtual size_t maximum_input_size() const = 0; + + /** + * Return an upper bound on the ciphertext length + */ + virtual size_t ciphertext_length(size_t ctext_len) const = 0; + + PK_Encryptor() = default; + virtual ~PK_Encryptor() = default; + + PK_Encryptor(const PK_Encryptor&) = delete; + PK_Encryptor& operator=(const PK_Encryptor&) = delete; + + private: + virtual std::vector enc(const uint8_t[], size_t, + RandomNumberGenerator&) const = 0; + }; + +/** +* Public Key Decryptor +*/ +class BOTAN_PUBLIC_API(2,0) PK_Decryptor + { + public: + /** + * Decrypt a ciphertext, throwing an exception if the input + * seems to be invalid (eg due to an accidental or malicious + * error in the ciphertext). + * + * @param in the ciphertext as a byte array + * @param length the length of the above byte array + * @return decrypted message + */ + secure_vector decrypt(const uint8_t in[], size_t length) const; + + /** + * Same as above, but taking a vector + * @param in the ciphertext + * @return decrypted message + */ + template + secure_vector decrypt(const std::vector& in) const + { + return decrypt(in.data(), in.size()); + } + + /** + * Decrypt a ciphertext. If the ciphertext is invalid (eg due to + * invalid padding) or is not the expected length, instead + * returns a random string of the expected length. Use to avoid + * oracle attacks, especially against PKCS #1 v1.5 decryption. + */ + secure_vector + decrypt_or_random(const uint8_t in[], + size_t length, + size_t expected_pt_len, + RandomNumberGenerator& rng) const; + + /** + * Decrypt a ciphertext. If the ciphertext is invalid (eg due to + * invalid padding) or is not the expected length, instead + * returns a random string of the expected length. Use to avoid + * oracle attacks, especially against PKCS #1 v1.5 decryption. + * + * Additionally checks (also in const time) that: + * contents[required_content_offsets[i]] == required_content_bytes[i] + * for 0 <= i < required_contents + * + * Used for example in TLS, which encodes the client version in + * the content bytes: if there is any timing variation the version + * check can be used as an oracle to recover the key. + */ + secure_vector + decrypt_or_random(const uint8_t in[], + size_t length, + size_t expected_pt_len, + RandomNumberGenerator& rng, + const uint8_t required_content_bytes[], + const uint8_t required_content_offsets[], + size_t required_contents) const; + + /** + * Return an upper bound on the plaintext length for a particular + * ciphertext input length + */ + virtual size_t plaintext_length(size_t ctext_len) const = 0; + + PK_Decryptor() = default; + virtual ~PK_Decryptor() = default; + + PK_Decryptor(const PK_Decryptor&) = delete; + PK_Decryptor& operator=(const PK_Decryptor&) = delete; + + private: + virtual secure_vector do_decrypt(uint8_t& valid_mask, + const uint8_t in[], size_t in_len) const = 0; + }; + +/** +* Public Key Signer. Use the sign_message() functions for small +* messages. Use multiple calls update() to process large messages and +* generate the signature by finally calling signature(). +*/ +class BOTAN_PUBLIC_API(2,0) PK_Signer final + { + public: + + /** + * Construct a PK Signer. + * @param key the key to use inside this signer + * @param rng the random generator to use + * @param emsa the EMSA to use + * An example would be "EMSA1(SHA-224)". + * @param format the signature format to use + * @param provider the provider to use + */ + PK_Signer(const Private_Key& key, + RandomNumberGenerator& rng, + const std::string& emsa, + Signature_Format format = IEEE_1363, + const std::string& provider = ""); + +#if defined(BOTAN_PUBKEY_INCLUDE_DEPRECATED_CONSTRUCTORS) + /** + * Construct a PK Signer. + * @param key the key to use inside this signer + * @param emsa the EMSA to use + * An example would be "EMSA1(SHA-224)". + * @param format the signature format to use + */ + BOTAN_DEPRECATED("Use constructor taking a RNG object") + PK_Signer(const Private_Key& key, + const std::string& emsa, + Signature_Format format = IEEE_1363, + const std::string& provider = "") : + PK_Signer(key, system_rng(), emsa, format, provider) + {} +#endif + + ~PK_Signer(); + + PK_Signer(const PK_Signer&) = delete; + PK_Signer& operator=(const PK_Signer&) = delete; + + /** + * Sign a message all in one go + * @param in the message to sign as a byte array + * @param length the length of the above byte array + * @param rng the rng to use + * @return signature + */ + std::vector sign_message(const uint8_t in[], size_t length, + RandomNumberGenerator& rng) + { + this->update(in, length); + return this->signature(rng); + } + + /** + * Sign a message. + * @param in the message to sign + * @param rng the rng to use + * @return signature + */ + template + std::vector sign_message(const std::vector& in, + RandomNumberGenerator& rng) + { + return sign_message(in.data(), in.size(), rng); + } + + /** + * Add a message part (single byte). + * @param in the byte to add + */ + void update(uint8_t in) { update(&in, 1); } + + /** + * Add a message part. + * @param in the message part to add as a byte array + * @param length the length of the above byte array + */ + void update(const uint8_t in[], size_t length); + + /** + * Add a message part. + * @param in the message part to add + */ + template + void update(const std::vector& in) + { + update(in.data(), in.size()); + } + + /** + * Add a message part. + * @param in the message part to add + */ + void update(const std::string& in) + { + update(cast_char_ptr_to_uint8(in.data()), in.size()); + } + + /** + * Get the signature of the so far processed message (provided by the + * calls to update()). + * @param rng the rng to use + * @return signature of the total message + */ + std::vector signature(RandomNumberGenerator& rng); + + + /** + * Set the output format of the signature. + * @param format the signature format to use + */ + void set_output_format(Signature_Format format) { m_sig_format = format; } + + /** + * Return an upper bound on the length of the signatures this + * PK_Signer will produce + */ + size_t signature_length() const; + + private: + std::unique_ptr m_op; + Signature_Format m_sig_format; + size_t m_parts, m_part_size; + }; + +/** +* Public Key Verifier. Use the verify_message() functions for small +* messages. Use multiple calls update() to process large messages and +* verify the signature by finally calling check_signature(). +*/ +class BOTAN_PUBLIC_API(2,0) PK_Verifier final + { + public: + /** + * Construct a PK Verifier. + * @param pub_key the public key to verify against + * @param emsa the EMSA to use (eg "EMSA3(SHA-1)") + * @param format the signature format to use + * @param provider the provider to use + */ + PK_Verifier(const Public_Key& pub_key, + const std::string& emsa, + Signature_Format format = IEEE_1363, + const std::string& provider = ""); + + ~PK_Verifier(); + + PK_Verifier& operator=(const PK_Verifier&) = delete; + PK_Verifier(const PK_Verifier&) = delete; + + /** + * Verify a signature. + * @param msg the message that the signature belongs to, as a byte array + * @param msg_length the length of the above byte array msg + * @param sig the signature as a byte array + * @param sig_length the length of the above byte array sig + * @return true if the signature is valid + */ + bool verify_message(const uint8_t msg[], size_t msg_length, + const uint8_t sig[], size_t sig_length); + /** + * Verify a signature. + * @param msg the message that the signature belongs to + * @param sig the signature + * @return true if the signature is valid + */ + template + bool verify_message(const std::vector& msg, + const std::vector& sig) + { + return verify_message(msg.data(), msg.size(), + sig.data(), sig.size()); + } + + /** + * Add a message part (single byte) of the message corresponding to the + * signature to be verified. + * @param in the byte to add + */ + void update(uint8_t in) { update(&in, 1); } + + /** + * Add a message part of the message corresponding to the + * signature to be verified. + * @param msg_part the new message part as a byte array + * @param length the length of the above byte array + */ + void update(const uint8_t msg_part[], size_t length); + + /** + * Add a message part of the message corresponding to the + * signature to be verified. + * @param in the new message part + */ + template + void update(const std::vector& in) + { + update(in.data(), in.size()); + } + + /** + * Add a message part of the message corresponding to the + * signature to be verified. + */ + void update(const std::string& in) + { + update(cast_char_ptr_to_uint8(in.data()), in.size()); + } + + /** + * Check the signature of the buffered message, i.e. the one build + * by successive calls to update. + * @param sig the signature to be verified as a byte array + * @param length the length of the above byte array + * @return true if the signature is valid, false otherwise + */ + bool check_signature(const uint8_t sig[], size_t length); + + /** + * Check the signature of the buffered message, i.e. the one build + * by successive calls to update. + * @param sig the signature to be verified + * @return true if the signature is valid, false otherwise + */ + template + bool check_signature(const std::vector& sig) + { + return check_signature(sig.data(), sig.size()); + } + + /** + * Set the format of the signatures fed to this verifier. + * @param format the signature format to use + */ + void set_input_format(Signature_Format format); + + private: + std::unique_ptr m_op; + Signature_Format m_sig_format; + size_t m_parts, m_part_size; + }; + +/** +* Object used for key agreement +*/ +class BOTAN_PUBLIC_API(2,0) PK_Key_Agreement final + { + public: + + /** + * Construct a PK Key Agreement. + * @param key the key to use + * @param rng the random generator to use + * @param kdf name of the KDF to use (or 'Raw' for no KDF) + * @param provider the algo provider to use (or empty for default) + */ + PK_Key_Agreement(const Private_Key& key, + RandomNumberGenerator& rng, + const std::string& kdf, + const std::string& provider = ""); + +#if defined(BOTAN_PUBKEY_INCLUDE_DEPRECATED_CONSTRUCTORS) + /** + * Construct a PK Key Agreement. + * @param key the key to use + * @param kdf name of the KDF to use (or 'Raw' for no KDF) + * @param provider the algo provider to use (or empty for default) + */ + BOTAN_DEPRECATED("Use constructor taking a RNG object") + PK_Key_Agreement(const Private_Key& key, + const std::string& kdf, + const std::string& provider = "") : + PK_Key_Agreement(key, system_rng(), kdf, provider) + {} +#endif + + ~PK_Key_Agreement(); + + // For ECIES + PK_Key_Agreement& operator=(PK_Key_Agreement&&); + PK_Key_Agreement(PK_Key_Agreement&&); + + PK_Key_Agreement& operator=(const PK_Key_Agreement&) = delete; + PK_Key_Agreement(const PK_Key_Agreement&) = delete; + + /** + * Perform Key Agreement Operation + * @param key_len the desired key output size + * @param in the other parties key + * @param in_len the length of in in bytes + * @param params extra derivation params + * @param params_len the length of params in bytes + */ + SymmetricKey derive_key(size_t key_len, + const uint8_t in[], + size_t in_len, + const uint8_t params[], + size_t params_len) const; + + /** + * Perform Key Agreement Operation + * @param key_len the desired key output size + * @param in the other parties key + * @param params extra derivation params + * @param params_len the length of params in bytes + */ + SymmetricKey derive_key(size_t key_len, + const std::vector& in, + const uint8_t params[], + size_t params_len) const + { + return derive_key(key_len, in.data(), in.size(), + params, params_len); + } + + /** + * Perform Key Agreement Operation + * @param key_len the desired key output size + * @param in the other parties key + * @param in_len the length of in in bytes + * @param params extra derivation params + */ + SymmetricKey derive_key(size_t key_len, + const uint8_t in[], size_t in_len, + const std::string& params = "") const + { + return derive_key(key_len, in, in_len, + cast_char_ptr_to_uint8(params.data()), + params.length()); + } + + /** + * Perform Key Agreement Operation + * @param key_len the desired key output size + * @param in the other parties key + * @param params extra derivation params + */ + SymmetricKey derive_key(size_t key_len, + const std::vector& in, + const std::string& params = "") const + { + return derive_key(key_len, in.data(), in.size(), + cast_char_ptr_to_uint8(params.data()), + params.length()); + } + + /** + * Return the underlying size of the value that is agreed. + * If derive_key is called with a length of 0 with a "Raw" + * KDF, it will return a value of this size. + */ + size_t agreed_value_size() const; + + private: + std::unique_ptr m_op; + }; + +/** +* Encryption using a standard message recovery algorithm like RSA or +* ElGamal, paired with an encoding scheme like OAEP. +*/ +class BOTAN_PUBLIC_API(2,0) PK_Encryptor_EME final : public PK_Encryptor + { + public: + size_t maximum_input_size() const override; + + /** + * Construct an instance. + * @param key the key to use inside the encryptor + * @param rng the RNG to use + * @param padding the message encoding scheme to use (eg "OAEP(SHA-256)") + * @param provider the provider to use + */ + PK_Encryptor_EME(const Public_Key& key, + RandomNumberGenerator& rng, + const std::string& padding, + const std::string& provider = ""); + +#if defined(BOTAN_PUBKEY_INCLUDE_DEPRECATED_CONSTRUCTORS) + /** + * Construct an instance. + * @param key the key to use inside the encryptor + * @param padding the message encoding scheme to use (eg "OAEP(SHA-256)") + */ + BOTAN_DEPRECATED("Use constructor taking a RNG object") + PK_Encryptor_EME(const Public_Key& key, + const std::string& padding, + const std::string& provider = "") : + PK_Encryptor_EME(key, system_rng(), padding, provider) {} +#endif + + ~PK_Encryptor_EME(); + + PK_Encryptor_EME& operator=(const PK_Encryptor_EME&) = delete; + PK_Encryptor_EME(const PK_Encryptor_EME&) = delete; + + /** + * Return an upper bound on the ciphertext length for a particular + * plaintext input length + */ + size_t ciphertext_length(size_t ptext_len) const override; + private: + std::vector enc(const uint8_t[], size_t, + RandomNumberGenerator& rng) const override; + + std::unique_ptr m_op; + }; + +/** +* Decryption with an MR algorithm and an EME. +*/ +class BOTAN_PUBLIC_API(2,0) PK_Decryptor_EME final : public PK_Decryptor + { + public: + /** + * Construct an instance. + * @param key the key to use inside the decryptor + * @param rng the random generator to use + * @param eme the EME to use + * @param provider the provider to use + */ + PK_Decryptor_EME(const Private_Key& key, + RandomNumberGenerator& rng, + const std::string& eme, + const std::string& provider = ""); + + +#if defined(BOTAN_PUBKEY_INCLUDE_DEPRECATED_CONSTRUCTORS) + /** + * Construct an instance. + * @param key the key to use inside the decryptor + * @param eme the message encoding scheme to use (eg "OAEP(SHA-256)") + */ + BOTAN_DEPRECATED("Use constructor taking a RNG object") + PK_Decryptor_EME(const Private_Key& key, + const std::string& eme, + const std::string& provider = "") : + PK_Decryptor_EME(key, system_rng(), eme, provider) {} +#endif + + size_t plaintext_length(size_t ptext_len) const override; + + ~PK_Decryptor_EME(); + PK_Decryptor_EME& operator=(const PK_Decryptor_EME&) = delete; + PK_Decryptor_EME(const PK_Decryptor_EME&) = delete; + private: + secure_vector do_decrypt(uint8_t& valid_mask, + const uint8_t in[], + size_t in_len) const override; + + std::unique_ptr m_op; + }; + +/** +* Public Key Key Encapsulation Mechanism Encryption. +*/ +class BOTAN_PUBLIC_API(2,0) PK_KEM_Encryptor final + { + public: + /** + * Construct an instance. + * @param key the key to use inside the encryptor + * @param rng the RNG to use + * @param kem_param additional KEM parameters + * @param provider the provider to use + */ + PK_KEM_Encryptor(const Public_Key& key, + RandomNumberGenerator& rng, + const std::string& kem_param = "", + const std::string& provider = ""); + +#if defined(BOTAN_PUBKEY_INCLUDE_DEPRECATED_CONSTRUCTORS) + BOTAN_DEPRECATED("Use constructor taking a RNG object") + PK_KEM_Encryptor(const Public_Key& key, + const std::string& kem_param = "", + const std::string& provider = "") : + PK_KEM_Encryptor(key, system_rng(), kem_param, provider) {} +#endif + + ~PK_KEM_Encryptor(); + + PK_KEM_Encryptor& operator=(const PK_KEM_Encryptor&) = delete; + PK_KEM_Encryptor(const PK_KEM_Encryptor&) = delete; + + /** + * Generate a shared key for data encryption. + * @param out_encapsulated_key the generated encapsulated key + * @param out_shared_key the generated shared key + * @param desired_shared_key_len desired size of the shared key in bytes + * @param rng the RNG to use + * @param salt a salt value used in the KDF + * @param salt_len size of the salt value in bytes + */ + void encrypt(secure_vector& out_encapsulated_key, + secure_vector& out_shared_key, + size_t desired_shared_key_len, + Botan::RandomNumberGenerator& rng, + const uint8_t salt[], + size_t salt_len); + + /** + * Generate a shared key for data encryption. + * @param out_encapsulated_key the generated encapsulated key + * @param out_shared_key the generated shared key + * @param desired_shared_key_len desired size of the shared key in bytes + * @param rng the RNG to use + * @param salt a salt value used in the KDF + */ + template + void encrypt(secure_vector& out_encapsulated_key, + secure_vector& out_shared_key, + size_t desired_shared_key_len, + Botan::RandomNumberGenerator& rng, + const std::vector& salt) + { + this->encrypt(out_encapsulated_key, + out_shared_key, + desired_shared_key_len, + rng, + salt.data(), salt.size()); + } + + + /** + * Generate a shared key for data encryption. + * @param out_encapsulated_key the generated encapsulated key + * @param out_shared_key the generated shared key + * @param desired_shared_key_len desired size of the shared key in bytes + * @param rng the RNG to use + */ + void encrypt(secure_vector& out_encapsulated_key, + secure_vector& out_shared_key, + size_t desired_shared_key_len, + Botan::RandomNumberGenerator& rng) + { + this->encrypt(out_encapsulated_key, + out_shared_key, + desired_shared_key_len, + rng, + nullptr, + 0); + } + + private: + std::unique_ptr m_op; + }; + +/** +* Public Key Key Encapsulation Mechanism Decryption. +*/ +class BOTAN_PUBLIC_API(2,0) PK_KEM_Decryptor final + { + public: + /** + * Construct an instance. + * @param key the key to use inside the decryptor + * @param rng the RNG to use + * @param kem_param additional KEM parameters + * @param provider the provider to use + */ + PK_KEM_Decryptor(const Private_Key& key, + RandomNumberGenerator& rng, + const std::string& kem_param = "", + const std::string& provider = ""); + +#if defined(BOTAN_PUBKEY_INCLUDE_DEPRECATED_CONSTRUCTORS) + BOTAN_DEPRECATED("Use constructor taking a RNG object") + PK_KEM_Decryptor(const Private_Key& key, + const std::string& kem_param = "", + const std::string& provider = "") : + PK_KEM_Decryptor(key, system_rng(), kem_param, provider) + {} +#endif + + ~PK_KEM_Decryptor(); + PK_KEM_Decryptor& operator=(const PK_KEM_Decryptor&) = delete; + PK_KEM_Decryptor(const PK_KEM_Decryptor&) = delete; + + /** + * Decrypts the shared key for data encryption. + * @param encap_key the encapsulated key + * @param encap_key_len size of the encapsulated key in bytes + * @param desired_shared_key_len desired size of the shared key in bytes + * @param salt a salt value used in the KDF + * @param salt_len size of the salt value in bytes + * @return the shared data encryption key + */ + secure_vector decrypt(const uint8_t encap_key[], + size_t encap_key_len, + size_t desired_shared_key_len, + const uint8_t salt[], + size_t salt_len); + + /** + * Decrypts the shared key for data encryption. + * @param encap_key the encapsulated key + * @param encap_key_len size of the encapsulated key in bytes + * @param desired_shared_key_len desired size of the shared key in bytes + * @return the shared data encryption key + */ + secure_vector decrypt(const uint8_t encap_key[], + size_t encap_key_len, + size_t desired_shared_key_len) + { + return this->decrypt(encap_key, encap_key_len, + desired_shared_key_len, + nullptr, 0); + } + + /** + * Decrypts the shared key for data encryption. + * @param encap_key the encapsulated key + * @param desired_shared_key_len desired size of the shared key in bytes + * @param salt a salt value used in the KDF + * @return the shared data encryption key + */ + template + secure_vector decrypt(const std::vector& encap_key, + size_t desired_shared_key_len, + const std::vector& salt) + { + return this->decrypt(encap_key.data(), encap_key.size(), + desired_shared_key_len, + salt.data(), salt.size()); + } + + private: + std::unique_ptr m_op; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pwdhash.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pwdhash.h new file mode 100644 index 00000000..ba64a73f --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/pwdhash.h @@ -0,0 +1,162 @@ +/* +* (C) 2018 Ribose Inc +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_PWDHASH_H_ +#define BOTAN_PWDHASH_H_ + +#include +#include +#include +#include +#include + +namespace Botan { + +/** +* Base class for password based key derivation functions. +* +* Converts a password into a key using a salt and iterated hashing to +* make brute force attacks harder. +*/ +class BOTAN_PUBLIC_API(2,8) PasswordHash + { + public: + virtual ~PasswordHash() = default; + + virtual std::string to_string() const = 0; + + /** + * Most password hashes have some notion of iterations. + */ + virtual size_t iterations() const = 0; + + /** + * Some password hashing algorithms have a parameter which controls how + * much memory is used. If not supported by some algorithm, returns 0. + */ + virtual size_t memory_param() const { return 0; } + + /** + * Some password hashing algorithms have a parallelism parameter. + * If the algorithm does not support this notion, then the + * function returns zero. This allows distinguishing between a + * password hash which just does not support parallel operation, + * vs one that does support parallel operation but which has been + * configured to use a single lane. + */ + virtual size_t parallelism() const { return 0; } + + /** + * Returns an estimate of the total memory usage required to perform this + * key derivation. + * + * If this algorithm uses a small and constant amount of memory, with no + * effort made towards being memory hard, this function returns 0. + */ + virtual size_t total_memory_usage() const { return 0; } + + /** + * Derive a key from a password + * + * @param out buffer to store the derived key, must be of out_len bytes + * @param out_len the desired length of the key to produce + * @param password the password to derive the key from + * @param password_len the length of password in bytes + * @param salt a randomly chosen salt + * @param salt_len length of salt in bytes + * + * This function is const, but is not thread safe. Different threads should + * either use unique objects, or serialize all access. + */ + virtual void derive_key(uint8_t out[], size_t out_len, + const char* password, size_t password_len, + const uint8_t salt[], size_t salt_len) const = 0; + }; + +class BOTAN_PUBLIC_API(2,8) PasswordHashFamily + { + public: + /** + * Create an instance based on a name + * If provider is empty then best available is chosen. + * @param algo_spec algorithm name + * @param provider provider implementation to choose + * @return a null pointer if the algo/provider combination cannot be found + */ + static std::unique_ptr create(const std::string& algo_spec, + const std::string& provider = ""); + + /** + * Create an instance based on a name, or throw if the + * algo/provider combination cannot be found. If provider is + * empty then best available is chosen. + */ + static std::unique_ptr + create_or_throw(const std::string& algo_spec, + const std::string& provider = ""); + + /** + * @return list of available providers for this algorithm, empty if not available + */ + static std::vector providers(const std::string& algo_spec); + + virtual ~PasswordHashFamily() = default; + + /** + * @return name of this PasswordHash + */ + virtual std::string name() const = 0; + + /** + * Return a new parameter set tuned for this machine + * @param output_length how long the output length will be + * @param msec the desired execution time in milliseconds + * + * @param max_memory_usage_mb some password hash functions can use a tunable + * amount of memory, in this case max_memory_usage limits the amount of RAM + * the returned parameters will require, in mebibytes (2**20 bytes). It may + * require some small amount above the request. Set to zero to place no + * limit at all. + */ + virtual std::unique_ptr tune(size_t output_length, + std::chrono::milliseconds msec, + size_t max_memory_usage_mb = 0) const = 0; + + /** + * Return some default parameter set for this PBKDF that should be good + * enough for most users. The value returned may change over time as + * processing power and attacks improve. + */ + virtual std::unique_ptr default_params() const = 0; + + /** + * Return a parameter chosen based on a rough approximation with the + * specified iteration count. The exact value this returns for a particular + * algorithm may change from over time. Think of it as an alternative to + * tune, where time is expressed in terms of PBKDF2 iterations rather than + * milliseconds. + */ + virtual std::unique_ptr from_iterations(size_t iterations) const = 0; + + /** + * Create a password hash using some scheme specific format. + * Eg PBKDF2 and PGP-S2K set iterations in i1 + * Scrypt uses N,r,p in i{1-3} + * Bcrypt-PBKDF just has iterations + * Argon2{i,d,id} would use iterations, memory, parallelism for i{1-3}, + * and Argon2 type is part of the family. + * + * Values not needed should be set to 0 + */ + virtual std::unique_ptr from_params( + size_t i1, + size_t i2 = 0, + size_t i3 = 0) const = 0; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rc4.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rc4.h new file mode 100644 index 00000000..eff3c568 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rc4.h @@ -0,0 +1,57 @@ +/* +* RC4 +* (C) 1999-2008 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_RC4_H_ +#define BOTAN_RC4_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(rc4.h) + +namespace Botan { + +/** +* RC4 stream cipher +*/ +class BOTAN_PUBLIC_API(2,0) RC4 final : public StreamCipher + { + public: + void cipher(const uint8_t in[], uint8_t out[], size_t length) override; + + void set_iv(const uint8_t iv[], size_t iv_len) override; + + void clear() override; + std::string name() const override; + + StreamCipher* clone() const override; + + Key_Length_Specification key_spec() const override; + + /** + * @param skip skip this many initial bytes in the keystream + */ + explicit RC4(size_t skip = 0); + + ~RC4() { clear(); } + + void seek(uint64_t offset) override; + private: + void key_schedule(const uint8_t[], size_t) override; + void generate(); + + const size_t m_SKIP; + uint8_t m_X = 0; + uint8_t m_Y = 0; + secure_vector m_state; + secure_vector m_buffer; + size_t m_position = 0; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rdrand_rng.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rdrand_rng.h new file mode 100644 index 00000000..1b6977ea --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rdrand_rng.h @@ -0,0 +1,68 @@ +/* +* RDRAND RNG +* (C) 2016,2019 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_RNG_RDRAND_H_ +#define BOTAN_RNG_RDRAND_H_ + +#include + +namespace Botan { + +class BOTAN_PUBLIC_API(2,0) RDRAND_RNG final : public Hardware_RNG + { + public: + /** + * Constructor will throw if CPU does not have RDRAND bit set + */ + BOTAN_DEPRECATED("Use Processor_RNG instead") RDRAND_RNG(); + + /** + * Return true if RDRAND is available on the current processor + */ + static bool available(); + + bool accepts_input() const override { return false; } + + /** + * Uses RDRAND to produce output + */ + void randomize(uint8_t out[], size_t out_len) override; + + /* + * No way to provide entropy to RDRAND generator, so add_entropy is ignored + */ + void add_entropy(const uint8_t[], size_t) override + { /* no op */ } + + /* + * No way to reseed RDRAND generator, so reseed is ignored + */ + size_t reseed(Entropy_Sources&, size_t, std::chrono::milliseconds) override + { return 0; /* no op */ } + + std::string name() const override { return "RDRAND"; } + + bool is_seeded() const override { return true; } + + /** + * On correctly working hardware, RDRAND is always supposed to + * succeed within a set number of retries. If after that many + * retries RDRAND has still not suceeded, sets ok = false and + * returns 0. + */ + static uint32_t BOTAN_DEPRECATED("Use Processor_RNG::randomize") rdrand_status(bool& ok); + + /* + * Calls RDRAND until it succeeds, this could hypothetically + * loop forever on broken hardware. + */ + static uint32_t BOTAN_DEPRECATED("Use Processor_RNG::randomize") rdrand(); + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/reducer.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/reducer.h new file mode 100644 index 00000000..b1c2c87a --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/reducer.h @@ -0,0 +1,69 @@ +/* +* Modular Reducer +* (C) 1999-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_MODULAR_REDUCER_H_ +#define BOTAN_MODULAR_REDUCER_H_ + +#include + +namespace Botan { + +/** +* Modular Reducer (using Barrett's technique) +*/ +class BOTAN_PUBLIC_API(2,0) Modular_Reducer + { + public: + const BigInt& get_modulus() const { return m_modulus; } + + BigInt reduce(const BigInt& x) const; + + /** + * Multiply mod p + * @param x the first operand + * @param y the second operand + * @return (x * y) % p + */ + BigInt multiply(const BigInt& x, const BigInt& y) const + { return reduce(x * y); } + + /** + * Square mod p + * @param x the value to square + * @return (x * x) % p + */ + BigInt square(const BigInt& x) const + { return reduce(Botan::square(x)); } + + /** + * Cube mod p + * @param x the value to cube + * @return (x * x * x) % p + */ + BigInt cube(const BigInt& x) const + { return multiply(x, this->square(x)); } + + /** + * Low level reduction function. Mostly for internal use. + * Sometimes useful for performance by reducing temporaries + * Reduce x mod p and place the output in out. ** X and out must not reference each other ** + * ws is a temporary workspace. + */ + void reduce(BigInt& out, const BigInt& x, secure_vector& ws) const; + + bool initialized() const { return (m_mod_words != 0); } + + Modular_Reducer() { m_mod_words = 0; } + explicit Modular_Reducer(const BigInt& mod); + private: + BigInt m_modulus, m_mu; + size_t m_mod_words; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rfc3394.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rfc3394.h new file mode 100644 index 00000000..9cfcfaaf --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rfc3394.h @@ -0,0 +1,39 @@ +/* +* AES Key Wrap (RFC 3394) +* (C) 2011 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_RFC3394_H_ +#define BOTAN_RFC3394_H_ + +#include + +namespace Botan { + +/** +* Encrypt a key under a key encryption key using the algorithm +* described in RFC 3394 +* +* @param key the plaintext key to encrypt +* @param kek the key encryption key +* @return key encrypted under kek +*/ +secure_vector BOTAN_PUBLIC_API(2,0) rfc3394_keywrap(const secure_vector& key, + const SymmetricKey& kek); + +/** +* Decrypt a key under a key encryption key using the algorithm +* described in RFC 3394 +* +* @param key the encrypted key to decrypt +* @param kek the key encryption key +* @return key decrypted under kek +*/ +secure_vector BOTAN_PUBLIC_API(2,0) rfc3394_keyunwrap(const secure_vector& key, + const SymmetricKey& kek); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rfc6979.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rfc6979.h new file mode 100644 index 00000000..54134a68 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rfc6979.h @@ -0,0 +1,55 @@ +/* +* RFC 6979 Deterministic Nonce Generator +* (C) 2014,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_RFC6979_GENERATOR_H_ +#define BOTAN_RFC6979_GENERATOR_H_ + +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(rfc6979.h) + +namespace Botan { + +class HMAC_DRBG; + +class BOTAN_PUBLIC_API(2,0) RFC6979_Nonce_Generator final + { + public: + /** + * Note: keeps persistent reference to order + */ + RFC6979_Nonce_Generator(const std::string& hash, + const BigInt& order, + const BigInt& x); + + ~RFC6979_Nonce_Generator(); + + const BigInt& nonce_for(const BigInt& m); + private: + const BigInt& m_order; + BigInt m_k; + size_t m_qlen, m_rlen; + std::unique_ptr m_hmac_drbg; + secure_vector m_rng_in, m_rng_out; + }; + +/** +* @param x the secret (EC)DSA key +* @param q the group order +* @param h the message hash already reduced mod q +* @param hash the hash function used to generate h +*/ +BigInt BOTAN_PUBLIC_API(2,0) generate_rfc6979_nonce(const BigInt& x, + const BigInt& q, + const BigInt& h, + const std::string& hash); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rmd160.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rmd160.h new file mode 100644 index 00000000..2ee31168 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rmd160.h @@ -0,0 +1,41 @@ +/* +* RIPEMD-160 +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_RIPEMD_160_H_ +#define BOTAN_RIPEMD_160_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(rmd160.h) + +namespace Botan { + +/** +* RIPEMD-160 +*/ +class BOTAN_PUBLIC_API(2,0) RIPEMD_160 final : public MDx_HashFunction + { + public: + std::string name() const override { return "RIPEMD-160"; } + size_t output_length() const override { return 20; } + HashFunction* clone() const override { return new RIPEMD_160; } + std::unique_ptr copy_state() const override; + + void clear() override; + + RIPEMD_160() : MDx_HashFunction(64, false, true), m_M(16), m_digest(5) + { clear(); } + private: + void compress_n(const uint8_t[], size_t blocks) override; + void copy_out(uint8_t[]) override; + + secure_vector m_M, m_digest; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rng.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rng.h new file mode 100644 index 00000000..54a8ea83 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rng.h @@ -0,0 +1,297 @@ +/* +* Random Number Generator base classes +* (C) 1999-2009,2015,2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_RANDOM_NUMBER_GENERATOR_H_ +#define BOTAN_RANDOM_NUMBER_GENERATOR_H_ + +#include +#include +#include +#include +#include +#include + +namespace Botan { + +class Entropy_Sources; + +/** +* An interface to a cryptographic random number generator +*/ +class BOTAN_PUBLIC_API(2,0) RandomNumberGenerator + { + public: + virtual ~RandomNumberGenerator() = default; + + RandomNumberGenerator() = default; + + /* + * Never copy a RNG, create a new one + */ + RandomNumberGenerator(const RandomNumberGenerator& rng) = delete; + RandomNumberGenerator& operator=(const RandomNumberGenerator& rng) = delete; + + /** + * Randomize a byte array. + * @param output the byte array to hold the random output. + * @param length the length of the byte array output in bytes. + */ + virtual void randomize(uint8_t output[], size_t length) = 0; + + /** + * Returns false if it is known that this RNG object is not able to accept + * externally provided inputs (via add_entropy, randomize_with_input, etc). + * In this case, any such provided inputs are ignored. + * + * If this function returns true, then inputs may or may not be accepted. + */ + virtual bool accepts_input() const = 0; + + /** + * Incorporate some additional data into the RNG state. For + * example adding nonces or timestamps from a peer's protocol + * message can help hedge against VM state rollback attacks. + * A few RNG types do not accept any externally provided input, + * in which case this function is a no-op. + * + * @param input a byte array containg the entropy to be added + * @param length the length of the byte array in + */ + virtual void add_entropy(const uint8_t input[], size_t length) = 0; + + /** + * Incorporate some additional data into the RNG state. + */ + template void add_entropy_T(const T& t) + { + static_assert(std::is_standard_layout::value && std::is_trivial::value, "add_entropy_T data must be POD"); + this->add_entropy(reinterpret_cast(&t), sizeof(T)); + } + + /** + * Incorporate entropy into the RNG state then produce output. + * Some RNG types implement this using a single operation, default + * calls add_entropy + randomize in sequence. + * + * Use this to further bind the outputs to your current + * process/protocol state. For instance if generating a new key + * for use in a session, include a session ID or other such + * value. See NIST SP 800-90 A, B, C series for more ideas. + * + * @param output buffer to hold the random output + * @param output_len size of the output buffer in bytes + * @param input entropy buffer to incorporate + * @param input_len size of the input buffer in bytes + */ + virtual void randomize_with_input(uint8_t output[], size_t output_len, + const uint8_t input[], size_t input_len); + + /** + * This calls `randomize_with_input` using some timestamps as extra input. + * + * For a stateful RNG using non-random but potentially unique data the + * extra input can help protect against problems with fork, VM state + * rollback, or other cases where somehow an RNG state is duplicated. If + * both of the duplicated RNG states later incorporate a timestamp (and the + * timestamps don't themselves repeat), their outputs will diverge. + */ + virtual void randomize_with_ts_input(uint8_t output[], size_t output_len); + + /** + * @return the name of this RNG type + */ + virtual std::string name() const = 0; + + /** + * Clear all internally held values of this RNG + * @post is_seeded() == false + */ + virtual void clear() = 0; + + /** + * Check whether this RNG is seeded. + * @return true if this RNG was already seeded, false otherwise. + */ + virtual bool is_seeded() const = 0; + + /** + * Poll provided sources for up to poll_bits bits of entropy + * or until the timeout expires. Returns estimate of the number + * of bits collected. + */ + virtual size_t reseed(Entropy_Sources& srcs, + size_t poll_bits = BOTAN_RNG_RESEED_POLL_BITS, + std::chrono::milliseconds poll_timeout = BOTAN_RNG_RESEED_DEFAULT_TIMEOUT); + + /** + * Reseed by reading specified bits from the RNG + */ + virtual void reseed_from_rng(RandomNumberGenerator& rng, + size_t poll_bits = BOTAN_RNG_RESEED_POLL_BITS); + + // Some utility functions built on the interface above: + + /** + * Return a random vector + * @param bytes number of bytes in the result + * @return randomized vector of length bytes + */ + secure_vector random_vec(size_t bytes) + { + secure_vector output; + random_vec(output, bytes); + return output; + } + + template + void random_vec(std::vector& v, size_t bytes) + { + v.resize(bytes); + this->randomize(v.data(), v.size()); + } + + /** + * Return a random byte + * @return random byte + */ + uint8_t next_byte() + { + uint8_t b; + this->randomize(&b, 1); + return b; + } + + /** + * @return a random byte that is greater than zero + */ + uint8_t next_nonzero_byte() + { + uint8_t b = this->next_byte(); + while(b == 0) + b = this->next_byte(); + return b; + } + + /** + * Create a seeded and active RNG object for general application use + * Added in 1.8.0 + * Use AutoSeeded_RNG instead + */ + BOTAN_DEPRECATED("Use AutoSeeded_RNG") + static RandomNumberGenerator* make_rng(); + }; + +/** +* Convenience typedef +*/ +typedef RandomNumberGenerator RNG; + +/** +* Hardware_RNG exists to tag hardware RNG types (PKCS11_RNG, TPM_RNG, Processor_RNG) +*/ +class BOTAN_PUBLIC_API(2,0) Hardware_RNG : public RandomNumberGenerator + { + public: + virtual void clear() final override { /* no way to clear state of hardware RNG */ } + }; + +/** +* Null/stub RNG - fails if you try to use it for anything +* This is not generally useful except for in certain tests +*/ +class BOTAN_PUBLIC_API(2,0) Null_RNG final : public RandomNumberGenerator + { + public: + bool is_seeded() const override { return false; } + + bool accepts_input() const override { return false; } + + void clear() override {} + + void randomize(uint8_t[], size_t) override + { + throw PRNG_Unseeded("Null_RNG called"); + } + + void add_entropy(const uint8_t[], size_t) override {} + + std::string name() const override { return "Null_RNG"; } + }; + +#if defined(BOTAN_TARGET_OS_HAS_THREADS) +/** +* Wraps access to a RNG in a mutex +* Note that most of the time it's much better to use a RNG per thread +* otherwise the RNG will act as an unnecessary contention point +* +* Since 2.16.0 all Stateful_RNG instances have an internal lock, so +* this class is no longer needed. It will be removed in a future major +* release. +*/ +class BOTAN_PUBLIC_API(2,0) Serialized_RNG final : public RandomNumberGenerator + { + public: + void randomize(uint8_t out[], size_t len) override + { + lock_guard_type lock(m_mutex); + m_rng->randomize(out, len); + } + + bool accepts_input() const override + { + lock_guard_type lock(m_mutex); + return m_rng->accepts_input(); + } + + bool is_seeded() const override + { + lock_guard_type lock(m_mutex); + return m_rng->is_seeded(); + } + + void clear() override + { + lock_guard_type lock(m_mutex); + m_rng->clear(); + } + + std::string name() const override + { + lock_guard_type lock(m_mutex); + return m_rng->name(); + } + + size_t reseed(Entropy_Sources& src, + size_t poll_bits = BOTAN_RNG_RESEED_POLL_BITS, + std::chrono::milliseconds poll_timeout = BOTAN_RNG_RESEED_DEFAULT_TIMEOUT) override + { + lock_guard_type lock(m_mutex); + return m_rng->reseed(src, poll_bits, poll_timeout); + } + + void add_entropy(const uint8_t in[], size_t len) override + { + lock_guard_type lock(m_mutex); + m_rng->add_entropy(in, len); + } + + BOTAN_DEPRECATED("Use Serialized_RNG(new AutoSeeded_RNG) instead") Serialized_RNG(); + + /* + * Since 2.16.0 this is no longer needed for any RNG type. This + * class will be removed in a future major release. + */ + explicit Serialized_RNG(RandomNumberGenerator* rng) : m_rng(rng) {} + private: + mutable mutex_type m_mutex; + std::unique_ptr m_rng; + }; +#endif + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rotate.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rotate.h new file mode 100644 index 00000000..8599a269 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rotate.h @@ -0,0 +1,112 @@ +/* +* Word Rotation Operations +* (C) 1999-2008,2017 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_WORD_ROTATE_H_ +#define BOTAN_WORD_ROTATE_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(rotate.h) + +namespace Botan { + +/** +* Bit rotation left by a compile-time constant amount +* @param input the input word +* @return input rotated left by ROT bits +*/ +template +inline constexpr T rotl(T input) + { + static_assert(ROT > 0 && ROT < 8*sizeof(T), "Invalid rotation constant"); + return static_cast((input << ROT) | (input >> (8*sizeof(T) - ROT))); + } + +/** +* Bit rotation right by a compile-time constant amount +* @param input the input word +* @return input rotated right by ROT bits +*/ +template +inline constexpr T rotr(T input) + { + static_assert(ROT > 0 && ROT < 8*sizeof(T), "Invalid rotation constant"); + return static_cast((input >> ROT) | (input << (8*sizeof(T) - ROT))); + } + +/** +* Bit rotation left, variable rotation amount +* @param input the input word +* @param rot the number of bits to rotate, must be between 0 and sizeof(T)*8-1 +* @return input rotated left by rot bits +*/ +template +inline T rotl_var(T input, size_t rot) + { + return rot ? static_cast((input << rot) | (input >> (sizeof(T)*8 - rot))) : input; + } + +/** +* Bit rotation right, variable rotation amount +* @param input the input word +* @param rot the number of bits to rotate, must be between 0 and sizeof(T)*8-1 +* @return input rotated right by rot bits +*/ +template +inline T rotr_var(T input, size_t rot) + { + return rot ? static_cast((input >> rot) | (input << (sizeof(T)*8 - rot))) : input; + } + +#if defined(BOTAN_USE_GCC_INLINE_ASM) + +#if defined(BOTAN_TARGET_ARCH_IS_X86_64) || defined(BOTAN_TARGET_ARCH_IS_X86_32) + +template<> +inline uint32_t rotl_var(uint32_t input, size_t rot) + { + asm("roll %1,%0" + : "+r" (input) + : "c" (static_cast(rot)) + : "cc"); + return input; + } + +template<> +inline uint32_t rotr_var(uint32_t input, size_t rot) + { + asm("rorl %1,%0" + : "+r" (input) + : "c" (static_cast(rot)) + : "cc"); + return input; + } + +#endif + +#endif + + +template +BOTAN_DEPRECATED("Use rotl or rotl_var") +inline T rotate_left(T input, size_t rot) + { + // rotl_var does not reduce + return rotl_var(input, rot % (8 * sizeof(T))); + } + +template +BOTAN_DEPRECATED("Use rotr or rotr_var") +inline T rotate_right(T input, size_t rot) + { + // rotr_var does not reduce + return rotr_var(input, rot % (8 * sizeof(T))); + } + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/roughtime.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/roughtime.h new file mode 100644 index 00000000..e52be25a --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/roughtime.h @@ -0,0 +1,167 @@ +/* +* Roughtime +* (C) 2019 Nuno Goncalves +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ROUGHTIME_H_ +#define BOTAN_ROUGHTIME_H_ + +#include +#include +#include + +#include + +namespace Botan { + +class RandomNumberGenerator; + +namespace Roughtime { + +const unsigned request_min_size = 1024; + +class BOTAN_PUBLIC_API(2, 13) Roughtime_Error final : public Decoding_Error + { + public: + explicit Roughtime_Error(const std::string& s) : Decoding_Error("Roughtime " + s) {} + ErrorType error_type() const noexcept override { return ErrorType::RoughtimeError; } + }; + +class BOTAN_PUBLIC_API(2, 13) Nonce final + { + public: + Nonce() = default; + Nonce(const std::vector& nonce); + Nonce(RandomNumberGenerator& rng); + Nonce(const std::array& nonce) + { + m_nonce = nonce; + } + bool operator==(const Nonce& rhs) const { return m_nonce == rhs.m_nonce; } + const std::array& get_nonce() const { return m_nonce; } + private: + std::array m_nonce; + }; + + +/** +* An Roughtime request. +*/ +BOTAN_PUBLIC_API(2, 13) +std::array encode_request(const Nonce& nonce); + +/** +* An Roughtime response. +*/ +class BOTAN_PUBLIC_API(2, 13) Response final + { + public: + using microseconds32 = std::chrono::duration; + using microseconds64 = std::chrono::duration; + using sys_microseconds64 = std::chrono::time_point; + + static Response from_bits(const std::vector& response, const Nonce& nonce); + + bool validate(const Ed25519_PublicKey& pk) const; + + sys_microseconds64 utc_midpoint() const { return m_utc_midpoint; } + + microseconds32 utc_radius() const { return m_utc_radius; } + private: + Response(const std::array& dele, + const std::array& sig, + sys_microseconds64 utc_midp, + microseconds32 utc_radius) + : m_cert_dele(dele) + , m_cert_sig(sig) + , m_utc_midpoint {utc_midp} + , m_utc_radius {utc_radius} + {} + const std::array m_cert_dele; + const std::array m_cert_sig; + const sys_microseconds64 m_utc_midpoint; + const microseconds32 m_utc_radius; + }; + +class BOTAN_PUBLIC_API(2, 13) Link final + { + public: + Link(const std::vector& response, + const Ed25519_PublicKey& public_key, + const Nonce& nonce_or_blind) + : m_response{response} + , m_public_key{public_key} + , m_nonce_or_blind{nonce_or_blind} + {} + const std::vector& response() const { return m_response; } + const Ed25519_PublicKey& public_key() const { return m_public_key; } + const Nonce& nonce_or_blind() const { return m_nonce_or_blind; } + Nonce& nonce_or_blind() { return m_nonce_or_blind; } + + private: + std::vector m_response; + Ed25519_PublicKey m_public_key; + Nonce m_nonce_or_blind; + }; + +class BOTAN_PUBLIC_API(2, 13) Chain final + { + public: + Chain() = default; //empty + Chain(const std::string& str); + const std::vector& links() const { return m_links; } + std::vector responses() const; + Nonce next_nonce(const Nonce& blind) const; + void append(const Link& new_link, size_t max_chain_size); + std::string to_string() const; + private: + std::vector m_links; + }; + +/** +*/ +BOTAN_PUBLIC_API(2, 13) +Nonce nonce_from_blind(const std::vector& previous_response, + const Nonce& blind); + +/** +* Makes an online Roughtime request via UDP and returns the Roughtime response. +* @param url Roughtime server UDP endpoint (host:port) +* @param nonce the nonce to send to the server +* @param timeout a timeout on the UDP request +* @return Roughtime response +*/ +BOTAN_PUBLIC_API(2, 13) +std::vector online_request(const std::string& url, + const Nonce& nonce, + std::chrono::milliseconds timeout = std::chrono::seconds(3)); + +struct BOTAN_PUBLIC_API(2, 13) Server_Information final + { +public: + Server_Information(const std::string& name, + const Botan::Ed25519_PublicKey& public_key, + const std::vector& addresses) + : m_name { name } + , m_public_key { public_key } + , m_addresses { addresses } + {} + const std::string& name() const {return m_name;} + const Botan::Ed25519_PublicKey& public_key() const {return m_public_key;} + const std::vector& addresses() const {return m_addresses;} + +private: + std::string m_name; + Botan::Ed25519_PublicKey m_public_key; + std::vector m_addresses; + }; + +BOTAN_PUBLIC_API(2, 13) +std::vector servers_from_str(const std::string& str); + +} +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rsa.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rsa.h new file mode 100644 index 00000000..2a02c89d --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/rsa.h @@ -0,0 +1,180 @@ +/* +* RSA +* (C) 1999-2008,2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_RSA_H_ +#define BOTAN_RSA_H_ + +#include +#include +#include +#include +#include + +namespace Botan { + +class RSA_Public_Data; +class RSA_Private_Data; + +/** +* RSA Public Key +*/ +class BOTAN_PUBLIC_API(2,0) RSA_PublicKey : public virtual Public_Key + { + public: + /** + * Load a public key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits DER encoded public key bits + */ + RSA_PublicKey(const AlgorithmIdentifier& alg_id, + const std::vector& key_bits); + + /** + * Create a public key. + * @arg n the modulus + * @arg e the exponent + */ + RSA_PublicKey(const BigInt& n, const BigInt& e); + + std::string algo_name() const override { return "RSA"; } + + bool check_key(RandomNumberGenerator& rng, bool) const override; + + AlgorithmIdentifier algorithm_identifier() const override; + + std::vector public_key_bits() const override; + + /** + * @return public modulus + */ + const BigInt& get_n() const; + + /** + * @return public exponent + */ + const BigInt& get_e() const; + + size_t key_length() const override; + size_t estimated_strength() const override; + + // internal functions: + std::shared_ptr public_data() const; + + std::unique_ptr + create_encryption_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + + std::unique_ptr + create_kem_encryption_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + + std::unique_ptr + create_verification_op(const std::string& params, + const std::string& provider) const override; + + protected: + RSA_PublicKey() = default; + + void init(BigInt&& n, BigInt&& e); + + std::shared_ptr m_public; + }; + +/** +* RSA Private Key +*/ +class BOTAN_PUBLIC_API(2,0) RSA_PrivateKey final : public Private_Key, public RSA_PublicKey + { + public: + /** + * Load a private key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits PKCS#1 RSAPrivateKey bits + */ + RSA_PrivateKey(const AlgorithmIdentifier& alg_id, + const secure_vector& key_bits); + + /** + * Construct a private key from the specified parameters. + * @param p the first prime + * @param q the second prime + * @param e the exponent + * @param d if specified, this has to be d with + * exp * d = 1 mod (p - 1, q - 1). Leave it as 0 if you wish to + * the constructor to calculate it. + * @param n if specified, this must be n = p * q. Leave it as 0 + * if you wish to the constructor to calculate it. + */ + RSA_PrivateKey(const BigInt& p, const BigInt& q, + const BigInt& e, const BigInt& d = 0, + const BigInt& n = 0); + + /** + * Create a new private key with the specified bit length + * @param rng the random number generator to use + * @param bits the desired bit length of the private key + * @param exp the public exponent to be used + */ + RSA_PrivateKey(RandomNumberGenerator& rng, + size_t bits, size_t exp = 65537); + + bool check_key(RandomNumberGenerator& rng, bool) const override; + + /** + * Get the first prime p. + * @return prime p + */ + const BigInt& get_p() const; + + /** + * Get the second prime q. + * @return prime q + */ + const BigInt& get_q() const; + + /** + * Get d with exp * d = 1 mod (p - 1, q - 1). + * @return d + */ + const BigInt& get_d() const; + + const BigInt& get_c() const; + const BigInt& get_d1() const; + const BigInt& get_d2() const; + + secure_vector private_key_bits() const override; + + // internal functions: + std::shared_ptr private_data() const; + + std::unique_ptr + create_decryption_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + + std::unique_ptr + create_kem_decryption_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + + std::unique_ptr + create_signature_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + + private: + + void init(BigInt&& d, BigInt&& p, BigInt&& q, BigInt&& d1, BigInt&& d2, BigInt&& c); + + std::shared_ptr m_private; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/salsa20.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/salsa20.h new file mode 100644 index 00000000..6ad0da77 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/salsa20.h @@ -0,0 +1,54 @@ +/* +* Salsa20 / XSalsa20 +* (C) 1999-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SALSA20_H_ +#define BOTAN_SALSA20_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(salsa20.h) + +namespace Botan { + +/** +* DJB's Salsa20 (and XSalsa20) +*/ +class BOTAN_PUBLIC_API(2,0) Salsa20 final : public StreamCipher + { + public: + void cipher(const uint8_t in[], uint8_t out[], size_t length) override; + + void set_iv(const uint8_t iv[], size_t iv_len) override; + + bool valid_iv_length(size_t iv_len) const override; + + size_t default_iv_length() const override; + + Key_Length_Specification key_spec() const override; + + void clear() override; + std::string name() const override; + StreamCipher* clone() const override; + + static void salsa_core(uint8_t output[64], const uint32_t input[16], size_t rounds); + static void hsalsa20(uint32_t output[8], const uint32_t input[16]); + + void seek(uint64_t offset) override; + private: + void key_schedule(const uint8_t key[], size_t key_len) override; + + void initialize_state(); + + secure_vector m_key; + secure_vector m_state; + secure_vector m_buffer; + size_t m_position = 0; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/scan_name.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/scan_name.h new file mode 100644 index 00000000..069783d1 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/scan_name.h @@ -0,0 +1,124 @@ +/* +* SCAN Name Abstraction +* (C) 2008,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SCAN_NAME_H_ +#define BOTAN_SCAN_NAME_H_ + +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(scan_name.h) + +namespace Botan { + +/** +A class encapsulating a SCAN name (similar to JCE conventions) +http://www.users.zetnet.co.uk/hopwood/crypto/scan/ +*/ +class BOTAN_PUBLIC_API(2,0) SCAN_Name final + { + public: + /** + * Create a SCAN_Name + * @param algo_spec A SCAN-format name + */ + explicit SCAN_Name(const char* algo_spec); + + /** + * Create a SCAN_Name + * @param algo_spec A SCAN-format name + */ + explicit SCAN_Name(std::string algo_spec); + + /** + * @return original input string + */ + const std::string& to_string() const { return m_orig_algo_spec; } + + BOTAN_DEPRECATED("Use SCAN_Name::to_string") const std::string& as_string() const + { + return this->to_string(); + } + + /** + * @return algorithm name + */ + const std::string& algo_name() const { return m_alg_name; } + + /** + * @return number of arguments + */ + size_t arg_count() const { return m_args.size(); } + + /** + * @param lower is the lower bound + * @param upper is the upper bound + * @return if the number of arguments is between lower and upper + */ + bool arg_count_between(size_t lower, size_t upper) const + { return ((arg_count() >= lower) && (arg_count() <= upper)); } + + /** + * @param i which argument + * @return ith argument + */ + std::string arg(size_t i) const; + + /** + * @param i which argument + * @param def_value the default value + * @return ith argument or the default value + */ + std::string arg(size_t i, const std::string& def_value) const; + + /** + * @param i which argument + * @param def_value the default value + * @return ith argument as an integer, or the default value + */ + size_t arg_as_integer(size_t i, size_t def_value) const; + + /** + * @return cipher mode (if any) + */ + std::string cipher_mode() const + { return (m_mode_info.size() >= 1) ? m_mode_info[0] : ""; } + + /** + * @return cipher mode padding (if any) + */ + std::string cipher_mode_pad() const + { return (m_mode_info.size() >= 2) ? m_mode_info[1] : ""; } + + private: + std::string m_orig_algo_spec; + std::string m_alg_name; + std::vector m_args; + std::vector m_mode_info; + }; + +// This is unrelated but it is convenient to stash it here +template +std::vector probe_providers_of(const std::string& algo_spec, + const std::vector& possible) + { + std::vector providers; + for(auto&& prov : possible) + { + std::unique_ptr o(T::create(algo_spec, prov)); + if(o) + { + providers.push_back(prov); // available + } + } + return providers; + } + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/scrypt.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/scrypt.h new file mode 100644 index 00000000..60cdbd04 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/scrypt.h @@ -0,0 +1,127 @@ +/** +* (C) 2018 Jack Lloyd +* (C) 2018 Ribose Inc +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SCRYPT_H_ +#define BOTAN_SCRYPT_H_ + +#include + +//BOTAN_FUTURE_INTERNAL_HEADER(scrypt.h) + +namespace Botan { + +/** +* Scrypt key derivation function (RFC 7914) +*/ +class BOTAN_PUBLIC_API(2,8) Scrypt final : public PasswordHash + { + public: + Scrypt(size_t N, size_t r, size_t p); + + Scrypt(const Scrypt& other) = default; + Scrypt& operator=(const Scrypt&) = default; + + /** + * Derive a new key under the current Scrypt parameter set + */ + void derive_key(uint8_t out[], size_t out_len, + const char* password, size_t password_len, + const uint8_t salt[], size_t salt_len) const override; + + std::string to_string() const override; + + size_t N() const { return m_N; } + size_t r() const { return m_r; } + size_t p() const { return m_p; } + + size_t iterations() const override { return r(); } + + size_t parallelism() const override { return p(); } + + size_t memory_param() const override { return N(); } + + size_t total_memory_usage() const override; + + private: + size_t m_N, m_r, m_p; + }; + +class BOTAN_PUBLIC_API(2,8) Scrypt_Family final : public PasswordHashFamily + { + public: + std::string name() const override; + + std::unique_ptr tune(size_t output_length, + std::chrono::milliseconds msec, + size_t max_memory) const override; + + std::unique_ptr default_params() const override; + + std::unique_ptr from_iterations(size_t iter) const override; + + std::unique_ptr from_params( + size_t N, size_t r, size_t p) const override; + }; + +/** +* Scrypt key derivation function (RFC 7914) +* +* @param output the output will be placed here +* @param output_len length of output +* @param password the user password +* @param password_len length of password +* @param salt the salt +* @param salt_len length of salt +* @param N the CPU/Memory cost parameter, must be power of 2 +* @param r the block size parameter +* @param p the parallelization parameter +* +* Suitable parameters for most uses would be N = 32768, r = 8, p = 1 +* +* Scrypt uses approximately (p + N + 1) * 128 * r bytes of memory +*/ +void BOTAN_PUBLIC_API(2,8) scrypt(uint8_t output[], size_t output_len, + const char* password, size_t password_len, + const uint8_t salt[], size_t salt_len, + size_t N, size_t r, size_t p); + +/** +* Scrypt key derivation function (RFC 7914) +* Before 2.8 this function was the primary interface for scrypt +* +* @param output the output will be placed here +* @param output_len length of output +* @param password the user password +* @param salt the salt +* @param salt_len length of salt +* @param N the CPU/Memory cost parameter, must be power of 2 +* @param r the block size parameter +* @param p the parallelization parameter +* +* Suitable parameters for most uses would be N = 32768, r = 8, p = 1 +* +* Scrypt uses approximately (p + N + 1) * 128 * r bytes of memory +*/ +inline void scrypt(uint8_t output[], size_t output_len, + const std::string& password, + const uint8_t salt[], size_t salt_len, + size_t N, size_t r, size_t p) + { + return scrypt(output, output_len, + password.c_str(), password.size(), + salt, salt_len, + N, r, p); + } + +inline size_t scrypt_memory_usage(size_t N, size_t r, size_t p) + { + return 128 * r * (N + p); + } + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/secmem.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/secmem.h new file mode 100644 index 00000000..a5ba5857 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/secmem.h @@ -0,0 +1,136 @@ +/* +* Secure Memory Buffers +* (C) 1999-2007,2012 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SECURE_MEMORY_BUFFERS_H_ +#define BOTAN_SECURE_MEMORY_BUFFERS_H_ + +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include +#include + +namespace Botan { + +template +class secure_allocator + { + public: + /* + * Assert exists to prevent someone from doing something that will + * probably crash anyway (like secure_vector where ~non_POD_t + * deletes a member pointer which was zeroed before it ran). + * MSVC in debug mode uses non-integral proxy types in container types + * like std::vector, thus we disable the check there. + */ +#if !defined(_ITERATOR_DEBUG_LEVEL) || _ITERATOR_DEBUG_LEVEL == 0 + static_assert(std::is_integral::value, "secure_allocator supports only integer types"); +#endif + + typedef T value_type; + typedef std::size_t size_type; + + secure_allocator() noexcept = default; + secure_allocator(const secure_allocator&) noexcept = default; + secure_allocator& operator=(const secure_allocator&) noexcept = default; + ~secure_allocator() noexcept = default; + + template + secure_allocator(const secure_allocator&) noexcept {} + + T* allocate(std::size_t n) + { + return static_cast(allocate_memory(n, sizeof(T))); + } + + void deallocate(T* p, std::size_t n) + { + deallocate_memory(p, n, sizeof(T)); + } + }; + +template inline bool +operator==(const secure_allocator&, const secure_allocator&) + { return true; } + +template inline bool +operator!=(const secure_allocator&, const secure_allocator&) + { return false; } + +template using secure_vector = std::vector>; +template using secure_deque = std::deque>; + +// For better compatibility with 1.10 API +template using SecureVector = secure_vector; + +template +std::vector unlock(const secure_vector& in) + { + return std::vector(in.begin(), in.end()); + } + +template +std::vector& +operator+=(std::vector& out, + const std::vector& in) + { + out.reserve(out.size() + in.size()); + out.insert(out.end(), in.begin(), in.end()); + return out; + } + +template +std::vector& operator+=(std::vector& out, T in) + { + out.push_back(in); + return out; + } + +template +std::vector& operator+=(std::vector& out, + const std::pair& in) + { + out.reserve(out.size() + in.second); + out.insert(out.end(), in.first, in.first + in.second); + return out; + } + +template +std::vector& operator+=(std::vector& out, + const std::pair& in) + { + out.reserve(out.size() + in.second); + out.insert(out.end(), in.first, in.first + in.second); + return out; + } + +/** +* Zeroise the values; length remains unchanged +* @param vec the vector to zeroise +*/ +template +void zeroise(std::vector& vec) + { + clear_mem(vec.data(), vec.size()); + } + +/** +* Zeroise the values then free the memory +* @param vec the vector to zeroise and free +*/ +template +void zap(std::vector& vec) + { + zeroise(vec); + vec.clear(); + vec.shrink_to_fit(); + } + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/secqueue.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/secqueue.h new file mode 100644 index 00000000..42d2f09e --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/secqueue.h @@ -0,0 +1,74 @@ +/* +* SecureQueue +* (C) 1999-2007 Jack Lloyd +* 2012 Markus Wanner +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SECURE_QUEUE_H_ +#define BOTAN_SECURE_QUEUE_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(secqueue.h) + +namespace Botan { + +/** +* A queue that knows how to zeroize itself +*/ +class BOTAN_PUBLIC_API(2,0) SecureQueue final : public Fanout_Filter, public DataSource + { + public: + std::string name() const override { return "Queue"; } + + void write(const uint8_t[], size_t) override; + + size_t read(uint8_t[], size_t) override; + size_t peek(uint8_t[], size_t, size_t = 0) const override; + size_t get_bytes_read() const override; + + bool end_of_data() const override; + + bool empty() const; + + bool check_available(size_t n) override { return n <= size(); } + + /** + * @return number of bytes available in the queue + */ + size_t size() const; + + bool attachable() override { return false; } + + /** + * SecureQueue assignment + * @param other the queue to copy + */ + SecureQueue& operator=(const SecureQueue& other); + + /** + * SecureQueue default constructor (creates empty queue) + */ + SecureQueue(); + + /** + * SecureQueue copy constructor + * @param other the queue to copy + */ + SecureQueue(const SecureQueue& other); + + ~SecureQueue() { destroy(); } + + private: + void destroy(); + size_t m_bytes_read; + class SecureQueueNode* m_head; + class SecureQueueNode* m_tail; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/seed.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/seed.h new file mode 100644 index 00000000..a6162431 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/seed.h @@ -0,0 +1,37 @@ +/* +* SEED +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SEED_H_ +#define BOTAN_SEED_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(seed.h) + +namespace Botan { + +/** +* SEED, a Korean block cipher +*/ +class BOTAN_PUBLIC_API(2,0) SEED final : public Block_Cipher_Fixed_Params<16, 16> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "SEED"; } + BlockCipher* clone() const override { return new SEED; } + private: + void key_schedule(const uint8_t[], size_t) override; + + secure_vector m_K; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/serpent.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/serpent.h new file mode 100644 index 00000000..64eb8a8b --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/serpent.h @@ -0,0 +1,53 @@ +/* +* Serpent +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SERPENT_H_ +#define BOTAN_SERPENT_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(serpent.h) + +namespace Botan { + +/** +* Serpent is the most conservative of the AES finalists +* https://www.cl.cam.ac.uk/~rja14/serpent.html +*/ +class BOTAN_PUBLIC_API(2,0) Serpent final : public Block_Cipher_Fixed_Params<16, 16, 32, 8> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string provider() const override; + std::string name() const override { return "Serpent"; } + BlockCipher* clone() const override { return new Serpent; } + + size_t parallelism() const override { return 4; } + + private: + +#if defined(BOTAN_HAS_SERPENT_SIMD) + void simd_encrypt_4(const uint8_t in[64], uint8_t out[64]) const; + void simd_decrypt_4(const uint8_t in[64], uint8_t out[64]) const; +#endif + +#if defined(BOTAN_HAS_SERPENT_AVX2) + void avx2_encrypt_8(const uint8_t in[64], uint8_t out[64]) const; + void avx2_decrypt_8(const uint8_t in[64], uint8_t out[64]) const; +#endif + + void key_schedule(const uint8_t key[], size_t length) override; + + secure_vector m_round_key; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sha160.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sha160.h new file mode 100644 index 00000000..bbab2e85 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sha160.h @@ -0,0 +1,75 @@ +/* +* SHA-160 +* (C) 1999-2007,2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SHA_160_H_ +#define BOTAN_SHA_160_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(sha160.h) + +namespace Botan { + +/** +* NIST's SHA-160 +*/ +class BOTAN_PUBLIC_API(2,0) SHA_160 final : public MDx_HashFunction + { + public: + std::string name() const override { return "SHA-160"; } + size_t output_length() const override { return 20; } + HashFunction* clone() const override { return new SHA_160; } + std::unique_ptr copy_state() const override; + + void clear() override; + + SHA_160() : MDx_HashFunction(64, true, true), m_digest(5) + { + clear(); + } + + private: + void compress_n(const uint8_t[], size_t blocks) override; + +#if defined(BOTAN_HAS_SHA1_ARMV8) + static void sha1_armv8_compress_n(secure_vector& digest, + const uint8_t blocks[], + size_t block_count); +#endif + +#if defined(BOTAN_HAS_SHA1_SSE2) + static void sse2_compress_n(secure_vector& digest, + const uint8_t blocks[], + size_t block_count); +#endif + +#if defined(BOTAN_HAS_SHA1_X86_SHA_NI) + // Using x86 SHA instructions in Intel Goldmont and Cannonlake + static void sha1_compress_x86(secure_vector& digest, + const uint8_t blocks[], + size_t block_count); +#endif + + + void copy_out(uint8_t[]) override; + + /** + * The digest value + */ + secure_vector m_digest; + + /** + * The message buffer + */ + secure_vector m_W; + }; + +typedef SHA_160 SHA_1; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sha2_32.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sha2_32.h new file mode 100644 index 00000000..90a05972 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sha2_32.h @@ -0,0 +1,95 @@ +/* +* SHA-{224,256} +* (C) 1999-2011 Jack Lloyd +* 2007 FlexSecure GmbH +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SHA_224_256_H_ +#define BOTAN_SHA_224_256_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(sha2_32.h) + +namespace Botan { + +/** +* SHA-224 +*/ +class BOTAN_PUBLIC_API(2,0) SHA_224 final : public MDx_HashFunction + { + public: + std::string name() const override { return "SHA-224"; } + size_t output_length() const override { return 28; } + HashFunction* clone() const override { return new SHA_224; } + std::unique_ptr copy_state() const override; + + void clear() override; + + std::string provider() const override; + + SHA_224() : MDx_HashFunction(64, true, true), m_digest(8) + { clear(); } + private: + void compress_n(const uint8_t[], size_t blocks) override; + void copy_out(uint8_t[]) override; + + secure_vector m_digest; + }; + +/** +* SHA-256 +*/ +class BOTAN_PUBLIC_API(2,0) SHA_256 final : public MDx_HashFunction + { + public: + std::string name() const override { return "SHA-256"; } + size_t output_length() const override { return 32; } + HashFunction* clone() const override { return new SHA_256; } + std::unique_ptr copy_state() const override; + + void clear() override; + + std::string provider() const override; + + SHA_256() : MDx_HashFunction(64, true, true), m_digest(8) + { clear(); } + + /* + * Perform a SHA-256 compression. For internal use + */ + static void compress_digest(secure_vector& digest, + const uint8_t input[], + size_t blocks); + + private: + +#if defined(BOTAN_HAS_SHA2_32_ARMV8) + static void compress_digest_armv8(secure_vector& digest, + const uint8_t input[], + size_t blocks); +#endif + +#if defined(BOTAN_HAS_SHA2_32_X86_BMI2) + static void compress_digest_x86_bmi2(secure_vector& digest, + const uint8_t input[], + size_t blocks); +#endif + +#if defined(BOTAN_HAS_SHA2_32_X86) + static void compress_digest_x86(secure_vector& digest, + const uint8_t input[], + size_t blocks); +#endif + + void compress_n(const uint8_t[], size_t blocks) override; + void copy_out(uint8_t[]) override; + + secure_vector m_digest; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sha2_64.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sha2_64.h new file mode 100644 index 00000000..dc5f0dd1 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sha2_64.h @@ -0,0 +1,102 @@ +/* +* SHA-{384,512} +* (C) 1999-2010,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SHA_64BIT_H_ +#define BOTAN_SHA_64BIT_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(sha2_64.h) + +namespace Botan { + +/** +* SHA-384 +*/ +class BOTAN_PUBLIC_API(2,0) SHA_384 final : public MDx_HashFunction + { + public: + std::string name() const override { return "SHA-384"; } + size_t output_length() const override { return 48; } + HashFunction* clone() const override { return new SHA_384; } + std::unique_ptr copy_state() const override; + std::string provider() const override; + + void clear() override; + + SHA_384() : MDx_HashFunction(128, true, true, 16), m_digest(8) + { clear(); } + private: + void compress_n(const uint8_t[], size_t blocks) override; + void copy_out(uint8_t[]) override; + + secure_vector m_digest; + }; + +/** +* SHA-512 +*/ +class BOTAN_PUBLIC_API(2,0) SHA_512 final : public MDx_HashFunction + { + public: + std::string name() const override { return "SHA-512"; } + size_t output_length() const override { return 64; } + HashFunction* clone() const override { return new SHA_512; } + std::unique_ptr copy_state() const override; + std::string provider() const override; + + void clear() override; + + /* + * Perform a SHA-512 compression. For internal use + */ + static void compress_digest(secure_vector& digest, + const uint8_t input[], + size_t blocks); + + SHA_512() : MDx_HashFunction(128, true, true, 16), m_digest(8) + { clear(); } + private: + void compress_n(const uint8_t[], size_t blocks) override; + void copy_out(uint8_t[]) override; + + static const uint64_t K[80]; + +#if defined(BOTAN_HAS_SHA2_64_BMI2) + static void compress_digest_bmi2(secure_vector& digest, + const uint8_t input[], + size_t blocks); +#endif + + secure_vector m_digest; + }; + +/** +* SHA-512/256 +*/ +class BOTAN_PUBLIC_API(2,0) SHA_512_256 final : public MDx_HashFunction + { + public: + std::string name() const override { return "SHA-512-256"; } + size_t output_length() const override { return 32; } + HashFunction* clone() const override { return new SHA_512_256; } + std::unique_ptr copy_state() const override; + std::string provider() const override; + + void clear() override; + + SHA_512_256() : MDx_HashFunction(128, true, true, 16), m_digest(8) { clear(); } + private: + void compress_n(const uint8_t[], size_t blocks) override; + void copy_out(uint8_t[]) override; + + secure_vector m_digest; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sha3.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sha3.h new file mode 100644 index 00000000..e290e60a --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sha3.h @@ -0,0 +1,136 @@ +/* +* SHA-3 +* (C) 2010,2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SHA3_H_ +#define BOTAN_SHA3_H_ + +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(sha3.h) + +namespace Botan { + +/** +* SHA-3 +*/ +class BOTAN_PUBLIC_API(2,0) SHA_3 : public HashFunction + { + public: + + /** + * @param output_bits the size of the hash output; must be one of + * 224, 256, 384, or 512 + */ + explicit SHA_3(size_t output_bits); + + size_t hash_block_size() const override { return m_bitrate / 8; } + size_t output_length() const override { return m_output_bits / 8; } + + HashFunction* clone() const override; + std::unique_ptr copy_state() const override; + std::string name() const override; + void clear() override; + std::string provider() const override; + + // Static functions for internal usage + + /** + * Absorb data into the provided state + * @param bitrate the bitrate to absorb into the sponge + * @param S the sponge state + * @param S_pos where to begin absorbing into S + * @param input the input data + * @param length size of input in bytes + */ + static size_t absorb(size_t bitrate, + secure_vector& S, size_t S_pos, + const uint8_t input[], size_t length); + + /** + * Add final padding and permute. The padding is assumed to be + * init_pad || 00... || fini_pad + * + * @param bitrate the bitrate to absorb into the sponge + * @param S the sponge state + * @param S_pos where to begin absorbing into S + * @param init_pad the leading pad bits + * @param fini_pad the final pad bits + */ + static void finish(size_t bitrate, + secure_vector& S, size_t S_pos, + uint8_t init_pad, uint8_t fini_pad); + + /** + * Expand from provided state + * @param bitrate sponge parameter + * @param S the state + * @param output the output buffer + * @param output_length the size of output in bytes + */ + static void expand(size_t bitrate, + secure_vector& S, + uint8_t output[], size_t output_length); + + /** + * The bare Keccak-1600 permutation + */ + static void permute(uint64_t A[25]); + + private: + void add_data(const uint8_t input[], size_t length) override; + void final_result(uint8_t out[]) override; + +#if defined(BOTAN_HAS_SHA3_BMI2) + static void permute_bmi2(uint64_t A[25]); +#endif + + size_t m_output_bits, m_bitrate; + secure_vector m_S; + size_t m_S_pos; + }; + +/** +* SHA-3-224 +*/ +class BOTAN_PUBLIC_API(2,0) SHA_3_224 final : public SHA_3 + { + public: + SHA_3_224() : SHA_3(224) {} + }; + +/** +* SHA-3-256 +*/ +class BOTAN_PUBLIC_API(2,0) SHA_3_256 final : public SHA_3 + { + public: + SHA_3_256() : SHA_3(256) {} + }; + +/** +* SHA-3-384 +*/ +class BOTAN_PUBLIC_API(2,0) SHA_3_384 final : public SHA_3 + { + public: + SHA_3_384() : SHA_3(384) {} + }; + +/** +* SHA-3-512 +*/ +class BOTAN_PUBLIC_API(2,0) SHA_3_512 final : public SHA_3 + { + public: + SHA_3_512() : SHA_3(512) {} + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/shacal2.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/shacal2.h new file mode 100644 index 00000000..b752a033 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/shacal2.h @@ -0,0 +1,54 @@ +/* +* SHACAL-2 +* (C) 2017 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SHACAL2_H_ +#define BOTAN_SHACAL2_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(shacal2.h) + +namespace Botan { + +/** +* SHACAL2 +*/ +class BOTAN_PUBLIC_API(2,3) SHACAL2 final : public Block_Cipher_Fixed_Params<32, 16, 64, 4> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + std::string provider() const override; + void clear() override; + std::string name() const override { return "SHACAL2"; } + BlockCipher* clone() const override { return new SHACAL2; } + size_t parallelism() const override; + + private: + void key_schedule(const uint8_t[], size_t) override; + +#if defined(BOTAN_HAS_SHACAL2_SIMD) + void simd_encrypt_4(const uint8_t in[], uint8_t out[]) const; + void simd_decrypt_4(const uint8_t in[], uint8_t out[]) const; +#endif + +#if defined(BOTAN_HAS_SHACAL2_AVX2) + void avx2_encrypt_8(const uint8_t in[], uint8_t out[]) const; + void avx2_decrypt_8(const uint8_t in[], uint8_t out[]) const; +#endif + +#if defined(BOTAN_HAS_SHACAL2_X86) + void x86_encrypt_blocks(const uint8_t in[], uint8_t out[], size_t blocks) const; +#endif + + secure_vector m_RK; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/shake.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/shake.h new file mode 100644 index 00000000..c52df136 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/shake.h @@ -0,0 +1,85 @@ +/* +* SHAKE hash functions +* (C) 2010,2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SHAKE_HASH_H_ +#define BOTAN_SHAKE_HASH_H_ + +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(shake.h) + +namespace Botan { + +/** +* SHAKE-128 +*/ +class BOTAN_PUBLIC_API(2,0) SHAKE_128 final : public HashFunction + { + public: + + /** + * @param output_bits the desired output size in bits + * must be a multiple of 8 + */ + explicit SHAKE_128(size_t output_bits); + + size_t hash_block_size() const override { return SHAKE_128_BITRATE / 8; } + size_t output_length() const override { return m_output_bits / 8; } + + HashFunction* clone() const override; + std::unique_ptr copy_state() const override; + std::string name() const override; + void clear() override; + + private: + void add_data(const uint8_t input[], size_t length) override; + void final_result(uint8_t out[]) override; + + static const size_t SHAKE_128_BITRATE = 1600 - 256; + + size_t m_output_bits; + secure_vector m_S; + size_t m_S_pos; + }; + +/** +* SHAKE-256 +*/ +class BOTAN_PUBLIC_API(2,0) SHAKE_256 final : public HashFunction + { + public: + + /** + * @param output_bits the desired output size in bits + * must be a multiple of 8 + */ + explicit SHAKE_256(size_t output_bits); + + size_t hash_block_size() const override { return SHAKE_256_BITRATE / 8; } + size_t output_length() const override { return m_output_bits / 8; } + + HashFunction* clone() const override; + std::unique_ptr copy_state() const override; + std::string name() const override; + void clear() override; + + private: + void add_data(const uint8_t input[], size_t length) override; + void final_result(uint8_t out[]) override; + + static const size_t SHAKE_256_BITRATE = 1600 - 512; + + size_t m_output_bits; + secure_vector m_S; + size_t m_S_pos; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/shake_cipher.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/shake_cipher.h new file mode 100644 index 00000000..85eaec2a --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/shake_cipher.h @@ -0,0 +1,57 @@ +/* +* SHAKE-128 as a stream cipher +* (C) 2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SHAKE128_CIPHER_H_ +#define BOTAN_SHAKE128_CIPHER_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(shake_cipher.h) + +namespace Botan { + +/** +* SHAKE-128 XOF presented as a stream cipher +*/ +class BOTAN_PUBLIC_API(2,0) SHAKE_128_Cipher final : public StreamCipher + { + public: + SHAKE_128_Cipher(); + + /** + * Produce more XOF output + */ + void cipher(const uint8_t in[], uint8_t out[], size_t length) override; + + /** + * Seeking is not supported, this function will throw + */ + void seek(uint64_t offset) override; + + /** + * IV not supported, this function will throw unless iv_len == 0 + */ + void set_iv(const uint8_t iv[], size_t iv_len) override; + + Key_Length_Specification key_spec() const override; + + void clear() override; + std::string name() const override; + StreamCipher* clone() const override; + + private: + void key_schedule(const uint8_t key[], size_t key_len) override; + + secure_vector m_state; // internal state + secure_vector m_buffer; // ciphertext buffer + size_t m_buf_pos; // position in m_buffer + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/siphash.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/siphash.h new file mode 100644 index 00000000..d60df8df --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/siphash.h @@ -0,0 +1,47 @@ +/* +* SipHash +* (C) 2014,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SIPHASH_H_ +#define BOTAN_SIPHASH_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(siphash.h) + +namespace Botan { + +class BOTAN_PUBLIC_API(2,0) SipHash final : public MessageAuthenticationCode + { + public: + SipHash(size_t c = 2, size_t d = 4) : m_C(c), m_D(d) {} + + void clear() override; + std::string name() const override; + + MessageAuthenticationCode* clone() const override; + + size_t output_length() const override { return 8; } + + Key_Length_Specification key_spec() const override + { + return Key_Length_Specification(16); + } + private: + void add_data(const uint8_t[], size_t) override; + void final_result(uint8_t[]) override; + void key_schedule(const uint8_t[], size_t) override; + + const size_t m_C, m_D; + secure_vector m_V; + uint64_t m_mbuf = 0; + size_t m_mbuf_pos = 0; + uint8_t m_words = 0; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/siv.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/siv.h new file mode 100644 index 00000000..c76fd322 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/siv.h @@ -0,0 +1,129 @@ +/* +* SIV Mode +* (C) 2013 Jack Lloyd +* (C) 2016 Daniel Neus, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_AEAD_SIV_H_ +#define BOTAN_AEAD_SIV_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(siv.h) + +namespace Botan { + +class BlockCipher; +class MessageAuthenticationCode; + +/** +* Base class for SIV encryption and decryption (@see RFC 5297) +*/ +class BOTAN_PUBLIC_API(2,0) SIV_Mode : public AEAD_Mode + { + public: + size_t process(uint8_t buf[], size_t size) override; + + /** + * Sets the nth element of the vector of associated data + * @param n index into the AD vector + * @param ad associated data + * @param ad_len length of associated data in bytes + */ + void set_associated_data_n(size_t n, const uint8_t ad[], size_t ad_len) override; + + size_t maximum_associated_data_inputs() const override; + + void set_associated_data(const uint8_t ad[], size_t ad_len) override + { + set_associated_data_n(0, ad, ad_len); + } + + std::string name() const override; + + size_t update_granularity() const override; + + Key_Length_Specification key_spec() const override; + + bool valid_nonce_length(size_t) const override; + + void clear() override; + + void reset() override; + + size_t tag_size() const override { return 16; } + + ~SIV_Mode(); + + protected: + explicit SIV_Mode(BlockCipher* cipher); + + size_t block_size() const { return m_bs; } + + StreamCipher& ctr() { return *m_ctr; } + + void set_ctr_iv(secure_vector V); + + secure_vector& msg_buf() { return m_msg_buf; } + + secure_vector S2V(const uint8_t text[], size_t text_len); + private: + void start_msg(const uint8_t nonce[], size_t nonce_len) override; + + void key_schedule(const uint8_t key[], size_t length) override; + + const std::string m_name; + std::unique_ptr m_ctr; + std::unique_ptr m_mac; + secure_vector m_nonce, m_msg_buf; + std::vector> m_ad_macs; + const size_t m_bs; + }; + +/** +* SIV Encryption +*/ +class BOTAN_PUBLIC_API(2,0) SIV_Encryption final : public SIV_Mode + { + public: + /** + * @param cipher a block cipher + */ + explicit SIV_Encryption(BlockCipher* cipher) : SIV_Mode(cipher) {} + + void finish(secure_vector& final_block, size_t offset = 0) override; + + size_t output_length(size_t input_length) const override + { return input_length + tag_size(); } + + size_t minimum_final_size() const override { return 0; } + }; + +/** +* SIV Decryption +*/ +class BOTAN_PUBLIC_API(2,0) SIV_Decryption final : public SIV_Mode + { + public: + /** + * @param cipher a 128-bit block cipher + */ + explicit SIV_Decryption(BlockCipher* cipher) : SIV_Mode(cipher) {} + + void finish(secure_vector& final_block, size_t offset = 0) override; + + size_t output_length(size_t input_length) const override + { + BOTAN_ASSERT(input_length >= tag_size(), "Sufficient input"); + return input_length - tag_size(); + } + + size_t minimum_final_size() const override { return tag_size(); } + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/skein_512.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/skein_512.h new file mode 100644 index 00000000..0bf173ce --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/skein_512.h @@ -0,0 +1,72 @@ +/* +* The Skein-512 hash function +* (C) 2009,2014 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SKEIN_512_H_ +#define BOTAN_SKEIN_512_H_ + +#include +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(skin_512.h) + +namespace Botan { + +/** +* Skein-512, a SHA-3 candidate +*/ +class BOTAN_PUBLIC_API(2,0) Skein_512 final : public HashFunction + { + public: + /** + * @param output_bits the output size of Skein in bits + * @param personalization is a string that will parameterize the + * hash output + */ + Skein_512(size_t output_bits = 512, + const std::string& personalization = ""); + + size_t hash_block_size() const override { return 64; } + size_t output_length() const override { return m_output_bits / 8; } + + HashFunction* clone() const override; + std::unique_ptr copy_state() const override; + std::string name() const override; + void clear() override; + private: + enum type_code { + SKEIN_KEY = 0, + SKEIN_CONFIG = 4, + SKEIN_PERSONALIZATION = 8, + SKEIN_PUBLIC_KEY = 12, + SKEIN_KEY_IDENTIFIER = 16, + SKEIN_NONCE = 20, + SKEIN_MSG = 48, + SKEIN_OUTPUT = 63 + }; + + void add_data(const uint8_t input[], size_t length) override; + void final_result(uint8_t out[]) override; + + void ubi_512(const uint8_t msg[], size_t msg_len); + + void initial_block(); + void reset_tweak(type_code type, bool is_final); + + std::string m_personalization; + size_t m_output_bits; + + std::unique_ptr m_threefish; + secure_vector m_T; + secure_vector m_buffer; + size_t m_buf_pos; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sm2.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sm2.h new file mode 100644 index 00000000..7b5f3885 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sm2.h @@ -0,0 +1,124 @@ +/* +* SM2 +* (C) 2017 Ribose Inc +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SM2_KEY_H_ +#define BOTAN_SM2_KEY_H_ + +#include + +namespace Botan { + +/** +* This class represents SM2 public keys +*/ +class BOTAN_PUBLIC_API(2,2) SM2_PublicKey : public virtual EC_PublicKey + { + public: + + /** + * Create a public key from a given public point. + * @param dom_par the domain parameters associated with this key + * @param public_point the public point defining this key + */ + SM2_PublicKey(const EC_Group& dom_par, + const PointGFp& public_point) : + EC_PublicKey(dom_par, public_point) {} + + /** + * Load a public key. + * @param alg_id the X.509 algorithm identifier + * @param key_bits DER encoded public key bits + */ + SM2_PublicKey(const AlgorithmIdentifier& alg_id, + const std::vector& key_bits) : + EC_PublicKey(alg_id, key_bits) {} + + /** + * Get this keys algorithm name. + * @result this keys algorithm name + */ + std::string algo_name() const override; + + size_t message_parts() const override { return 2; } + + size_t message_part_size() const override + { return domain().get_order().bytes(); } + + std::unique_ptr + create_verification_op(const std::string& params, + const std::string& provider) const override; + + std::unique_ptr + create_encryption_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + + protected: + SM2_PublicKey() = default; + }; + +/** +* This class represents SM2 private keys +*/ +class BOTAN_PUBLIC_API(2,2) SM2_PrivateKey final : + public SM2_PublicKey, public EC_PrivateKey + { + public: + + /** + * Load a private key + * @param alg_id the X.509 algorithm identifier + * @param key_bits ECPrivateKey bits + */ + SM2_PrivateKey(const AlgorithmIdentifier& alg_id, + const secure_vector& key_bits); + + /** + * Create a private key. + * @param rng a random number generator + * @param domain parameters to used for this key + * @param x the private key (if zero, generate a new random key) + */ + SM2_PrivateKey(RandomNumberGenerator& rng, + const EC_Group& domain, + const BigInt& x = 0); + + bool check_key(RandomNumberGenerator& rng, bool) const override; + + std::unique_ptr + create_signature_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + + std::unique_ptr + create_decryption_op(RandomNumberGenerator& rng, + const std::string& params, + const std::string& provider) const override; + + const BigInt& get_da_inv() const { return m_da_inv; } + private: + BigInt m_da_inv; + }; + +class HashFunction; + +std::vector +BOTAN_PUBLIC_API(2,5) sm2_compute_za(HashFunction& hash, + const std::string& user_id, + const EC_Group& domain, + const PointGFp& pubkey); + +// For compat with versions 2.2 - 2.7 +typedef SM2_PublicKey SM2_Signature_PublicKey; +typedef SM2_PublicKey SM2_Encryption_PublicKey; + +typedef SM2_PrivateKey SM2_Signature_PrivateKey; +typedef SM2_PrivateKey SM2_Encryption_PrivateKey; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sm2_enc.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sm2_enc.h new file mode 100644 index 00000000..ea8c43d9 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sm2_enc.h @@ -0,0 +1,15 @@ +/* +* SM2 Encryption +* (C) 2017 Ribose Inc +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SM2_ENC_KEY_H_ +#define BOTAN_SM2_ENC_KEY_H_ + +#include + +BOTAN_DEPRECATED_HEADER(sm2_enc.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sm3.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sm3.h new file mode 100644 index 00000000..268bd87f --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sm3.h @@ -0,0 +1,49 @@ +/* +* SM3 +* (C) 2017 Ribose Inc. +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SM3_H_ +#define BOTAN_SM3_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(sm3.h) + +namespace Botan { + +enum { + SM3_BLOCK_BYTES = 64, + SM3_DIGEST_BYTES = 32 +}; + +/** +* SM3 +*/ +class BOTAN_PUBLIC_API(2,2) SM3 final : public MDx_HashFunction + { + public: + std::string name() const override { return "SM3"; } + size_t output_length() const override { return SM3_DIGEST_BYTES; } + HashFunction* clone() const override { return new SM3; } + std::unique_ptr copy_state() const override; + + void clear() override; + + SM3() : MDx_HashFunction(SM3_BLOCK_BYTES, true, true), m_digest(SM3_DIGEST_BYTES) + { clear(); } + private: + void compress_n(const uint8_t[], size_t blocks) override; + void copy_out(uint8_t[]) override; + + /** + * The digest value + */ + secure_vector m_digest; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sm4.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sm4.h new file mode 100644 index 00000000..637ffd4b --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sm4.h @@ -0,0 +1,45 @@ +/* +* SM4 +* (C) 2017 Ribose Inc +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SM4_H_ +#define BOTAN_SM4_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(sm4.h) + +namespace Botan { + +/** +* SM4 +*/ +class BOTAN_PUBLIC_API(2,2) SM4 final : public Block_Cipher_Fixed_Params<16, 16> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "SM4"; } + BlockCipher* clone() const override { return new SM4; } + + std::string provider() const override; + size_t parallelism() const override; + private: + void key_schedule(const uint8_t[], size_t) override; + +#if defined(BOTAN_HAS_SM4_ARMV8) + void sm4_armv8_encrypt(const uint8_t in[], uint8_t out[], size_t blocks) const; + void sm4_armv8_decrypt(const uint8_t in[], uint8_t out[], size_t blocks) const; +#endif + + secure_vector m_RK; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sodium.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sodium.h new file mode 100644 index 00000000..821fd4f5 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sodium.h @@ -0,0 +1,1453 @@ +/* +* (C) 2019 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SODIUM_COMPAT_H_ +#define BOTAN_SODIUM_COMPAT_H_ + +#include + +namespace Botan { + +/** +* The Sodium namespace contains a partial implementation of the +* libsodium API. +*/ +namespace Sodium { + +// sodium/randombytes.h +enum Sodium_Constants : size_t { + SODIUM_SIZE_MAX = 0xFFFFFFFF, + + crypto_aead_chacha20poly1305_ABYTES = 16, + crypto_aead_chacha20poly1305_KEYBYTES = 32, + crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX = SODIUM_SIZE_MAX, + crypto_aead_chacha20poly1305_NPUBBYTES = 8, + crypto_aead_chacha20poly1305_NSECBYTES = 0, + + crypto_aead_chacha20poly1305_ietf_ABYTES = 16, + crypto_aead_chacha20poly1305_ietf_KEYBYTES = 32, + crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX = SODIUM_SIZE_MAX, + crypto_aead_chacha20poly1305_ietf_NPUBBYTES = 12, + crypto_aead_chacha20poly1305_ietf_NSECBYTES = 0, + + crypto_aead_xchacha20poly1305_ietf_ABYTES = 16, + crypto_aead_xchacha20poly1305_ietf_KEYBYTES = 32, + crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX = SODIUM_SIZE_MAX, + crypto_aead_xchacha20poly1305_ietf_NPUBBYTES = 24, + crypto_aead_xchacha20poly1305_ietf_NSECBYTES = 0, + + crypto_auth_hmacsha256_BYTES = 32, + crypto_auth_hmacsha256_KEYBYTES = 32, + crypto_auth_hmacsha512256_BYTES = 32, + crypto_auth_hmacsha512256_KEYBYTES = 32, + crypto_auth_hmacsha512_BYTES = 64, + crypto_auth_hmacsha512_KEYBYTES = 32, + + crypto_auth_BYTES = crypto_auth_hmacsha512256_BYTES, + crypto_auth_KEYBYTES = crypto_auth_hmacsha512256_KEYBYTES, + + crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES = 32, + crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES = 16, + crypto_box_curve25519xsalsa20poly1305_MACBYTES = 16, + crypto_box_curve25519xsalsa20poly1305_MESSAGEBYTES_MAX = SODIUM_SIZE_MAX, + crypto_box_curve25519xsalsa20poly1305_NONCEBYTES = 24, + crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES = 32, + crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES = 32, + crypto_box_curve25519xsalsa20poly1305_SEEDBYTES = 32, + crypto_box_curve25519xsalsa20poly1305_ZEROBYTES = crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES + crypto_box_curve25519xsalsa20poly1305_MACBYTES, + + crypto_box_BEFORENMBYTES = crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES, + crypto_box_BOXZEROBYTES = crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES, + crypto_box_MACBYTES = crypto_box_curve25519xsalsa20poly1305_MACBYTES, + crypto_box_MESSAGEBYTES_MAX = crypto_box_curve25519xsalsa20poly1305_MESSAGEBYTES_MAX, + crypto_box_NONCEBYTES = crypto_box_curve25519xsalsa20poly1305_NONCEBYTES, + crypto_box_PUBLICKEYBYTES = crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES, + crypto_box_SECRETKEYBYTES = crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES, + crypto_box_SEEDBYTES = crypto_box_curve25519xsalsa20poly1305_SEEDBYTES, + crypto_box_ZEROBYTES = crypto_box_curve25519xsalsa20poly1305_ZEROBYTES, + + crypto_core_hchacha20_CONSTBYTES = 16, + crypto_core_hchacha20_INPUTBYTES = 16, + crypto_core_hchacha20_KEYBYTES = 32, + crypto_core_hchacha20_OUTPUTBYTES = 32, + + crypto_core_hsalsa20_CONSTBYTES = 16, + crypto_core_hsalsa20_INPUTBYTES = 16, + crypto_core_hsalsa20_KEYBYTES = 32, + crypto_core_hsalsa20_OUTPUTBYTES = 32, + + crypto_hash_sha256_BYTES = 32, + crypto_hash_sha512_BYTES = 64, + crypto_hash_BYTES = crypto_hash_sha512_BYTES, + + crypto_onetimeauth_poly1305_BYTES = 16, + crypto_onetimeauth_poly1305_KEYBYTES = 32, + crypto_onetimeauth_BYTES = crypto_onetimeauth_poly1305_BYTES, + crypto_onetimeauth_KEYBYTES = crypto_onetimeauth_poly1305_KEYBYTES, + + crypto_scalarmult_curve25519_BYTES = 32, + crypto_scalarmult_curve25519_SCALARBYTES = 32, + crypto_scalarmult_BYTES = crypto_scalarmult_curve25519_BYTES, + crypto_scalarmult_SCALARBYTES = crypto_scalarmult_curve25519_SCALARBYTES, + + crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES = 16, + crypto_secretbox_xsalsa20poly1305_KEYBYTES = 32, + crypto_secretbox_xsalsa20poly1305_MACBYTES = 16, + crypto_secretbox_xsalsa20poly1305_MESSAGEBYTES_MAX = SODIUM_SIZE_MAX, + crypto_secretbox_xsalsa20poly1305_NONCEBYTES = 24, + crypto_secretbox_xsalsa20poly1305_ZEROBYTES = crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES + crypto_secretbox_xsalsa20poly1305_MACBYTES, + + crypto_secretbox_BOXZEROBYTES = crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES, + crypto_secretbox_KEYBYTES = crypto_secretbox_xsalsa20poly1305_KEYBYTES, + crypto_secretbox_MACBYTES = crypto_secretbox_xsalsa20poly1305_MACBYTES, + crypto_secretbox_MESSAGEBYTES_MAX = crypto_secretbox_xsalsa20poly1305_MESSAGEBYTES_MAX, + crypto_secretbox_NONCEBYTES = crypto_secretbox_xsalsa20poly1305_NONCEBYTES, + crypto_secretbox_ZEROBYTES = crypto_secretbox_xsalsa20poly1305_ZEROBYTES, + + crypto_shorthash_siphash24_BYTES = 8, + crypto_shorthash_siphash24_KEYBYTES = 16, + crypto_shorthash_BYTES = crypto_shorthash_siphash24_BYTES, + crypto_shorthash_KEYBYTES = crypto_shorthash_siphash24_KEYBYTES, + + crypto_sign_ed25519_BYTES = 64, + crypto_sign_ed25519_MESSAGEBYTES_MAX = (SODIUM_SIZE_MAX - crypto_sign_ed25519_BYTES), + crypto_sign_ed25519_PUBLICKEYBYTES = 32, + crypto_sign_ed25519_SECRETKEYBYTES = (32 + 32), + crypto_sign_ed25519_SEEDBYTES = 32, + crypto_sign_BYTES = crypto_sign_ed25519_BYTES, + crypto_sign_MESSAGEBYTES_MAX = crypto_sign_ed25519_MESSAGEBYTES_MAX, + crypto_sign_PUBLICKEYBYTES = crypto_sign_ed25519_PUBLICKEYBYTES, + crypto_sign_SECRETKEYBYTES = crypto_sign_ed25519_SECRETKEYBYTES, + crypto_sign_SEEDBYTES = crypto_sign_ed25519_SEEDBYTES, + + crypto_stream_chacha20_KEYBYTES = 32, + crypto_stream_chacha20_MESSAGEBYTES_MAX = SODIUM_SIZE_MAX, + crypto_stream_chacha20_NONCEBYTES = 8, + crypto_stream_chacha20_ietf_KEYBYTES = 32, + crypto_stream_chacha20_ietf_MESSAGEBYTES_MAX = SODIUM_SIZE_MAX, + crypto_stream_chacha20_ietf_NONCEBYTES = 12, + crypto_stream_salsa20_KEYBYTES = 32, + crypto_stream_salsa20_MESSAGEBYTES_MAX = SODIUM_SIZE_MAX, + crypto_stream_salsa20_NONCEBYTES = 8, + crypto_stream_xchacha20_KEYBYTES = 32, + crypto_stream_xchacha20_MESSAGEBYTES_MAX = SODIUM_SIZE_MAX, + crypto_stream_xchacha20_NONCEBYTES = 24, + crypto_stream_xsalsa20_KEYBYTES = 32, + crypto_stream_xsalsa20_MESSAGEBYTES_MAX = SODIUM_SIZE_MAX, + crypto_stream_xsalsa20_NONCEBYTES = 24, + crypto_stream_KEYBYTES = crypto_stream_xsalsa20_KEYBYTES, + crypto_stream_MESSAGEBYTES_MAX = crypto_stream_xsalsa20_MESSAGEBYTES_MAX, + crypto_stream_NONCEBYTES = crypto_stream_xsalsa20_NONCEBYTES, + + crypto_verify_16_BYTES = 16, + crypto_verify_32_BYTES = 32, + crypto_verify_64_BYTES = 64, + + randombytes_SEEDBYTES = 32, +}; + +inline const char* sodium_version_string() { return "Botan Sodium Compat"; } + +inline int sodium_library_version_major() { return 0; } + +inline int sodium_library_version_minor() { return 0; } + +inline int sodium_library_minimal() { return 0; } + +inline int sodium_init() { return 0; } + +// sodium/crypto_verify_{16,32,64}.h + +BOTAN_PUBLIC_API(2,11) +int crypto_verify_16(const uint8_t x[16], const uint8_t y[16]); + +BOTAN_PUBLIC_API(2,11) +int crypto_verify_32(const uint8_t x[32], const uint8_t y[32]); + +BOTAN_PUBLIC_API(2,11) +int crypto_verify_64(const uint8_t x[64], const uint8_t y[64]); + +// sodium/utils.h +BOTAN_PUBLIC_API(2,11) +void sodium_memzero(void* ptr, size_t len); + +BOTAN_PUBLIC_API(2,11) +int sodium_memcmp(const void* x, const void* y, size_t len); + +BOTAN_PUBLIC_API(2,11) +int sodium_compare(const uint8_t x[], const uint8_t y[], size_t len); + +BOTAN_PUBLIC_API(2,11) +int sodium_is_zero(const uint8_t nonce[], size_t nlen); + +BOTAN_PUBLIC_API(2,11) +void sodium_increment(uint8_t n[], size_t nlen); + +BOTAN_PUBLIC_API(2,11) +void sodium_add(uint8_t a[], const uint8_t b[], size_t len); + +BOTAN_PUBLIC_API(2,11) +void* sodium_malloc(size_t size); + +BOTAN_PUBLIC_API(2,11) +void* sodium_allocarray(size_t count, size_t size); + +BOTAN_PUBLIC_API(2,11) +void sodium_free(void* ptr); + +BOTAN_PUBLIC_API(2,11) +int sodium_mprotect_noaccess(void* ptr); + +BOTAN_PUBLIC_API(2,11) +int sodium_mprotect_readwrite(void* ptr); + +// sodium/randombytes.h + +inline size_t randombytes_seedbytes() { return randombytes_SEEDBYTES; } + +BOTAN_PUBLIC_API(2,11) +void randombytes_buf(void* buf, size_t size); + +BOTAN_PUBLIC_API(2,11) +void randombytes_buf_deterministic(void* buf, size_t size, + const uint8_t seed[randombytes_SEEDBYTES]); + +BOTAN_PUBLIC_API(2,11) +uint32_t randombytes_uniform(uint32_t upper_bound); + +inline uint32_t randombytes_random() + { + uint32_t x = 0; + randombytes_buf(&x, 4); + return x; + } + +inline void randombytes_stir() {} + +inline int randombytes_close() { return 0; } + +inline const char* randombytes_implementation_name() + { + return "botan"; + } + +inline void randombytes(uint8_t buf[], size_t buf_len) + { + return randombytes_buf(buf, buf_len); + } + +// sodium/crypto_secretbox_xsalsa20poly1305.h + +inline size_t crypto_secretbox_xsalsa20poly1305_keybytes() + { + return crypto_secretbox_xsalsa20poly1305_KEYBYTES; + } + +inline size_t crypto_secretbox_xsalsa20poly1305_noncebytes() + { + return crypto_secretbox_xsalsa20poly1305_NONCEBYTES; + } + +inline size_t crypto_secretbox_xsalsa20poly1305_macbytes() + { + return crypto_secretbox_xsalsa20poly1305_MACBYTES; + } + +inline size_t crypto_secretbox_xsalsa20poly1305_messagebytes_max() + { + return crypto_secretbox_xsalsa20poly1305_MESSAGEBYTES_MAX; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_secretbox_xsalsa20poly1305(uint8_t ctext[], + const uint8_t ptext[], + size_t ptext_len, + const uint8_t nonce[], + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_secretbox_xsalsa20poly1305_open(uint8_t ptext[], + const uint8_t ctext[], + size_t ctext_len, + const uint8_t nonce[], + const uint8_t key[]); + +inline void crypto_secretbox_xsalsa20poly1305_keygen(uint8_t k[32]) + { + return randombytes_buf(k, 32); + } + +inline size_t crypto_secretbox_xsalsa20poly1305_boxzerobytes() + { + return crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES; + } + +inline size_t crypto_secretbox_xsalsa20poly1305_zerobytes() + { + return crypto_secretbox_xsalsa20poly1305_ZEROBYTES; + } + +// sodium/crypto_secretbox.h + +inline size_t crypto_secretbox_keybytes() { return crypto_secretbox_KEYBYTES; } + +inline size_t crypto_secretbox_noncebytes() { return crypto_secretbox_NONCEBYTES; } + +inline size_t crypto_secretbox_macbytes() { return crypto_secretbox_MACBYTES; } + +inline size_t crypto_secretbox_messagebytes_max() { return crypto_secretbox_xsalsa20poly1305_MESSAGEBYTES_MAX; } + +inline const char* crypto_secretbox_primitive() { return "xsalsa20poly1305"; } + +BOTAN_PUBLIC_API(2,11) +int crypto_secretbox_detached(uint8_t ctext[], uint8_t mac[], + const uint8_t ptext[], + size_t ptext_len, + const uint8_t nonce[], + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_secretbox_open_detached(uint8_t ptext[], + const uint8_t ctext[], + const uint8_t mac[], + size_t ctext_len, + const uint8_t nonce[], + const uint8_t key[]); + +inline int crypto_secretbox_easy(uint8_t ctext[], const uint8_t ptext[], + size_t ptext_len, const uint8_t nonce[], + const uint8_t key[]) + { + return crypto_secretbox_detached(ctext + crypto_secretbox_MACBYTES, ctext, + ptext, ptext_len, nonce, key); + } + +inline int crypto_secretbox_open_easy(uint8_t out[], const uint8_t ctext[], size_t ctext_len, + const uint8_t nonce[], const uint8_t key[]) + { + if(ctext_len < crypto_secretbox_MACBYTES) + { + return -1; + } + + return crypto_secretbox_open_detached(out, ctext + crypto_secretbox_MACBYTES, + ctext, ctext_len - crypto_secretbox_MACBYTES, + nonce, key); + } + +inline void crypto_secretbox_keygen(uint8_t k[32]) + { + return randombytes_buf(k, 32); + } + +inline size_t crypto_secretbox_zerobytes() + { + return crypto_secretbox_ZEROBYTES; + } + +inline size_t crypto_secretbox_boxzerobytes() + { + return crypto_secretbox_BOXZEROBYTES; + } + +inline int crypto_secretbox(uint8_t ctext[], const uint8_t ptext[], + size_t ptext_len, const uint8_t nonce[], + const uint8_t key[]) + { + return crypto_secretbox_xsalsa20poly1305(ctext, ptext, ptext_len, nonce, key); + } + +inline int crypto_secretbox_open(uint8_t ptext[], const uint8_t ctext[], + size_t ctext_len, const uint8_t nonce[], + const uint8_t key[]) + { + return crypto_secretbox_xsalsa20poly1305_open(ptext, ctext, ctext_len, nonce, key); + } + +// sodium/crypto_aead_xchacha20poly1305.h + +inline size_t crypto_aead_chacha20poly1305_ietf_keybytes() + { + return crypto_aead_chacha20poly1305_ietf_KEYBYTES; + } + +inline size_t crypto_aead_chacha20poly1305_ietf_nsecbytes() + { + return crypto_aead_chacha20poly1305_ietf_NSECBYTES; + } + +inline size_t crypto_aead_chacha20poly1305_ietf_npubbytes() + { + return crypto_aead_chacha20poly1305_ietf_NPUBBYTES; + } + +inline size_t crypto_aead_chacha20poly1305_ietf_abytes() + { + return crypto_aead_chacha20poly1305_ietf_ABYTES; + } + +inline size_t crypto_aead_chacha20poly1305_ietf_messagebytes_max() + { + return crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_aead_chacha20poly1305_ietf_encrypt(uint8_t ctext[], + unsigned long long* ctext_len, + const uint8_t ptext[], + size_t ptext_len, + const uint8_t ad[], + size_t ad_len, + const uint8_t unused_secret_nonce[], + const uint8_t nonce[], + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_aead_chacha20poly1305_ietf_decrypt(uint8_t ptext[], + unsigned long long* ptext_len, + uint8_t unused_secret_nonce[], + const uint8_t ctext[], + size_t ctext_len, + const uint8_t ad[], + size_t ad_len, + const uint8_t nonce[], + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_aead_chacha20poly1305_ietf_encrypt_detached(uint8_t ctext[], + uint8_t mac[], + unsigned long long* mac_len, + const uint8_t ptext[], + size_t ptext_len, + const uint8_t ad[], + size_t ad_len, + const uint8_t unused_secret_nonce[], + const uint8_t nonce[], + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_aead_chacha20poly1305_ietf_decrypt_detached(uint8_t m[], + uint8_t unused_secret_nonce[], + const uint8_t ctext[], + size_t ctext_len, + const uint8_t mac[], + const uint8_t ad[], + size_t ad_len, + const uint8_t nonce[], + const uint8_t key[]); + +inline void crypto_aead_chacha20poly1305_ietf_keygen(uint8_t k[32]) + { + return randombytes_buf(k, crypto_aead_chacha20poly1305_ietf_KEYBYTES); + } + +inline size_t crypto_aead_chacha20poly1305_keybytes() + { + return crypto_aead_chacha20poly1305_KEYBYTES; + } + +inline size_t crypto_aead_chacha20poly1305_nsecbytes() + { + return crypto_aead_chacha20poly1305_NSECBYTES; + } + +inline size_t crypto_aead_chacha20poly1305_npubbytes() + { + return crypto_aead_chacha20poly1305_NPUBBYTES; + } + +inline size_t crypto_aead_chacha20poly1305_abytes() + { + return crypto_aead_chacha20poly1305_ABYTES; + } + +inline size_t crypto_aead_chacha20poly1305_messagebytes_max() + { + return crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_aead_chacha20poly1305_encrypt(uint8_t ctext[], + unsigned long long* ctext_len, + const uint8_t ptext[], + size_t ptext_len, + const uint8_t ad[], + size_t ad_len, + const uint8_t unused_secret_nonce[], + const uint8_t nonce[], + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_aead_chacha20poly1305_decrypt(uint8_t m[], + unsigned long long* ptext_len, + uint8_t unused_secret_nonce[], + const uint8_t ctext[], + size_t ctext_len, + const uint8_t ad[], + size_t ad_len, + const uint8_t nonce[], + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_aead_chacha20poly1305_encrypt_detached(uint8_t ctext[], + uint8_t mac[], + unsigned long long* mac_len, + const uint8_t ptext[], + size_t ptext_len, + const uint8_t ad[], + size_t ad_len, + const uint8_t unused_secret_nonce[], + const uint8_t nonce[], + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_aead_chacha20poly1305_decrypt_detached(uint8_t m[], + uint8_t unused_secret_nonce[], + const uint8_t ctext[], + size_t ctext_len, + const uint8_t mac[], + const uint8_t ad[], + size_t ad_len, + const uint8_t nonce[], + const uint8_t key[]); + +inline void crypto_aead_chacha20poly1305_keygen(uint8_t k[32]) + { + randombytes_buf(k, 32); + } + +// sodium/crypto_aead_xchacha20poly1305.h + +inline size_t crypto_aead_xchacha20poly1305_ietf_keybytes() + { + return crypto_aead_xchacha20poly1305_ietf_KEYBYTES; + } + +inline size_t crypto_aead_xchacha20poly1305_ietf_nsecbytes() + { + return crypto_aead_xchacha20poly1305_ietf_NSECBYTES; + } + +inline size_t crypto_aead_xchacha20poly1305_ietf_npubbytes() + { + return crypto_aead_xchacha20poly1305_ietf_NPUBBYTES; + } + +inline size_t crypto_aead_xchacha20poly1305_ietf_abytes() + { + return crypto_aead_xchacha20poly1305_ietf_ABYTES; + } + +inline size_t crypto_aead_xchacha20poly1305_ietf_messagebytes_max() + { + return crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_aead_xchacha20poly1305_ietf_encrypt(uint8_t ctext[], + unsigned long long* ctext_len, + const uint8_t ptext[], + size_t ptext_len, + const uint8_t ad[], + size_t ad_len, + const uint8_t unused_secret_nonce[], + const uint8_t nonce[], + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_aead_xchacha20poly1305_ietf_decrypt(uint8_t ptext[], + unsigned long long* ptext_len, + uint8_t unused_secret_nonce[], + const uint8_t ctext[], + size_t ctext_len, + const uint8_t ad[], + size_t ad_len, + const uint8_t nonce[], + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_aead_xchacha20poly1305_ietf_encrypt_detached(uint8_t ctext[], + uint8_t mac[], + unsigned long long* mac_len, + const uint8_t ptext[], + size_t ptext_len, + const uint8_t ad[], + size_t ad_len, + const uint8_t unused_secret_nonce[], + const uint8_t nonce[], + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_aead_xchacha20poly1305_ietf_decrypt_detached(uint8_t ptext[], + uint8_t unused_secret_nonce[], + const uint8_t ctext[], + size_t ctext_len, + const uint8_t mac[], + const uint8_t ad[], + size_t ad_len, + const uint8_t nonce[], + const uint8_t key[]); + +inline void crypto_aead_xchacha20poly1305_ietf_keygen(uint8_t k[32]) + { + return randombytes_buf(k, 32); + } + +// sodium/crypto_box_curve25519xsalsa20poly1305.h + +inline size_t crypto_box_curve25519xsalsa20poly1305_seedbytes() + { + return crypto_box_curve25519xsalsa20poly1305_SEEDBYTES; + } + +inline size_t crypto_box_curve25519xsalsa20poly1305_publickeybytes() + { + return crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES; + } + +inline size_t crypto_box_curve25519xsalsa20poly1305_secretkeybytes() + { + return crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES; + } + +inline size_t crypto_box_curve25519xsalsa20poly1305_beforenmbytes() + { + return crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES; + } + +inline size_t crypto_box_curve25519xsalsa20poly1305_noncebytes() + { + return crypto_box_curve25519xsalsa20poly1305_NONCEBYTES; + } + +inline size_t crypto_box_curve25519xsalsa20poly1305_macbytes() + { + return crypto_box_curve25519xsalsa20poly1305_MACBYTES; + } + +inline size_t crypto_box_curve25519xsalsa20poly1305_messagebytes_max() + { + return crypto_box_curve25519xsalsa20poly1305_MESSAGEBYTES_MAX; + } + +inline size_t crypto_box_curve25519xsalsa20poly1305_boxzerobytes() + { + return crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES; + } + +inline size_t crypto_box_curve25519xsalsa20poly1305_zerobytes() + { + return crypto_box_curve25519xsalsa20poly1305_ZEROBYTES; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_box_curve25519xsalsa20poly1305_seed_keypair(uint8_t pk[32], + uint8_t sk[32], + const uint8_t seed[32]); + +BOTAN_PUBLIC_API(2,11) +int crypto_box_curve25519xsalsa20poly1305_keypair(uint8_t pk[32], + uint8_t sk[32]); + +BOTAN_PUBLIC_API(2,11) +int crypto_box_curve25519xsalsa20poly1305_beforenm(uint8_t key[], + const uint8_t pk[32], + const uint8_t sk[32]); + +BOTAN_PUBLIC_API(2,11) +int crypto_box_curve25519xsalsa20poly1305(uint8_t ctext[], + const uint8_t ptext[], + size_t ptext_len, + const uint8_t nonce[], + const uint8_t pk[32], + const uint8_t sk[32]); + +BOTAN_PUBLIC_API(2,11) +int crypto_box_curve25519xsalsa20poly1305_open(uint8_t ptext[], + const uint8_t ctext[], + size_t ctext_len, + const uint8_t nonce[], + const uint8_t pk[32], + const uint8_t sk[32]); + +inline int crypto_box_curve25519xsalsa20poly1305_afternm(uint8_t ctext[], + const uint8_t ptext[], + size_t ptext_len, + const uint8_t nonce[], + const uint8_t key[]) + { + return crypto_secretbox_xsalsa20poly1305(ctext, ptext, ptext_len, nonce, key); + } + +inline int crypto_box_curve25519xsalsa20poly1305_open_afternm(uint8_t ptext[], + const uint8_t ctext[], + size_t ctext_len, + const uint8_t nonce[], + const uint8_t key[]) + { + return crypto_secretbox_xsalsa20poly1305_open(ptext, ctext, ctext_len, nonce, key); + } + +// sodium/crypto_box.h + +inline size_t crypto_box_seedbytes() + { + return crypto_box_SEEDBYTES; + } + +inline size_t crypto_box_publickeybytes() + { + return crypto_box_PUBLICKEYBYTES; + } + +inline size_t crypto_box_secretkeybytes() + { + return crypto_box_SECRETKEYBYTES; + } + +inline size_t crypto_box_noncebytes() + { + return crypto_box_NONCEBYTES; + } + +inline size_t crypto_box_macbytes() + { + return crypto_box_MACBYTES; + } + +inline size_t crypto_box_messagebytes_max() + { + return crypto_box_MESSAGEBYTES_MAX; + } + +inline size_t crypto_box_beforenmbytes() + { + return crypto_box_BEFORENMBYTES; + } + +inline const char* crypto_box_primitive() { return "curve25519xsalsa20poly1305"; } + +inline int crypto_box_seed_keypair(uint8_t pk[32], uint8_t sk[32], + const uint8_t seed[]) + { + return crypto_box_curve25519xsalsa20poly1305_seed_keypair(pk, sk, seed); + } + +inline int crypto_box_keypair(uint8_t pk[32], uint8_t sk[32]) + { + return crypto_box_curve25519xsalsa20poly1305_keypair(pk, sk); + } + +BOTAN_PUBLIC_API(2,11) +int crypto_box_detached(uint8_t ctext[], uint8_t mac[], + const uint8_t ptext[], size_t ptext_len, + const uint8_t nonce[], const uint8_t pk[32], + const uint8_t sk[32]); + +BOTAN_PUBLIC_API(2,11) +int crypto_box_open_detached(uint8_t ptext[], const uint8_t ctext[], + const uint8_t mac[], + size_t ctext_len, + const uint8_t nonce[], + const uint8_t pk[32], + const uint8_t sk[32]); + +inline int crypto_box_easy(uint8_t ctext[], const uint8_t ptext[], + size_t ptext_len, const uint8_t nonce[], + const uint8_t pk[32], const uint8_t sk[32]) + { + return crypto_box_detached(ctext + crypto_box_MACBYTES, ctext, ptext, ptext_len, nonce, pk, sk); + } + +inline int crypto_box_open_easy(uint8_t ptext[], const uint8_t ctext[], + size_t ctext_len, const uint8_t nonce[], + const uint8_t pk[32], const uint8_t sk[32]) + { + if(ctext_len < crypto_box_MACBYTES) + { + return -1; + } + + return crypto_box_open_detached(ptext, ctext + crypto_box_MACBYTES, + ctext, ctext_len - crypto_box_MACBYTES, + nonce, pk, sk); + } + +inline int crypto_box_beforenm(uint8_t key[], const uint8_t pk[32], + const uint8_t sk[32]) + { + return crypto_box_curve25519xsalsa20poly1305_beforenm(key, pk, sk); + } + +inline int crypto_box_afternm(uint8_t ctext[], const uint8_t ptext[], + size_t ptext_len, const uint8_t nonce[], + const uint8_t key[]) + { + return crypto_box_curve25519xsalsa20poly1305_afternm(ctext, ptext, ptext_len, nonce, key); + } + +inline int crypto_box_open_afternm(uint8_t ptext[], const uint8_t ctext[], + size_t ctext_len, const uint8_t nonce[], + const uint8_t key[]) + { + return crypto_box_curve25519xsalsa20poly1305_open_afternm(ptext, ctext, ctext_len, nonce, key); + } + +inline int crypto_box_open_detached_afternm(uint8_t ptext[], const uint8_t ctext[], + const uint8_t mac[], + size_t ctext_len, const uint8_t nonce[], + const uint8_t key[]) + { + return crypto_secretbox_open_detached(ptext, ctext, mac, ctext_len, nonce, key); + } + +inline int crypto_box_open_easy_afternm(uint8_t ptext[], const uint8_t ctext[], + size_t ctext_len, const uint8_t nonce[], + const uint8_t key[]) + { + if(ctext_len < crypto_box_MACBYTES) + { + return -1; + } + + return crypto_box_open_detached_afternm(ptext, ctext + crypto_box_MACBYTES, + ctext, ctext_len - crypto_box_MACBYTES, + nonce, key); + } + +inline int crypto_box_detached_afternm(uint8_t ctext[], uint8_t mac[], + const uint8_t ptext[], size_t ptext_len, + const uint8_t nonce[], const uint8_t key[]) + { + return crypto_secretbox_detached(ctext, mac, ptext, ptext_len, nonce, key); + } + +inline int crypto_box_easy_afternm(uint8_t ctext[], const uint8_t ptext[], + size_t ptext_len, const uint8_t nonce[], + const uint8_t key[]) + { + return crypto_box_detached_afternm(ctext + crypto_box_MACBYTES, ctext, ptext, ptext_len, nonce, key); + } + +inline size_t crypto_box_zerobytes() { return crypto_box_ZEROBYTES; } + +inline size_t crypto_box_boxzerobytes() { return crypto_box_BOXZEROBYTES; } + +inline int crypto_box(uint8_t ctext[], const uint8_t ptext[], + size_t ptext_len, const uint8_t nonce[], + const uint8_t pk[32], const uint8_t sk[32]) + { + return crypto_box_curve25519xsalsa20poly1305(ctext, ptext, ptext_len, nonce, pk, sk); + } + +inline int crypto_box_open(uint8_t ptext[], const uint8_t ctext[], + size_t ctext_len, const uint8_t nonce[], + const uint8_t pk[32], const uint8_t sk[32]) + { + return crypto_box_curve25519xsalsa20poly1305_open(ptext, ctext, ctext_len, nonce, pk, sk); + } + +// sodium/crypto_hash_sha512.h + +inline size_t crypto_hash_sha512_bytes() { return crypto_hash_sha512_BYTES; } + +BOTAN_PUBLIC_API(2,11) +int crypto_hash_sha512(uint8_t out[64], const uint8_t in[], size_t in_len); + +// sodium/crypto_auth_hmacsha512.h + +inline size_t crypto_auth_hmacsha512_bytes() { return crypto_auth_hmacsha512_BYTES; } + +inline size_t crypto_auth_hmacsha512_keybytes() { return crypto_auth_hmacsha512_KEYBYTES; } + +BOTAN_PUBLIC_API(2,11) +int crypto_auth_hmacsha512(uint8_t out[], + const uint8_t in[], + size_t in_len, + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_auth_hmacsha512_verify(const uint8_t h[], + const uint8_t in[], + size_t in_len, + const uint8_t key[]); + +inline void crypto_auth_hmacsha512_keygen(uint8_t k[32]) + { + return randombytes_buf(k, 32); + } + +// sodium/crypto_auth_hmacsha512256.h + +inline size_t crypto_auth_hmacsha512256_bytes() + { + return crypto_auth_hmacsha512256_BYTES; + } + +inline size_t crypto_auth_hmacsha512256_keybytes() + { + return crypto_auth_hmacsha512256_KEYBYTES; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_auth_hmacsha512256(uint8_t out[], + const uint8_t in[], + size_t in_len, + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_auth_hmacsha512256_verify(const uint8_t h[], + const uint8_t in[], + size_t in_len, + const uint8_t key[]); + +inline void crypto_auth_hmacsha512256_keygen(uint8_t k[32]) + { + return randombytes_buf(k, 32); + } + +// sodium/crypto_auth.h + +inline size_t crypto_auth_bytes() { return crypto_auth_BYTES; } + +inline size_t crypto_auth_keybytes() { return crypto_auth_KEYBYTES; } + +inline const char* crypto_auth_primitive() { return "hmacsha512256"; } + +inline int crypto_auth(uint8_t out[], const uint8_t in[], + size_t in_len, const uint8_t key[]) + { + return crypto_auth_hmacsha512256(out, in, in_len, key); + } + +inline int crypto_auth_verify(const uint8_t mac[], const uint8_t in[], + size_t in_len, const uint8_t key[]) + { + return crypto_auth_hmacsha512256_verify(mac, in, in_len, key); + } + +inline void crypto_auth_keygen(uint8_t k[]) + { + return randombytes_buf(k, crypto_auth_KEYBYTES); + } + +// sodium/crypto_hash_sha256.h + +inline size_t crypto_hash_sha256_bytes() + { + return crypto_hash_sha256_BYTES; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_hash_sha256(uint8_t out[], const uint8_t in[], size_t in_len); + +// sodium/crypto_auth_hmacsha256.h + +inline size_t crypto_auth_hmacsha256_bytes() + { + return crypto_auth_hmacsha256_BYTES; + } + +inline size_t crypto_auth_hmacsha256_keybytes() + { + return crypto_auth_hmacsha256_KEYBYTES; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_auth_hmacsha256(uint8_t out[], + const uint8_t in[], + size_t in_len, + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_auth_hmacsha256_verify(const uint8_t h[], + const uint8_t in[], + size_t in_len, + const uint8_t key[]); + +inline void crypto_auth_hmacsha256_keygen(uint8_t k[32]) + { + return randombytes_buf(k, 32); + } + +// sodium/crypto_stream_xsalsa20.h + +inline size_t crypto_stream_xsalsa20_keybytes() + { + return crypto_stream_xsalsa20_KEYBYTES; + } + +inline size_t crypto_stream_xsalsa20_noncebytes() + { + return crypto_stream_xsalsa20_NONCEBYTES; + } + +inline size_t crypto_stream_xsalsa20_messagebytes_max() + { + return crypto_stream_xsalsa20_MESSAGEBYTES_MAX; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_stream_xsalsa20(uint8_t out[], size_t ctext_len, + const uint8_t nonce[], const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_stream_xsalsa20_xor(uint8_t out[], const uint8_t ptext[], + size_t ptext_len, const uint8_t nonce[], + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_stream_xsalsa20_xor_ic(uint8_t out[], const uint8_t ptext[], + size_t ptext_len, + const uint8_t nonce[], uint64_t ic, + const uint8_t key[]); + +inline void crypto_stream_xsalsa20_keygen(uint8_t k[32]) + { + return randombytes_buf(k, 32); + } + +// sodium/crypto_core_hsalsa20.h + +inline size_t crypto_core_hsalsa20_outputbytes() + { + return crypto_core_hsalsa20_OUTPUTBYTES; + } + +inline size_t crypto_core_hsalsa20_inputbytes() + { + return crypto_core_hsalsa20_INPUTBYTES; + } + +inline size_t crypto_core_hsalsa20_keybytes() + { + return crypto_core_hsalsa20_KEYBYTES; + } + +inline size_t crypto_core_hsalsa20_constbytes() + { + return crypto_core_hsalsa20_CONSTBYTES; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_core_hsalsa20(uint8_t out[], const uint8_t in[], + const uint8_t key[], const uint8_t c[]); + +// sodium/crypto_hash.h + +inline size_t crypto_hash_bytes() + { + return crypto_hash_BYTES; + } + +inline int crypto_hash(uint8_t out[], const uint8_t in[], size_t in_len) + { + return crypto_hash_sha512(out, in, in_len); + } + +inline const char* crypto_hash_primitive() { return "sha512"; } + +// sodium/crypto_onetimeauth_poly1305.h + +inline size_t crypto_onetimeauth_poly1305_bytes() + { + return crypto_onetimeauth_poly1305_BYTES; + } + +inline size_t crypto_onetimeauth_poly1305_keybytes() + { + return crypto_onetimeauth_poly1305_KEYBYTES; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_onetimeauth_poly1305(uint8_t out[], + const uint8_t in[], + size_t in_len, + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_onetimeauth_poly1305_verify(const uint8_t h[], + const uint8_t in[], + size_t in_len, + const uint8_t key[]); + +inline void crypto_onetimeauth_poly1305_keygen(uint8_t k[32]) + { + return randombytes_buf(k, 32); + } + +// sodium/crypto_onetimeauth.h + +inline size_t crypto_onetimeauth_bytes() { return crypto_onetimeauth_BYTES; } + +inline size_t crypto_onetimeauth_keybytes() { return crypto_onetimeauth_KEYBYTES; } + +inline const char* crypto_onetimeauth_primitive() { return "poly1305"; } + +inline int crypto_onetimeauth(uint8_t out[], const uint8_t in[], + size_t in_len, const uint8_t key[]) + { + return crypto_onetimeauth_poly1305(out, in, in_len, key); + } + +inline int crypto_onetimeauth_verify(const uint8_t h[], const uint8_t in[], + size_t in_len, const uint8_t key[]) + { + return crypto_onetimeauth_poly1305_verify(h, in, in_len, key); + } + +inline void crypto_onetimeauth_keygen(uint8_t k[32]) + { + return crypto_onetimeauth_poly1305_keygen(k); + } + +// sodium/crypto_scalarmult_curve25519.h + +inline size_t crypto_scalarmult_curve25519_bytes() + { + return crypto_scalarmult_curve25519_BYTES; + } + +inline size_t crypto_scalarmult_curve25519_scalarbytes() + { + return crypto_scalarmult_curve25519_SCALARBYTES; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_scalarmult_curve25519(uint8_t out[32], const uint8_t scalar[32], const uint8_t basepoint[32]); + +BOTAN_PUBLIC_API(2,11) +int crypto_scalarmult_curve25519_base(uint8_t out[32], const uint8_t scalar[32]); + +// sodium/crypto_scalarmult.h + +inline size_t crypto_scalarmult_bytes() { return crypto_scalarmult_curve25519_bytes(); } + +inline size_t crypto_scalarmult_scalarbytes() { return crypto_scalarmult_curve25519_scalarbytes(); } + +inline const char* crypto_scalarmult_primitive() { return "curve25519"; } + +inline int crypto_scalarmult_base(uint8_t out[], const uint8_t scalar[]) + { + return crypto_scalarmult_curve25519_base(out, scalar); + } + +inline int crypto_scalarmult(uint8_t out[], const uint8_t scalar[], const uint8_t base[]) + { + return crypto_scalarmult_curve25519(out, scalar, base); + } + +// sodium/crypto_stream_chacha20.h + +inline size_t crypto_stream_chacha20_keybytes() + { + return crypto_stream_chacha20_KEYBYTES; + } + +inline size_t crypto_stream_chacha20_noncebytes() + { + return crypto_stream_chacha20_NONCEBYTES; + } + +inline size_t crypto_stream_chacha20_messagebytes_max() + { + return crypto_stream_chacha20_MESSAGEBYTES_MAX; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_stream_chacha20(uint8_t out[], size_t ctext_len, + const uint8_t nonce[], const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_stream_chacha20_xor(uint8_t out[], const uint8_t ptext[], + size_t ptext_len, const uint8_t nonce[], + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_stream_chacha20_xor_ic(uint8_t out[], const uint8_t ptext[], + size_t ptext_len, + const uint8_t nonce[], uint64_t ic, + const uint8_t key[]); + +inline void crypto_stream_chacha20_keygen(uint8_t k[32]) + { + return randombytes_buf(k, 32); + } + +inline size_t crypto_stream_chacha20_ietf_keybytes() + { + return crypto_stream_chacha20_ietf_KEYBYTES; + } + +inline size_t crypto_stream_chacha20_ietf_noncebytes() + { + return crypto_stream_chacha20_ietf_NONCEBYTES; + } + +inline size_t crypto_stream_chacha20_ietf_messagebytes_max() + { + return crypto_stream_chacha20_ietf_MESSAGEBYTES_MAX; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_stream_chacha20_ietf(uint8_t out[], size_t ctext_len, + const uint8_t nonce[], const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_stream_chacha20_ietf_xor(uint8_t out[], const uint8_t ptext[], + size_t ptext_len, const uint8_t nonce[], + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_stream_chacha20_ietf_xor_ic(uint8_t out[], const uint8_t ptext[], + size_t ptext_len, + const uint8_t nonce[], uint32_t ic, + const uint8_t key[]); + +inline void crypto_stream_chacha20_ietf_keygen(uint8_t k[32]) + { + return randombytes_buf(k, 32); + } + +// sodium/crypto_stream_xchacha20.h + +inline size_t crypto_stream_xchacha20_keybytes() + { + return crypto_stream_xchacha20_KEYBYTES; + } + +inline size_t crypto_stream_xchacha20_noncebytes() + { + return crypto_stream_xchacha20_NONCEBYTES; + } + +inline size_t crypto_stream_xchacha20_messagebytes_max() + { + return crypto_stream_xchacha20_MESSAGEBYTES_MAX; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_stream_xchacha20(uint8_t out[], size_t ctext_len, + const uint8_t nonce[], const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_stream_xchacha20_xor(uint8_t out[], const uint8_t ptext[], + size_t ptext_len, const uint8_t nonce[], + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_stream_xchacha20_xor_ic(uint8_t out[], const uint8_t ptext[], + size_t ptext_len, + const uint8_t nonce[], uint64_t ic, + const uint8_t key[]); + +inline void crypto_stream_xchacha20_keygen(uint8_t k[32]) + { + return randombytes_buf(k, crypto_stream_xchacha20_KEYBYTES); + } + +// sodium/crypto_stream_salsa20.h + +inline size_t crypto_stream_salsa20_keybytes() + { + return crypto_stream_xsalsa20_KEYBYTES; + } + +inline size_t crypto_stream_salsa20_noncebytes() + { + return crypto_stream_salsa20_NONCEBYTES; + } + +inline size_t crypto_stream_salsa20_messagebytes_max() + { + return crypto_stream_salsa20_MESSAGEBYTES_MAX; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_stream_salsa20(uint8_t out[], size_t ctext_len, + const uint8_t nonce[], const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_stream_salsa20_xor(uint8_t out[], const uint8_t ptext[], + size_t ptext_len, const uint8_t nonce[], + const uint8_t key[]); + +BOTAN_PUBLIC_API(2,11) +int crypto_stream_salsa20_xor_ic(uint8_t out[], const uint8_t ptext[], + size_t ptext_len, + const uint8_t nonce[], uint64_t ic, + const uint8_t key[]); + +inline void crypto_stream_salsa20_keygen(uint8_t k[32]) + { + return randombytes_buf(k, 32); + } + +// sodium/crypto_stream.h + +inline size_t crypto_stream_keybytes() { return crypto_stream_xsalsa20_keybytes(); } + +inline size_t crypto_stream_noncebytes() { return crypto_stream_xsalsa20_noncebytes(); } + +inline size_t crypto_stream_messagebytes_max() { return crypto_stream_MESSAGEBYTES_MAX; } + +inline const char* crypto_stream_primitive() { return "xsalsa20"; } + +inline int crypto_stream(uint8_t out[], size_t out_len, + const uint8_t nonce[24], const uint8_t key[32]) + { + return crypto_stream_xsalsa20(out, out_len, nonce, key); + } + +inline int crypto_stream_xor(uint8_t out[], const uint8_t in[], size_t in_len, + const uint8_t nonce[24], const uint8_t key[32]) + { + return crypto_stream_xsalsa20_xor(out, in, in_len, nonce, key); + } + +inline void crypto_stream_keygen(uint8_t key[32]) + { + return randombytes_buf(key, 32); + } + +// sodium/crypto_shorthash_siphash24.h + +inline size_t crypto_shorthash_siphash24_bytes() { return crypto_shorthash_siphash24_BYTES; } + +inline size_t crypto_shorthash_siphash24_keybytes() { return crypto_shorthash_siphash24_KEYBYTES; } + +BOTAN_PUBLIC_API(2,11) +int crypto_shorthash_siphash24(uint8_t out[8], const uint8_t in[], size_t in_len, const uint8_t key[16]); + +// sodium/crypto_shorthash.h + +inline size_t crypto_shorthash_bytes() { return crypto_shorthash_siphash24_bytes(); } + +inline size_t crypto_shorthash_keybytes() { return crypto_shorthash_siphash24_keybytes(); } + +inline const char* crypto_shorthash_primitive() { return "siphash24"; } + +inline int crypto_shorthash(uint8_t out[], const uint8_t in[], + size_t in_len, const uint8_t k[16]) + { + return crypto_shorthash_siphash24(out, in, in_len, k); + } + +inline void crypto_shorthash_keygen(uint8_t k[16]) + { + randombytes_buf(k, crypto_shorthash_siphash24_KEYBYTES); + } + +// sodium/crypto_sign_ed25519.h + +inline size_t crypto_sign_ed25519_bytes() + { + return crypto_sign_ed25519_BYTES; + } + +inline size_t crypto_sign_ed25519_seedbytes() + { + return crypto_sign_ed25519_SEEDBYTES; + } + +inline size_t crypto_sign_ed25519_publickeybytes() + { + return crypto_sign_ed25519_PUBLICKEYBYTES; + } + +inline size_t crypto_sign_ed25519_secretkeybytes() + { + return crypto_sign_ed25519_SECRETKEYBYTES; + } + +inline size_t crypto_sign_ed25519_messagebytes_max() + { + return crypto_sign_ed25519_MESSAGEBYTES_MAX; + } + +BOTAN_PUBLIC_API(2,11) +int crypto_sign_ed25519_detached(uint8_t sig[], + unsigned long long* sig_len, + const uint8_t msg[], + size_t msg_len, + const uint8_t sk[32]); + +BOTAN_PUBLIC_API(2,11) +int crypto_sign_ed25519_verify_detached(const uint8_t sig[], + const uint8_t msg[], + size_t msg_len, + const uint8_t pk[32]); + +BOTAN_PUBLIC_API(2,11) +int crypto_sign_ed25519_keypair(uint8_t pk[32], uint8_t sk[64]); + +BOTAN_PUBLIC_API(2,11) +int crypto_sign_ed25519_seed_keypair(uint8_t pk[], uint8_t sk[], + const uint8_t seed[]); + +// sodium/crypto_sign.h + +inline size_t crypto_sign_bytes() + { + return crypto_sign_BYTES; + } + +inline size_t crypto_sign_seedbytes() + { + return crypto_sign_SEEDBYTES; + } + +inline size_t crypto_sign_publickeybytes() + { + return crypto_sign_PUBLICKEYBYTES; + } + +inline size_t crypto_sign_secretkeybytes() + { + return crypto_sign_SECRETKEYBYTES; + } + +inline size_t crypto_sign_messagebytes_max() + { + return crypto_sign_MESSAGEBYTES_MAX; + } + +inline const char* crypto_sign_primitive() + { + return "ed25519"; + } + +inline int crypto_sign_seed_keypair(uint8_t pk[32], uint8_t sk[32], + const uint8_t seed[]) + { + return crypto_sign_ed25519_seed_keypair(pk, sk, seed); + } + +inline int crypto_sign_keypair(uint8_t pk[32], uint8_t sk[32]) + { + return crypto_sign_ed25519_keypair(pk, sk); + } + +inline int crypto_sign_detached(uint8_t sig[], unsigned long long* sig_len, + const uint8_t msg[], size_t msg_len, + const uint8_t sk[32]) + { + return crypto_sign_ed25519_detached(sig, sig_len, msg, msg_len, sk); + } + +inline int crypto_sign_verify_detached(const uint8_t sig[], + const uint8_t in[], + size_t in_len, + const uint8_t pk[32]) + { + return crypto_sign_ed25519_verify_detached(sig, in, in_len, pk); + } + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sp800_108.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sp800_108.h new file mode 100644 index 00000000..46f734e8 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sp800_108.h @@ -0,0 +1,135 @@ +/* +* KDFs defined in NIST SP 800-108 +* (C) 2016 Kai Michaelis +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SP800_108_H_ +#define BOTAN_SP800_108_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(sp800_108.h) + +namespace Botan { + +/** + * NIST SP 800-108 KDF in Counter Mode (5.1) + */ +class BOTAN_PUBLIC_API(2,0) SP800_108_Counter final : public KDF + { + public: + std::string name() const override { return "SP800-108-Counter(" + m_prf->name() + ")"; } + + KDF* clone() const override { return new SP800_108_Counter(m_prf->clone()); } + + /** + * Derive a key using the SP800-108 KDF in Counter mode. + * + * The implementation hard codes the length of [L]_2 + * and [i]_2 (the value r) to 32 bits. + * + * @param key resulting keying material + * @param key_len the desired output length in bytes + * @param secret K_I + * @param secret_len size of K_I in bytes + * @param salt Context + * @param salt_len size of Context in bytes + * @param label Label + * @param label_len size of Label in bytes + * + * @throws Invalid_Argument key_len > 2^32 + */ + size_t kdf(uint8_t key[], size_t key_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len) const override; + + /** + * @param mac MAC algorithm to use + */ + explicit SP800_108_Counter(MessageAuthenticationCode* mac) : m_prf(mac) {} + private: + std::unique_ptr m_prf; + }; + +/** + * NIST SP 800-108 KDF in Feedback Mode (5.2) + */ +class BOTAN_PUBLIC_API(2,0) SP800_108_Feedback final : public KDF + { + public: + std::string name() const override { return "SP800-108-Feedback(" + m_prf->name() + ")"; } + + KDF* clone() const override { return new SP800_108_Feedback(m_prf->clone()); } + + /** + * Derive a key using the SP800-108 KDF in Feedback mode. + * + * The implementation uses the optional counter i and hard + * codes the length of [L]_2 and [i]_2 (the value r) to 32 bits. + * + * @param key resulting keying material + * @param key_len the desired output length in bytes + * @param secret K_I + * @param secret_len size of K_I in bytes + * @param salt IV || Context + * @param salt_len size of Context plus IV in bytes + * @param label Label + * @param label_len size of Label in bytes + * + * @throws Invalid_Argument key_len > 2^32 + */ + size_t kdf(uint8_t key[], size_t key_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len) const override; + + explicit SP800_108_Feedback(MessageAuthenticationCode* mac) : m_prf(mac) {} + private: + std::unique_ptr m_prf; + }; + +/** + * NIST SP 800-108 KDF in Double Pipeline Mode (5.3) + */ +class BOTAN_PUBLIC_API(2,0) SP800_108_Pipeline final : public KDF + { + public: + std::string name() const override { return "SP800-108-Pipeline(" + m_prf->name() + ")"; } + + KDF* clone() const override { return new SP800_108_Pipeline(m_prf->clone()); } + + /** + * Derive a key using the SP800-108 KDF in Double Pipeline mode. + * + * The implementation uses the optional counter i and hard + * codes the length of [L]_2 and [i]_2 (the value r) to 32 bits. + * + * @param key resulting keying material + * @param key_len the desired output length in bytes + * @param secret K_I + * @param secret_len size of K_I in bytes + * @param salt Context + * @param salt_len size of Context in bytes + * @param label Label + * @param label_len size of Label in bytes + * + * @throws Invalid_Argument key_len > 2^32 + */ + size_t kdf(uint8_t key[], size_t key_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len) const override; + + explicit SP800_108_Pipeline(MessageAuthenticationCode* mac) : m_prf(mac) {} + + private: + std::unique_ptr m_prf; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sp800_56a.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sp800_56a.h new file mode 100644 index 00000000..e83f117e --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sp800_56a.h @@ -0,0 +1,103 @@ +/* +* KDF defined in NIST SP 800-56a revision 2 (Single-step key-derivation function) +* +* (C) 2017 Ribose Inc. Written by Krzysztof Kwiatkowski. +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SP800_56A_H_ +#define BOTAN_SP800_56A_H_ + +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(sp800_56a.h) + +namespace Botan { + +/** + * NIST SP 800-56A KDF using hash function + * @warning This KDF ignores the provided salt value + */ +class BOTAN_PUBLIC_API(2,2) SP800_56A_Hash final : public KDF + { + public: + std::string name() const override { return "SP800-56A(" + m_hash->name() + ")"; } + + KDF* clone() const override { return new SP800_56A_Hash(m_hash->clone()); } + + /** + * Derive a key using the SP800-56A KDF. + * + * The implementation hard codes the context value for the + * expansion step to the empty string. + * + * @param key derived keying material K_M + * @param key_len the desired output length in bytes + * @param secret shared secret Z + * @param secret_len size of Z in bytes + * @param salt ignored + * @param salt_len ignored + * @param label label for the expansion step + * @param label_len size of label in bytes + * + * @throws Invalid_Argument key_len > 2^32 + */ + size_t kdf(uint8_t key[], size_t key_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len) const override; + + /** + * @param hash the hash function to use as the auxiliary function + */ + explicit SP800_56A_Hash(HashFunction* hash) : m_hash(hash) {} + private: + std::unique_ptr m_hash; + }; + +/** + * NIST SP 800-56A KDF using HMAC + */ +class BOTAN_PUBLIC_API(2,2) SP800_56A_HMAC final : public KDF + { + public: + std::string name() const override { return "SP800-56A(" + m_mac->name() + ")"; } + + KDF* clone() const override { return new SP800_56A_HMAC(m_mac->clone()); } + + /** + * Derive a key using the SP800-56A KDF. + * + * The implementation hard codes the context value for the + * expansion step to the empty string. + * + * @param key derived keying material K_M + * @param key_len the desired output length in bytes + * @param secret shared secret Z + * @param secret_len size of Z in bytes + * @param salt ignored + * @param salt_len ignored + * @param label label for the expansion step + * @param label_len size of label in bytes + * + * @throws Invalid_Argument key_len > 2^32 or MAC is not a HMAC + */ + size_t kdf(uint8_t key[], size_t key_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len) const override; + + /** + * @param mac the HMAC to use as the auxiliary function + */ + explicit SP800_56A_HMAC(MessageAuthenticationCode* mac); + private: + std::unique_ptr m_mac; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sp800_56c.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sp800_56c.h new file mode 100644 index 00000000..bdbdfcd9 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sp800_56c.h @@ -0,0 +1,61 @@ +/* +* KDF defined in NIST SP 800-56c +* (C) 2016 Kai Michaelis +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SP800_56C_H_ +#define BOTAN_SP800_56C_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(sp800_56c.h) + +namespace Botan { + +/** + * NIST SP 800-56C KDF + */ +class BOTAN_PUBLIC_API(2,0) SP800_56C final : public KDF + { + public: + std::string name() const override { return "SP800-56C(" + m_prf->name() + ")"; } + + KDF* clone() const override { return new SP800_56C(m_prf->clone(), m_exp->clone()); } + + /** + * Derive a key using the SP800-56C KDF. + * + * The implementation hard codes the context value for the + * expansion step to the empty string. + * + * @param key derived keying material K_M + * @param key_len the desired output length in bytes + * @param secret shared secret Z + * @param secret_len size of Z in bytes + * @param salt salt s of the extraction step + * @param salt_len size of s in bytes + * @param label label for the expansion step + * @param label_len size of label in bytes + * + * @throws Invalid_Argument key_len > 2^32 + */ + size_t kdf(uint8_t key[], size_t key_len, + const uint8_t secret[], size_t secret_len, + const uint8_t salt[], size_t salt_len, + const uint8_t label[], size_t label_len) const override; + + /** + * @param mac MAC algorithm used for randomness extraction + * @param exp KDF used for key expansion + */ + SP800_56C(MessageAuthenticationCode* mac, KDF* exp) : m_prf(mac), m_exp(exp) {} + private: + std::unique_ptr m_prf; + std::unique_ptr m_exp; + }; +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/srp6.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/srp6.h new file mode 100644 index 00000000..6bb4b7e7 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/srp6.h @@ -0,0 +1,155 @@ +/* +* SRP-6a (RFC 5054 compatatible) +* (C) 2011,2012,2019 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_RFC5054_SRP6_H_ +#define BOTAN_RFC5054_SRP6_H_ + +#include +#include +#include + +namespace Botan { + +class DL_Group; +class RandomNumberGenerator; + +/** +* SRP6a Client side +* @param username the username we are attempting login for +* @param password the password we are attempting to use +* @param group_id specifies the shared SRP group +* @param hash_id specifies a secure hash function +* @param salt is the salt value sent by the server +* @param B is the server's public value +* @param rng is a random number generator +* +* @return (A,K) the client public key and the shared secret key +*/ +std::pair +BOTAN_PUBLIC_API(2,0) srp6_client_agree(const std::string& username, + const std::string& password, + const std::string& group_id, + const std::string& hash_id, + const std::vector& salt, + const BigInt& B, + RandomNumberGenerator& rng); + + +/** +* SRP6a Client side +* @param username the username we are attempting login for +* @param password the password we are attempting to use +* @param group specifies the shared SRP group +* @param hash_id specifies a secure hash function +* @param salt is the salt value sent by the server +* @param B is the server's public value +* @param a_bits size of secret exponent in bits +* @param rng is a random number generator +* +* @return (A,K) the client public key and the shared secret key +*/ +std::pair BOTAN_PUBLIC_API(2,11) + srp6_client_agree(const std::string& username, + const std::string& password, + const DL_Group& group, + const std::string& hash_id, + const std::vector& salt, + const BigInt& B, + size_t a_bits, + RandomNumberGenerator& rng); + +/** +* Generate a new SRP-6 verifier +* @param identifier a username or other client identifier +* @param password the secret used to authenticate user +* @param salt a randomly chosen value, at least 128 bits long +* @param group_id specifies the shared SRP group +* @param hash_id specifies a secure hash function +*/ +BigInt BOTAN_PUBLIC_API(2,0) + generate_srp6_verifier(const std::string& identifier, + const std::string& password, + const std::vector& salt, + const std::string& group_id, + const std::string& hash_id); + +/** +* Generate a new SRP-6 verifier +* @param identifier a username or other client identifier +* @param password the secret used to authenticate user +* @param salt a randomly chosen value, at least 128 bits long +* @param group specifies the shared SRP group +* @param hash_id specifies a secure hash function +*/ +BigInt BOTAN_PUBLIC_API(2,11) + generate_srp6_verifier(const std::string& identifier, + const std::string& password, + const std::vector& salt, + const DL_Group& group, + const std::string& hash_id); + +/** +* Return the group id for this SRP param set, or else thrown an +* exception +* @param N the group modulus +* @param g the group generator +* @return group identifier +*/ +std::string BOTAN_PUBLIC_API(2,0) srp6_group_identifier(const BigInt& N, const BigInt& g); + +/** +* Represents a SRP-6a server session +*/ +class BOTAN_PUBLIC_API(2,0) SRP6_Server_Session final + { + public: + /** + * Server side step 1 + * @param v the verification value saved from client registration + * @param group_id the SRP group id + * @param hash_id the SRP hash in use + * @param rng a random number generator + * @return SRP-6 B value + */ + BigInt step1(const BigInt& v, + const std::string& group_id, + const std::string& hash_id, + RandomNumberGenerator& rng); + + /** + * Server side step 1 + * This version of step1 added in 2.11 + * + * @param v the verification value saved from client registration + * @param group the SRP group + * @param hash_id the SRP hash in use + * @param rng a random number generator + * @param b_bits size of secret exponent in bits + * @return SRP-6 B value + */ + BigInt step1(const BigInt& v, + const DL_Group& group, + const std::string& hash_id, + const size_t b_bits, + RandomNumberGenerator& rng); + + /** + * Server side step 2 + * @param A the client's value + * @return shared symmetric key + */ + SymmetricKey step2(const BigInt& A); + + private: + std::string m_hash_id; + BigInt m_B, m_b, m_v, m_S, m_p; + size_t m_p_bytes = 0; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/stateful_rng.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/stateful_rng.h new file mode 100644 index 00000000..e1311fcc --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/stateful_rng.h @@ -0,0 +1,166 @@ +/* +* (C) 2016 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_STATEFUL_RNG_H_ +#define BOTAN_STATEFUL_RNG_H_ + +#include +#include + +namespace Botan { + +/** +* Inherited by RNGs which maintain in-process state, like HMAC_DRBG. +* On Unix these RNGs are vulnerable to problems with fork, where the +* RNG state is duplicated, and the parent and child process RNGs will +* produce identical output until one of them reseeds. Stateful_RNG +* reseeds itself whenever a fork is detected, or after a set number of +* bytes have been output. +* +* Not implemented by RNGs which access an external RNG, such as the +* system PRNG or a hardware RNG. +*/ +class BOTAN_PUBLIC_API(2,0) Stateful_RNG : public RandomNumberGenerator + { + public: + /** + * @param rng is a reference to some RNG which will be used + * to perform the periodic reseeding + * @param entropy_sources will be polled to perform reseeding periodically + * @param reseed_interval specifies a limit of how many times + * the RNG will be called before automatic reseeding is performed + */ + Stateful_RNG(RandomNumberGenerator& rng, + Entropy_Sources& entropy_sources, + size_t reseed_interval) : + m_underlying_rng(&rng), + m_entropy_sources(&entropy_sources), + m_reseed_interval(reseed_interval) + {} + + /** + * @param rng is a reference to some RNG which will be used + * to perform the periodic reseeding + * @param reseed_interval specifies a limit of how many times + * the RNG will be called before automatic reseeding is performed + */ + Stateful_RNG(RandomNumberGenerator& rng, size_t reseed_interval) : + m_underlying_rng(&rng), + m_reseed_interval(reseed_interval) + {} + + /** + * @param entropy_sources will be polled to perform reseeding periodically + * @param reseed_interval specifies a limit of how many times + * the RNG will be called before automatic reseeding is performed + */ + Stateful_RNG(Entropy_Sources& entropy_sources, size_t reseed_interval) : + m_entropy_sources(&entropy_sources), + m_reseed_interval(reseed_interval) + {} + + /** + * In this case, automatic reseeding is impossible + */ + Stateful_RNG() : m_reseed_interval(0) {} + + /** + * Consume this input and mark the RNG as initialized regardless + * of the length of the input or the current seeded state of + * the RNG. + */ + void initialize_with(const uint8_t input[], size_t length); + + bool is_seeded() const override final; + + bool accepts_input() const override final { return true; } + + /** + * Mark state as requiring a reseed on next use + */ + void force_reseed(); + + void reseed_from_rng(RandomNumberGenerator& rng, + size_t poll_bits = BOTAN_RNG_RESEED_POLL_BITS) override final; + + void add_entropy(const uint8_t input[], size_t input_len) override final; + + void randomize(uint8_t output[], size_t output_len) override final; + + void randomize_with_input(uint8_t output[], size_t output_len, + const uint8_t input[], size_t input_len) override final; + + /** + * Overrides default implementation and also includes the current + * process ID and the reseed counter. + */ + void randomize_with_ts_input(uint8_t output[], size_t output_len) override final; + + /** + * Poll provided sources for up to poll_bits bits of entropy + * or until the timeout expires. Returns estimate of the number + * of bits collected. + */ + size_t reseed(Entropy_Sources& srcs, + size_t poll_bits = BOTAN_RNG_RESEED_POLL_BITS, + std::chrono::milliseconds poll_timeout = BOTAN_RNG_RESEED_DEFAULT_TIMEOUT) override; + + /** + * @return intended security level of this DRBG + */ + virtual size_t security_level() const = 0; + + /** + * Some DRBGs have a notion of the maximum number of bytes per + * request. Longer requests (to randomize) will be treated as + * multiple requests, and may initiate reseeding multiple times, + * depending on the values of max_number_of_bytes_per_request and + * reseed_interval(). This function returns zero if the RNG in + * question does not have such a notion. + * + * @return max number of bytes per request (or zero) + */ + virtual size_t max_number_of_bytes_per_request() const = 0; + + size_t reseed_interval() const { return m_reseed_interval; } + + void clear() override final; + + protected: + void reseed_check(); + + virtual void generate_output(uint8_t output[], size_t output_len, + const uint8_t input[], size_t input_len) = 0; + + virtual void update(const uint8_t input[], size_t input_len) = 0; + + virtual void clear_state() = 0; + + private: + void reset_reseed_counter(); + + mutable recursive_mutex_type m_mutex; + + // A non-owned and possibly null pointer to shared RNG + RandomNumberGenerator* m_underlying_rng = nullptr; + + // A non-owned and possibly null pointer to a shared Entropy_Source + Entropy_Sources* m_entropy_sources = nullptr; + + const size_t m_reseed_interval; + uint32_t m_last_pid = 0; + + /* + * Set to 1 after a successful seeding, then incremented. Reset + * to 0 by clear() or a fork. This logic is used even if + * automatic reseeding is disabled (via m_reseed_interval = 0) + */ + size_t m_reseed_counter = 0; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/stl_compatibility.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/stl_compatibility.h new file mode 100644 index 00000000..03bd5c8a --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/stl_compatibility.h @@ -0,0 +1,80 @@ +/* +* STL standards compatibility functions +* (C) 2017 Tomasz Frydrych +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_STL_COMPATIBILITY_H_ +#define BOTAN_STL_COMPATIBILITY_H_ + +#include +#include + +#if __cplusplus < 201402L +#include +#include +#include +#endif + +BOTAN_FUTURE_INTERNAL_HEADER(stl_compatability.h) + +namespace Botan +{ +/* +* std::make_unique functionality similar as we have in C++14. +* C++11 version based on proposal for C++14 implemenatation by Stephan T. Lavavej +* source: https://isocpp.org/files/papers/N3656.txt +*/ +#if __cplusplus >= 201402L +template +constexpr auto make_unique(Args&&... args) + { + return std::make_unique(std::forward(args)...); + } + +template +constexpr auto make_unique(std::size_t size) + { + return std::make_unique(size); + } + +#else +namespace stlCompatibilityDetails +{ +template struct _Unique_if + { + typedef std::unique_ptr _Single_object; + }; + +template struct _Unique_if + { + typedef std::unique_ptr _Unknown_bound; + }; + +template struct _Unique_if + { + typedef void _Known_bound; + }; +} // namespace stlCompatibilityDetails + +template +typename stlCompatibilityDetails::_Unique_if::_Single_object make_unique(Args&&... args) + { + return std::unique_ptr(new T(std::forward(args)...)); + } + +template +typename stlCompatibilityDetails::_Unique_if::_Unknown_bound make_unique(size_t n) + { + typedef typename std::remove_extent::type U; + return std::unique_ptr(new U[n]()); + } + +template +typename stlCompatibilityDetails::_Unique_if::_Known_bound make_unique(Args&&...) = delete; + +#endif + +} // namespace Botan +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/stream_cipher.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/stream_cipher.h new file mode 100644 index 00000000..a07f2104 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/stream_cipher.h @@ -0,0 +1,147 @@ +/* +* Stream Cipher +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_STREAM_CIPHER_H_ +#define BOTAN_STREAM_CIPHER_H_ + +#include +#include +#include +#include + +namespace Botan { + +/** +* Base class for all stream ciphers +*/ +class BOTAN_PUBLIC_API(2,0) StreamCipher : public SymmetricAlgorithm + { + public: + virtual ~StreamCipher() = default; + + /** + * Create an instance based on a name + * If provider is empty then best available is chosen. + * @param algo_spec algorithm name + * @param provider provider implementation to use + * @return a null pointer if the algo/provider combination cannot be found + */ + static std::unique_ptr + create(const std::string& algo_spec, + const std::string& provider = ""); + + /** + * Create an instance based on a name + * If provider is empty then best available is chosen. + * @param algo_spec algorithm name + * @param provider provider implementation to use + * Throws a Lookup_Error if the algo/provider combination cannot be found + */ + static std::unique_ptr + create_or_throw(const std::string& algo_spec, + const std::string& provider = ""); + + /** + * @return list of available providers for this algorithm, empty if not available + */ + static std::vector providers(const std::string& algo_spec); + + /** + * Encrypt or decrypt a message + * @param in the plaintext + * @param out the byte array to hold the output, i.e. the ciphertext + * @param len the length of both in and out in bytes + */ + virtual void cipher(const uint8_t in[], uint8_t out[], size_t len) = 0; + + /** + * Write keystream bytes to a buffer + * @param out the byte array to hold the keystream + * @param len the length of out in bytes + */ + virtual void write_keystream(uint8_t out[], size_t len) + { + clear_mem(out, len); + cipher1(out, len); + } + + /** + * Encrypt or decrypt a message + * The message is encrypted/decrypted in place. + * @param buf the plaintext / ciphertext + * @param len the length of buf in bytes + */ + void cipher1(uint8_t buf[], size_t len) + { cipher(buf, buf, len); } + + /** + * Encrypt a message + * The message is encrypted/decrypted in place. + * @param inout the plaintext / ciphertext + */ + template + void encipher(std::vector& inout) + { cipher(inout.data(), inout.data(), inout.size()); } + + /** + * Encrypt a message + * The message is encrypted in place. + * @param inout the plaintext / ciphertext + */ + template + void encrypt(std::vector& inout) + { cipher(inout.data(), inout.data(), inout.size()); } + + /** + * Decrypt a message in place + * The message is decrypted in place. + * @param inout the plaintext / ciphertext + */ + template + void decrypt(std::vector& inout) + { cipher(inout.data(), inout.data(), inout.size()); } + + /** + * Resync the cipher using the IV + * @param iv the initialization vector + * @param iv_len the length of the IV in bytes + */ + virtual void set_iv(const uint8_t iv[], size_t iv_len) = 0; + + /** + * Return the default (preferred) nonce length + * If this function returns 0, then this cipher does not support nonces + */ + virtual size_t default_iv_length() const { return 0; } + + /** + * @param iv_len the length of the IV in bytes + * @return if the length is valid for this algorithm + */ + virtual bool valid_iv_length(size_t iv_len) const { return (iv_len == 0); } + + /** + * @return a new object representing the same algorithm as *this + */ + virtual StreamCipher* clone() const = 0; + + /** + * Set the offset and the state used later to generate the keystream + * @param offset the offset where we begin to generate the keystream + */ + virtual void seek(uint64_t offset) = 0; + + /** + * @return provider information about this implementation. Default is "base", + * might also return "sse2", "avx2", "openssl", or some other arbitrary string. + */ + virtual std::string provider() const { return "base"; } + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/stream_mode.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/stream_mode.h new file mode 100644 index 00000000..da3fc38c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/stream_mode.h @@ -0,0 +1,84 @@ +/* +* (C) 2015 Jack Lloyd +* (C) 2016 Daniel Neus, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_STREAM_MODE_H_ +#define BOTAN_STREAM_MODE_H_ + +#include + +#if defined(BOTAN_HAS_STREAM_CIPHER) + #include +#endif + +BOTAN_FUTURE_INTERNAL_HEADER(stream_mode.h) + +namespace Botan { + +#if defined(BOTAN_HAS_STREAM_CIPHER) + +class BOTAN_PUBLIC_API(2,0) Stream_Cipher_Mode final : public Cipher_Mode + { + public: + /** + * @param cipher underyling stream cipher + */ + explicit Stream_Cipher_Mode(StreamCipher* cipher) : m_cipher(cipher) {} + + size_t process(uint8_t buf[], size_t sz) override + { + m_cipher->cipher1(buf, sz); + return sz; + } + + void finish(secure_vector& buf, size_t offset) override + { return update(buf, offset); } + + size_t output_length(size_t input_length) const override { return input_length; } + + size_t update_granularity() const override { return 1; } + + size_t minimum_final_size() const override { return 0; } + + size_t default_nonce_length() const override { return 0; } + + bool valid_nonce_length(size_t nonce_len) const override + { return m_cipher->valid_iv_length(nonce_len); } + + Key_Length_Specification key_spec() const override { return m_cipher->key_spec(); } + + std::string name() const override { return m_cipher->name(); } + + void clear() override + { + m_cipher->clear(); + reset(); + } + + void reset() override { /* no msg state */ } + + private: + void start_msg(const uint8_t nonce[], size_t nonce_len) override + { + if(nonce_len > 0) + { + m_cipher->set_iv(nonce, nonce_len); + } + } + + void key_schedule(const uint8_t key[], size_t length) override + { + m_cipher->set_key(key, length); + } + + std::unique_ptr m_cipher; + }; + +#endif + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/streebog.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/streebog.h new file mode 100644 index 00000000..a573964d --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/streebog.h @@ -0,0 +1,72 @@ +/* +* Streebog +* (C) 2017 Ribose Inc. +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_STREEBOG_H_ +#define BOTAN_STREEBOG_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(streebog.h) + +namespace Botan { + +/** +* Streebog (GOST R 34.11-2012) +* RFC 6986 +*/ +class BOTAN_PUBLIC_API(2,2) Streebog : public HashFunction + { + public: + size_t output_length() const override { return m_output_bits / 8; } + + HashFunction* clone() const override { return new Streebog(m_output_bits); } + void clear() override; + std::string name() const override; + size_t hash_block_size() const override { return 64; } + + std::unique_ptr copy_state() const override; + + explicit Streebog(size_t output_bits); + protected: + void add_data(const uint8_t input[], size_t length) override; + void final_result(uint8_t out[]) override; + + void compress(const uint8_t input[], bool lastblock = false); + + void compress_64(const uint64_t input[], bool lastblock = false); + + private: + const size_t m_output_bits; + uint64_t m_count; + size_t m_position; + secure_vector m_buffer; + secure_vector m_h; + secure_vector m_S; + }; + + +/** +* Streebog-256 +*/ +class BOTAN_PUBLIC_API(2,2) Streebog_256 final : public Streebog + { + public: + Streebog_256() : Streebog(256) {} + }; + +/** +* Streebog-512 +*/ +class BOTAN_PUBLIC_API(2,2) Streebog_512 final : public Streebog + { + public: + Streebog_512() : Streebog(512) {} + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sym_algo.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sym_algo.h new file mode 100644 index 00000000..41d99929 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/sym_algo.h @@ -0,0 +1,190 @@ +/* +* Symmetric Algorithm Base Class +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SYMMETRIC_ALGORITHM_H_ +#define BOTAN_SYMMETRIC_ALGORITHM_H_ + +#include +#include + +namespace Botan { + +/** +* Represents the length requirements on an algorithm key +*/ +class BOTAN_PUBLIC_API(2,0) Key_Length_Specification final + { + public: + /** + * Constructor for fixed length keys + * @param keylen the supported key length + */ + explicit Key_Length_Specification(size_t keylen) : + m_min_keylen(keylen), + m_max_keylen(keylen), + m_keylen_mod(1) + { + } + + /** + * Constructor for variable length keys + * @param min_k the smallest supported key length + * @param max_k the largest supported key length + * @param k_mod the number of bytes the key must be a multiple of + */ + Key_Length_Specification(size_t min_k, + size_t max_k, + size_t k_mod = 1) : + m_min_keylen(min_k), + m_max_keylen(max_k ? max_k : min_k), + m_keylen_mod(k_mod) + { + } + + /** + * @param length is a key length in bytes + * @return true iff this length is a valid length for this algo + */ + bool valid_keylength(size_t length) const + { + return ((length >= m_min_keylen) && + (length <= m_max_keylen) && + (length % m_keylen_mod == 0)); + } + + /** + * @return minimum key length in bytes + */ + size_t minimum_keylength() const + { + return m_min_keylen; + } + + /** + * @return maximum key length in bytes + */ + size_t maximum_keylength() const + { + return m_max_keylen; + } + + /** + * @return key length multiple in bytes + */ + size_t keylength_multiple() const + { + return m_keylen_mod; + } + + /* + * Multiplies all length requirements with the given factor + * @param n the multiplication factor + * @return a key length specification multiplied by the factor + */ + Key_Length_Specification multiple(size_t n) const + { + return Key_Length_Specification(n * m_min_keylen, + n * m_max_keylen, + n * m_keylen_mod); + } + + private: + size_t m_min_keylen, m_max_keylen, m_keylen_mod; + }; + +/** +* This class represents a symmetric algorithm object. +*/ +class BOTAN_PUBLIC_API(2,0) SymmetricAlgorithm + { + public: + virtual ~SymmetricAlgorithm() = default; + + /** + * Reset the state. + */ + virtual void clear() = 0; + + /** + * @return object describing limits on key size + */ + virtual Key_Length_Specification key_spec() const = 0; + + /** + * @return maximum allowed key length + */ + size_t maximum_keylength() const + { + return key_spec().maximum_keylength(); + } + + /** + * @return minimum allowed key length + */ + size_t minimum_keylength() const + { + return key_spec().minimum_keylength(); + } + + /** + * Check whether a given key length is valid for this algorithm. + * @param length the key length to be checked. + * @return true if the key length is valid. + */ + bool valid_keylength(size_t length) const + { + return key_spec().valid_keylength(length); + } + + /** + * Set the symmetric key of this object. + * @param key the SymmetricKey to be set. + */ + void set_key(const SymmetricKey& key) + { + set_key(key.begin(), key.length()); + } + + template + void set_key(const std::vector& key) + { + set_key(key.data(), key.size()); + } + + /** + * Set the symmetric key of this object. + * @param key the to be set as a byte array. + * @param length in bytes of key param + */ + void set_key(const uint8_t key[], size_t length); + + /** + * @return the algorithm name + */ + virtual std::string name() const = 0; + + protected: + void verify_key_set(bool cond) const + { + if(cond == false) + throw_key_not_set_error(); + } + + private: + void throw_key_not_set_error() const; + + /** + * Run the key schedule + * @param key the key + * @param length of key + */ + virtual void key_schedule(const uint8_t key[], size_t length) = 0; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/symkey.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/symkey.h new file mode 100644 index 00000000..69becdd4 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/symkey.h @@ -0,0 +1,150 @@ +/* +* OctetString +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SYMKEY_H_ +#define BOTAN_SYMKEY_H_ + +#include +#include + +namespace Botan { + +/** +* Octet String +*/ +class BOTAN_PUBLIC_API(2,0) OctetString final + { + public: + /** + * @return size of this octet string in bytes + */ + size_t length() const { return m_data.size(); } + size_t size() const { return m_data.size(); } + + /** + * @return this object as a secure_vector + */ + secure_vector bits_of() const { return m_data; } + + /** + * @return start of this string + */ + const uint8_t* begin() const { return m_data.data(); } + + /** + * @return end of this string + */ + const uint8_t* end() const { return begin() + m_data.size(); } + + /** + * @return this encoded as hex + */ + std::string to_string() const; + + std::string BOTAN_DEPRECATED("Use OctetString::to_string") as_string() const + { + return this->to_string(); + } + + /** + * XOR the contents of another octet string into this one + * @param other octet string + * @return reference to this + */ + OctetString& operator^=(const OctetString& other); + + /** + * Force to have odd parity + */ + void set_odd_parity(); + + /** + * Create a new OctetString + * @param str is a hex encoded string + */ + explicit OctetString(const std::string& str = ""); + + /** + * Create a new random OctetString + * @param rng is a random number generator + * @param len is the desired length in bytes + */ + OctetString(class RandomNumberGenerator& rng, size_t len); + + /** + * Create a new OctetString + * @param in is an array + * @param len is the length of in in bytes + */ + OctetString(const uint8_t in[], size_t len); + + /** + * Create a new OctetString + * @param in a bytestring + */ + OctetString(const secure_vector& in) : m_data(in) {} + + /** + * Create a new OctetString + * @param in a bytestring + */ + OctetString(const std::vector& in) : m_data(in.begin(), in.end()) {} + + private: + secure_vector m_data; + }; + +/** +* Compare two strings +* @param x an octet string +* @param y an octet string +* @return if x is equal to y +*/ +BOTAN_PUBLIC_API(2,0) bool operator==(const OctetString& x, + const OctetString& y); + +/** +* Compare two strings +* @param x an octet string +* @param y an octet string +* @return if x is not equal to y +*/ +BOTAN_PUBLIC_API(2,0) bool operator!=(const OctetString& x, + const OctetString& y); + +/** +* Concatenate two strings +* @param x an octet string +* @param y an octet string +* @return x concatenated with y +*/ +BOTAN_PUBLIC_API(2,0) OctetString operator+(const OctetString& x, + const OctetString& y); + +/** +* XOR two strings +* @param x an octet string +* @param y an octet string +* @return x XORed with y +*/ +BOTAN_PUBLIC_API(2,0) OctetString operator^(const OctetString& x, + const OctetString& y); + + +/** +* Alternate name for octet string showing intent to use as a key +*/ +using SymmetricKey = OctetString; + +/** +* Alternate name for octet string showing intent to use as an IV +*/ +using InitializationVector = OctetString; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/system_rng.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/system_rng.h new file mode 100644 index 00000000..e0f0181c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/system_rng.h @@ -0,0 +1,43 @@ +/* +* System RNG interface +* (C) 2014,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_SYSTEM_RNG_H_ +#define BOTAN_SYSTEM_RNG_H_ + +#include + +namespace Botan { + +/** +* Return a shared reference to a global PRNG instance provided by the +* operating system. For instance might be instantiated by /dev/urandom +* or CryptGenRandom. +*/ +BOTAN_PUBLIC_API(2,0) RandomNumberGenerator& system_rng(); + +/* +* Instantiable reference to the system RNG. +*/ +class BOTAN_PUBLIC_API(2,0) System_RNG final : public RandomNumberGenerator + { + public: + std::string name() const override { return system_rng().name(); } + + void randomize(uint8_t out[], size_t len) override { system_rng().randomize(out, len); } + + void add_entropy(const uint8_t in[], size_t length) override { system_rng().add_entropy(in, length); } + + bool is_seeded() const override { return system_rng().is_seeded(); } + + bool accepts_input() const override { return system_rng().accepts_input(); } + + void clear() override { system_rng().clear(); } + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/threefish.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/threefish.h new file mode 100644 index 00000000..f866a717 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/threefish.h @@ -0,0 +1,17 @@ +/* +* Threefish +* (C) 2013,2014 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_THREEFISH_H_ +#define BOTAN_THREEFISH_H_ + +// This header is deprecated and will be removed in a future major release + +#include + +BOTAN_DEPRECATED_HEADER(threefish.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/threefish_512.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/threefish_512.h new file mode 100644 index 00000000..f3adf71a --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/threefish_512.h @@ -0,0 +1,57 @@ +/* +* Threefish-512 +* (C) 2013,2014 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_THREEFISH_512_H_ +#define BOTAN_THREEFISH_512_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(threefish_512.h) + +namespace Botan { + +/** +* Threefish-512 +*/ +class BOTAN_PUBLIC_API(2,0) Threefish_512 final : + public Block_Cipher_Fixed_Params<64, 64, 0, 1, Tweakable_Block_Cipher> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void set_tweak(const uint8_t tweak[], size_t len) override; + + void clear() override; + std::string provider() const override; + std::string name() const override { return "Threefish-512"; } + BlockCipher* clone() const override { return new Threefish_512; } + size_t parallelism() const override; + + private: + +#if defined(BOTAN_HAS_THREEFISH_512_AVX2) + void avx2_encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const; + void avx2_decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const; +#endif + + void key_schedule(const uint8_t key[], size_t key_len) override; + + // Interface for Skein + friend class Skein_512; + + void skein_feedfwd(const secure_vector& M, + const secure_vector& T); + + // Private data + secure_vector m_T; + secure_vector m_K; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tiger.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tiger.h new file mode 100644 index 00000000..6e17ce83 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tiger.h @@ -0,0 +1,59 @@ +/* +* Tiger +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TIGER_H_ +#define BOTAN_TIGER_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(tiger.h) + +namespace Botan { + +/** +* Tiger +*/ +class BOTAN_PUBLIC_API(2,0) Tiger final : public MDx_HashFunction + { + public: + std::string name() const override; + size_t output_length() const override { return m_hash_len; } + + HashFunction* clone() const override + { + return new Tiger(output_length(), m_passes); + } + + std::unique_ptr copy_state() const override; + + void clear() override; + + /** + * @param out_size specifies the output length; can be 16, 20, or 24 + * @param passes to make in the algorithm + */ + Tiger(size_t out_size = 24, size_t passes = 3); + private: + void compress_n(const uint8_t[], size_t block) override; + void copy_out(uint8_t[]) override; + + static void pass(uint64_t& A, uint64_t& B, uint64_t& C, + const secure_vector& M, + uint8_t mul); + + static const uint64_t SBOX1[256]; + static const uint64_t SBOX2[256]; + static const uint64_t SBOX3[256]; + static const uint64_t SBOX4[256]; + + secure_vector m_X, m_digest; + const size_t m_hash_len, m_passes; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_alert.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_alert.h new file mode 100644 index 00000000..d9d3fe31 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_alert.h @@ -0,0 +1,116 @@ +/* +* Alert Message +* (C) 2004-2006,2011,2012 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_ALERT_H_ +#define BOTAN_TLS_ALERT_H_ + +#include +#include + +namespace Botan { + +namespace TLS { + +/** +* SSL/TLS Alert Message +*/ +class BOTAN_PUBLIC_API(2,0) Alert final + { + public: + /** + * Type codes for TLS alerts + */ + enum Type { + CLOSE_NOTIFY = 0, + UNEXPECTED_MESSAGE = 10, + BAD_RECORD_MAC = 20, + DECRYPTION_FAILED = 21, + RECORD_OVERFLOW = 22, + DECOMPRESSION_FAILURE = 30, + HANDSHAKE_FAILURE = 40, + NO_CERTIFICATE = 41, // SSLv3 only + BAD_CERTIFICATE = 42, + UNSUPPORTED_CERTIFICATE = 43, + CERTIFICATE_REVOKED = 44, + CERTIFICATE_EXPIRED = 45, + CERTIFICATE_UNKNOWN = 46, + ILLEGAL_PARAMETER = 47, + UNKNOWN_CA = 48, + ACCESS_DENIED = 49, + DECODE_ERROR = 50, + DECRYPT_ERROR = 51, + EXPORT_RESTRICTION = 60, + PROTOCOL_VERSION = 70, + INSUFFICIENT_SECURITY = 71, + INTERNAL_ERROR = 80, + INAPPROPRIATE_FALLBACK = 86, + USER_CANCELED = 90, + NO_RENEGOTIATION = 100, + UNSUPPORTED_EXTENSION = 110, + CERTIFICATE_UNOBTAINABLE = 111, + UNRECOGNIZED_NAME = 112, + BAD_CERTIFICATE_STATUS_RESPONSE = 113, + BAD_CERTIFICATE_HASH_VALUE = 114, + UNKNOWN_PSK_IDENTITY = 115, + CERTIFICATE_REQUIRED = 116, // RFC 8446 + + NO_APPLICATION_PROTOCOL = 120, // RFC 7301 + + // pseudo alert values + NULL_ALERT = 256 + }; + + /** + * @return true iff this alert is non-empty + */ + bool is_valid() const { return (m_type_code != NULL_ALERT); } + + /** + * @return if this alert is a fatal one or not + */ + bool is_fatal() const { return m_fatal; } + + /** + * @return type of alert + */ + Type type() const { return m_type_code; } + + /** + * @return type of alert + */ + std::string type_string() const; + + /** + * Serialize an alert + */ + std::vector serialize() const; + + /** + * Deserialize an Alert message + * @param buf the serialized alert + */ + explicit Alert(const secure_vector& buf); + + /** + * Create a new Alert + * @param type_code the type of alert + * @param fatal specifies if this is a fatal alert + */ + Alert(Type type_code, bool fatal = false) : + m_fatal(fatal), m_type_code(type_code) {} + + Alert() : m_fatal(false), m_type_code(NULL_ALERT) {} + private: + bool m_fatal; + Type m_type_code; + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_algos.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_algos.h new file mode 100644 index 00000000..3b0be812 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_algos.h @@ -0,0 +1,171 @@ +/* +* (C) 2017 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_ALGO_IDS_H_ +#define BOTAN_TLS_ALGO_IDS_H_ + +#include +#include +#include + +//BOTAN_FUTURE_INTERNAL_HEADER(tls_algos.h) + +namespace Botan { + +namespace TLS { + +enum class Cipher_Algo { + CHACHA20_POLY1305, + + AES_128_CBC_HMAC_SHA1 = 100, + AES_128_CBC_HMAC_SHA256, + AES_128_CCM, + AES_128_CCM_8, + AES_128_GCM, + AES_128_OCB, + + AES_256_CBC_HMAC_SHA1 = 200, + AES_256_CBC_HMAC_SHA256, + AES_256_CBC_HMAC_SHA384, + AES_256_CCM, + AES_256_CCM_8, + AES_256_GCM, + AES_256_OCB, + + CAMELLIA_128_CBC_HMAC_SHA1 = 300, + CAMELLIA_128_CBC_HMAC_SHA256, + CAMELLIA_128_GCM, + + CAMELLIA_256_CBC_HMAC_SHA1 = 400, + CAMELLIA_256_CBC_HMAC_SHA256, + CAMELLIA_256_CBC_HMAC_SHA384, + CAMELLIA_256_GCM, + + ARIA_128_GCM = 500, + ARIA_256_GCM, + + DES_EDE_CBC_HMAC_SHA1 = 1000, + SEED_CBC_HMAC_SHA1, +}; + +enum class KDF_Algo { + SHA_1, + SHA_256, + SHA_384, +}; + +std::string BOTAN_DLL kdf_algo_to_string(KDF_Algo algo); + +enum class Nonce_Format { + CBC_MODE, + AEAD_IMPLICIT_4, + AEAD_XOR_12, +}; + +// TODO encoding should match signature_algorithms extension +// TODO this should include hash etc as in TLS v1.3 +enum class Auth_Method { + RSA, + DSA, + ECDSA, + + // These are placed outside the encodable range + IMPLICIT = 0x10000, + ANONYMOUS +}; + +std::string BOTAN_TEST_API auth_method_to_string(Auth_Method method); +Auth_Method BOTAN_TEST_API auth_method_from_string(const std::string& str); + +/* +* This matches the wire encoding +*/ +enum class Signature_Scheme : uint16_t { + NONE = 0x0000, + + RSA_PKCS1_SHA1 = 0x0201, + RSA_PKCS1_SHA256 = 0x0401, + RSA_PKCS1_SHA384 = 0x0501, + RSA_PKCS1_SHA512 = 0x0601, + + DSA_SHA1 = 0x0202, + DSA_SHA256 = 0x0402, + DSA_SHA384 = 0x0502, + DSA_SHA512 = 0x0602, + + ECDSA_SHA1 = 0x0203, + ECDSA_SHA256 = 0x0403, + ECDSA_SHA384 = 0x0503, + ECDSA_SHA512 = 0x0603, + + RSA_PSS_SHA256 = 0x0804, + RSA_PSS_SHA384 = 0x0805, + RSA_PSS_SHA512 = 0x0806, + + EDDSA_25519 = 0x0807, + EDDSA_448 = 0x0808, +}; + +BOTAN_UNSTABLE_API const std::vector& all_signature_schemes(); + +bool BOTAN_UNSTABLE_API signature_scheme_is_known(Signature_Scheme scheme); +std::string BOTAN_UNSTABLE_API sig_scheme_to_string(Signature_Scheme scheme); +std::string BOTAN_UNSTABLE_API hash_function_of_scheme(Signature_Scheme scheme); +std::string BOTAN_UNSTABLE_API padding_string_for_scheme(Signature_Scheme scheme); +std::string signature_algorithm_of_scheme(Signature_Scheme scheme); + +/* +* Matches with wire encoding +*/ +enum class Group_Params : uint16_t { + NONE = 0, + + SECP256R1 = 23, + SECP384R1 = 24, + SECP521R1 = 25, + BRAINPOOL256R1 = 26, + BRAINPOOL384R1 = 27, + BRAINPOOL512R1 = 28, + + X25519 = 29, + + FFDHE_2048 = 256, + FFDHE_3072 = 257, + FFDHE_4096 = 258, + FFDHE_6144 = 259, + FFDHE_8192 = 260, +}; + +std::string group_param_to_string(Group_Params group); +Group_Params group_param_from_string(const std::string& group_name); +bool group_param_is_dh(Group_Params group); + +enum class Kex_Algo { + STATIC_RSA, + DH, + ECDH, + CECPQ1, + SRP_SHA, + PSK, + DHE_PSK, + ECDHE_PSK, +}; + +std::string BOTAN_TEST_API kex_method_to_string(Kex_Algo method); +Kex_Algo BOTAN_TEST_API kex_method_from_string(const std::string& str); + +inline bool key_exchange_is_psk(Kex_Algo m) + { + return (m == Kex_Algo::PSK || + m == Kex_Algo::DHE_PSK || + m == Kex_Algo::ECDHE_PSK); + } + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_blocking.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_blocking.h new file mode 100644 index 00000000..01620c65 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_blocking.h @@ -0,0 +1,103 @@ +/* +* TLS Blocking API +* (C) 2013 Jack Lloyd +* 2016 Matthias Gierlings +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_BLOCKING_CHANNELS_H_ +#define BOTAN_TLS_BLOCKING_CHANNELS_H_ + +#include + +namespace Botan { + +namespace TLS { + +/** +* Blocking TLS Client +* Can be used directly, or subclass to get handshake and alert notifications +*/ +class BOTAN_PUBLIC_API(2,0) Blocking_Client + { + public: + /* + * These functions are expected to block until completing entirely, or + * fail by throwing an exception. + */ + typedef std::function read_fn; + typedef std::function write_fn; + + BOTAN_DEPRECATED("Use the regular TLS::Client interface") + Blocking_Client(read_fn reader, + write_fn writer, + Session_Manager& session_manager, + Credentials_Manager& creds, + const Policy& policy, + RandomNumberGenerator& rng, + const Server_Information& server_info = Server_Information(), + const Protocol_Version& offer_version = Protocol_Version::latest_tls_version(), + const std::vector& next_protos = {}); + + /** + * Completes full handshake then returns + */ + void do_handshake(); + + /** + * Number of bytes pending read in the plaintext buffer (bytes + * readable without blocking) + */ + size_t pending() const { return m_plaintext.size(); } + + /** + * Blocking read, will return at least 1 byte (eventually) or else 0 if the connection + * is closed. + */ + size_t read(uint8_t buf[], size_t buf_len); + + void write(const uint8_t buf[], size_t buf_len) { m_channel.send(buf, buf_len); } + + const TLS::Channel& underlying_channel() const { return m_channel; } + TLS::Channel& underlying_channel() { return m_channel; } + + void close() { m_channel.close(); } + + bool is_closed() const { return m_channel.is_closed(); } + + std::vector peer_cert_chain() const + { return m_channel.peer_cert_chain(); } + + virtual ~Blocking_Client() = default; + + protected: + /** + * Application can override to get the handshake complete notification + */ + virtual bool handshake_complete(const Session&) { return true; } + + /** + * Application can override to get notification of alerts + */ + virtual void alert_notification(const Alert&) {} + + private: + + bool handshake_cb(const Session&); + + void data_cb(const uint8_t data[], size_t data_len); + + void alert_cb(const Alert& alert); + + read_fn m_read; + std::unique_ptr m_callbacks; + TLS::Client m_channel; + secure_vector m_plaintext; + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_callbacks.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_callbacks.h new file mode 100644 index 00000000..995c02e2 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_callbacks.h @@ -0,0 +1,484 @@ +/* +* TLS Callbacks +* (C) 2016 Matthias Gierlings +* 2016 Jack Lloyd +* 2017 Harry Reimann, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_CALLBACKS_H_ +#define BOTAN_TLS_CALLBACKS_H_ + +#include +#include +#include +#include + +namespace Botan { + +class Certificate_Store; +class X509_Certificate; + +namespace OCSP { + +class Response; + +} + +namespace TLS { + +class Handshake_Message; +class Policy; +class Extensions; +class Certificate_Status_Request; + +/** +* Encapsulates the callbacks that a TLS channel will make which are due to +* channel specific operations. +*/ +class BOTAN_PUBLIC_API(2,0) Callbacks + { + public: + virtual ~Callbacks() = default; + + /** + * Mandatory callback: output function + * The channel will call this with data which needs to be sent to the peer + * (eg, over a socket or some other form of IPC). The array will be overwritten + * when the function returns so a copy must be made if the data cannot be + * sent immediately. + * + * @param data the vector of data to send + * + * @param size the number of bytes to send + */ + virtual void tls_emit_data(const uint8_t data[], size_t size) = 0; + + /** + * Mandatory callback: process application data + * Called when application data record is received from the peer. + * Again the array is overwritten immediately after the function returns. + * + * @param seq_no the underlying TLS/DTLS record sequence number + * + * @param data the vector containing the received record + * + * @param size the length of the received record, in bytes + */ + virtual void tls_record_received(uint64_t seq_no, const uint8_t data[], size_t size) = 0; + + /** + * Mandatory callback: alert received + * Called when an alert is received from the peer + * If fatal, the connection is closing. If not fatal, the connection may + * still be closing (depending on the error and the peer). + * + * @param alert the source of the alert + */ + virtual void tls_alert(Alert alert) = 0; + + /** + * Mandatory callback: session established + * Called when a session is established. Throw an exception to abort + * the connection. + * + * @param session the session descriptor + * + * @return return false to prevent the session from being cached, + * return true to cache the session in the configured session manager + */ + virtual bool tls_session_established(const Session& session) = 0; + + /** + * Optional callback: session activated + * Called when a session is active and can be written to + */ + virtual void tls_session_activated() {} + + /** + * Optional callback with default impl: verify cert chain + * + * Default implementation performs a standard PKIX validation + * and initiates network OCSP request for end-entity cert. + * Override to provide different behavior. + * + * Check the certificate chain is valid up to a trusted root, and + * optionally (if hostname != "") that the hostname given is + * consistent with the leaf certificate. + * + * This function should throw an exception derived from + * std::exception with an informative what() result if the + * certificate chain cannot be verified. + * + * @param cert_chain specifies a certificate chain leading to a + * trusted root CA certificate. + * @param ocsp_responses the server may have provided some + * @param trusted_roots the list of trusted certificates + * @param usage what this cert chain is being used for + * Usage_Type::TLS_SERVER_AUTH for server chains, + * Usage_Type::TLS_CLIENT_AUTH for client chains, + * Usage_Type::UNSPECIFIED for other uses + * @param hostname when authenticating a server, this is the hostname + * the client requested (eg via SNI). When authenticating a client, + * this is the server name the client is authenticating *to*. + * Empty in other cases or if no hostname was used. + * @param policy the TLS policy associated with the session being authenticated + * using the certificate chain + */ + virtual void tls_verify_cert_chain( + const std::vector& cert_chain, + const std::vector>& ocsp_responses, + const std::vector& trusted_roots, + Usage_Type usage, + const std::string& hostname, + const TLS::Policy& policy); + + /** + * Called by default `tls_verify_cert_chain` to get the timeout to use for OCSP + * requests. Return 0 to disable online OCSP checks. + * + * This function should not be "const" since the implementation might need + * to perform some side effecting operation to compute the result. + */ + virtual std::chrono::milliseconds tls_verify_cert_chain_ocsp_timeout() const + { + return std::chrono::milliseconds(0); + } + + /** + * Called by the TLS server whenever the client included the + * status_request extension (see RFC 6066, a.k.a OCSP stapling) + * in the ClientHello. + * + * @return the encoded OCSP response to be sent to the client which + * indicates the revocation status of the server certificate. Return an + * empty vector to indicate that no response is available, and thus + * suppress the Certificate_Status message. + */ + virtual std::vector tls_provide_cert_status(const std::vector& chain, + const Certificate_Status_Request& csr) + { + BOTAN_UNUSED(chain); + BOTAN_UNUSED(csr); + return std::vector(); + } + + /** + * Optional callback with default impl: sign a message + * + * Default implementation uses PK_Signer::sign_message(). + * Override to provide a different approach, e.g. using an external device. + * + * @param key the private key of the signer + * @param rng a random number generator + * @param emsa the encoding method to be applied to the message + * @param format the signature format + * @param msg the input data for the signature + * + * @return the signature + */ + virtual std::vector tls_sign_message( + const Private_Key& key, + RandomNumberGenerator& rng, + const std::string& emsa, + Signature_Format format, + const std::vector& msg); + + /** + * Optional callback with default impl: verify a message signature + * + * Default implementation uses PK_Verifier::verify_message(). + * Override to provide a different approach, e.g. using an external device. + * + * @param key the public key of the signer + * @param emsa the encoding method to be applied to the message + * @param format the signature format + * @param msg the input data for the signature + * @param sig the signature to be checked + * + * @return true if the signature is valid, false otherwise + */ + virtual bool tls_verify_message( + const Public_Key& key, + const std::string& emsa, + Signature_Format format, + const std::vector& msg, + const std::vector& sig); + + /** + * Optional callback with default impl: client side DH agreement + * + * Default implementation uses PK_Key_Agreement::derive_key(). + * Override to provide a different approach, e.g. using an external device. + * + * @param modulus the modulus p of the discrete logarithm group + * @param generator the generator of the DH subgroup + * @param peer_public_value the public value of the peer + * @param policy the TLS policy associated with the session being established + * @param rng a random number generator + * + * @return a pair consisting of the agreed raw secret and our public value + */ + virtual std::pair, std::vector> tls_dh_agree( + const std::vector& modulus, + const std::vector& generator, + const std::vector& peer_public_value, + const Policy& policy, + RandomNumberGenerator& rng); + + /** + * Optional callback with default impl: client side ECDH agreement + * + * Default implementation uses PK_Key_Agreement::derive_key(). + * Override to provide a different approach, e.g. using an external device. + * + * @param curve_name the name of the elliptic curve + * @param peer_public_value the public value of the peer + * @param policy the TLS policy associated with the session being established + * @param rng a random number generator + * @param compressed the compression preference for our public value + * + * @return a pair consisting of the agreed raw secret and our public value + */ + virtual std::pair, std::vector> tls_ecdh_agree( + const std::string& curve_name, + const std::vector& peer_public_value, + const Policy& policy, + RandomNumberGenerator& rng, + bool compressed); + + /** + * Optional callback: inspect handshake message + * Throw an exception to abort the handshake. + * Default simply ignores the message. + * + * @param message the handshake message + */ + virtual void tls_inspect_handshake_msg(const Handshake_Message& message); + + /** + * Optional callback for server: choose ALPN protocol + * ALPN (RFC 7301) works by the client sending a list of application + * protocols it is willing to negotiate. The server then selects which + * protocol to use, which is not necessarily even on the list that + * the client sent. + * + * @param client_protos the vector of protocols the client is willing to negotiate + * + * @return the protocol selected by the server, which need not be on the + * list that the client sent; if this is the empty string, the server ignores the + * client ALPN extension. Default return value is empty string. + */ + virtual std::string tls_server_choose_app_protocol(const std::vector& client_protos); + + /** + * Optional callback: examine/modify Extensions before sending. + * + * Both client and server will call this callback on the Extensions object + * before serializing it in the client/server hellos. This allows an + * application to modify which extensions are sent during the + * handshake. + * + * Default implementation does nothing. + * + * @param extn the extensions + * @param which_side will be CLIENT or SERVER which is the current + * applications role in the exchange. + */ + virtual void tls_modify_extensions(Extensions& extn, Connection_Side which_side); + + /** + * Optional callback: examine peer extensions. + * + * Both client and server will call this callback with the Extensions + * object after receiving it from the peer. This allows examining the + * Extensions, for example to implement a custom extension. It also allows + * an application to require that a particular extension be implemented; + * throw an exception from this function to abort the handshake. + * + * Default implementation does nothing. + * + * @param extn the extensions + * @param which_side will be CLIENT if these are are the clients extensions (ie we are + * the server) or SERVER if these are the server extensions (we are the client). + */ + virtual void tls_examine_extensions(const Extensions& extn, Connection_Side which_side); + + /** + * Optional callback: decode TLS group ID + * + * TLS uses a 16-bit field to identify ECC and DH groups. This callback + * handles the decoding. You only need to implement this if you are using + * a custom ECC or DH group (this is extremely uncommon). + * + * Default implementation uses the standard (IETF-defined) mappings. + */ + virtual std::string tls_decode_group_param(Group_Params group_param); + + /** + * Optional callback: return peer network identity + * + * There is no expected or specified format. The only expectation is this + * function will return a unique value. For example returning the peer + * host IP and port. + * + * This is used to bind the DTLS cookie to a particular network identity. + * It is only called if the dtls-cookie-secret PSK is also defined. + */ + virtual std::string tls_peer_network_identity(); + + /** + * Optional callback: error logging. (not currently called) + * @param err An error message related to this connection. + */ + virtual void tls_log_error(const char* err) + { + BOTAN_UNUSED(err); + } + + /** + * Optional callback: debug logging. (not currently called) + * @param what Some hopefully informative string + */ + virtual void tls_log_debug(const char* what) + { + BOTAN_UNUSED(what); + } + + /** + * Optional callback: debug logging taking a buffer. (not currently called) + * @param descr What this buffer is + * @param val the bytes + * @param val_len length of val + */ + virtual void tls_log_debug_bin(const char* descr, const uint8_t val[], size_t val_len) + { + BOTAN_UNUSED(descr, val, val_len); + } + }; + +/** +* TLS::Callbacks using std::function for compatability with the old API signatures. +* This type is only provided for backward compatibility. +* New implementations should derive from TLS::Callbacks instead. +*/ +class BOTAN_PUBLIC_API(2,0) Compat_Callbacks final : public Callbacks + { + public: + typedef std::function output_fn; + typedef std::function data_cb; + typedef std::function alert_cb; + typedef std::function handshake_cb; + typedef std::function handshake_msg_cb; + typedef std::function)> next_protocol_fn; + + /** + * @param data_output_fn is called with data for the outbound socket + * + * @param app_data_cb is called when new application data is received + * + * @param recv_alert_cb is called when a TLS alert is received + * + * @param hs_cb is called when a handshake is completed + * + * @param hs_msg_cb is called for each handshake message received + * + * @param next_proto is called with ALPN protocol data sent by the client + */ + BOTAN_DEPRECATED("Use TLS::Callbacks (virtual interface).") + Compat_Callbacks(output_fn data_output_fn, data_cb app_data_cb, alert_cb recv_alert_cb, + handshake_cb hs_cb, handshake_msg_cb hs_msg_cb = nullptr, + next_protocol_fn next_proto = nullptr) + : m_output_function(data_output_fn), m_app_data_cb(app_data_cb), + m_alert_cb(std::bind(recv_alert_cb, std::placeholders::_1, nullptr, 0)), + m_hs_cb(hs_cb), m_hs_msg_cb(hs_msg_cb), m_next_proto(next_proto) {} + + BOTAN_DEPRECATED("Use TLS::Callbacks (virtual interface).") + Compat_Callbacks(output_fn data_output_fn, data_cb app_data_cb, + std::function recv_alert_cb, + handshake_cb hs_cb, + handshake_msg_cb hs_msg_cb = nullptr, + next_protocol_fn next_proto = nullptr) + : m_output_function(data_output_fn), m_app_data_cb(app_data_cb), + m_alert_cb(recv_alert_cb), + m_hs_cb(hs_cb), m_hs_msg_cb(hs_msg_cb), m_next_proto(next_proto) {} + + enum class SILENCE_DEPRECATION_WARNING { PLEASE = 0 }; + Compat_Callbacks(SILENCE_DEPRECATION_WARNING, + output_fn data_output_fn, data_cb app_data_cb, + std::function recv_alert_cb, + handshake_cb hs_cb, + handshake_msg_cb hs_msg_cb = nullptr, + next_protocol_fn next_proto = nullptr) + : m_output_function(data_output_fn), + m_app_data_cb(app_data_cb), + m_alert_cb(recv_alert_cb), + m_hs_cb(hs_cb), + m_hs_msg_cb(hs_msg_cb), + m_next_proto(next_proto) {} + + Compat_Callbacks(SILENCE_DEPRECATION_WARNING, + output_fn data_output_fn, data_cb app_data_cb, alert_cb recv_alert_cb, + handshake_cb hs_cb, handshake_msg_cb hs_msg_cb = nullptr, + next_protocol_fn next_proto = nullptr) + : m_output_function(data_output_fn), m_app_data_cb(app_data_cb), + m_alert_cb(std::bind(recv_alert_cb, std::placeholders::_1, nullptr, 0)), + m_hs_cb(hs_cb), m_hs_msg_cb(hs_msg_cb), m_next_proto(next_proto) {} + + + void tls_emit_data(const uint8_t data[], size_t size) override + { + BOTAN_ASSERT(m_output_function != nullptr, + "Invalid TLS output function callback."); + m_output_function(data, size); + } + + void tls_record_received(uint64_t /*seq_no*/, const uint8_t data[], size_t size) override + { + BOTAN_ASSERT(m_app_data_cb != nullptr, + "Invalid TLS app data callback."); + m_app_data_cb(data, size); + } + + void tls_alert(Alert alert) override + { + BOTAN_ASSERT(m_alert_cb != nullptr, + "Invalid TLS alert callback."); + m_alert_cb(alert); + } + + bool tls_session_established(const Session& session) override + { + BOTAN_ASSERT(m_hs_cb != nullptr, + "Invalid TLS handshake callback."); + return m_hs_cb(session); + } + + std::string tls_server_choose_app_protocol(const std::vector& client_protos) override + { + if(m_next_proto != nullptr) { return m_next_proto(client_protos); } + return ""; + } + + void tls_inspect_handshake_msg(const Handshake_Message& hmsg) override + { + // The handshake message callback is optional so we can + // not assume it has been set. + if(m_hs_msg_cb != nullptr) { m_hs_msg_cb(hmsg); } + } + + private: + const output_fn m_output_function; + const data_cb m_app_data_cb; + const std::function m_alert_cb; + const handshake_cb m_hs_cb; + const handshake_msg_cb m_hs_msg_cb; + const next_protocol_fn m_next_proto; + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_channel.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_channel.h new file mode 100644 index 00000000..046560e2 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_channel.h @@ -0,0 +1,318 @@ +/* +* TLS Channel +* (C) 2011,2012,2014,2015 Jack Lloyd +* 2016 Matthias Gierlings +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_CHANNEL_H_ +#define BOTAN_TLS_CHANNEL_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Botan { + +namespace TLS { + +class Connection_Cipher_State; +class Connection_Sequence_Numbers; +class Handshake_State; +class Handshake_Message; +class Client_Hello; +class Server_Hello; +class Policy; + +/** +* Generic interface for TLS endpoint +*/ +class BOTAN_PUBLIC_API(2,0) Channel + { + public: + typedef std::function output_fn; + typedef std::function data_cb; + typedef std::function alert_cb; + typedef std::function handshake_cb; + typedef std::function handshake_msg_cb; + static size_t IO_BUF_DEFAULT_SIZE; + + /** + * Set up a new TLS session + * + * @param callbacks contains a set of callback function references + * required by the TLS endpoint. + * @param session_manager manages session state + * @param rng a random number generator + * @param policy specifies other connection policy information + * @param is_server whether this is a server session or not + * @param is_datagram whether this is a DTLS session + * @param io_buf_sz This many bytes of memory will + * be preallocated for the read and write buffers. Smaller + * values just mean reallocations and copies are more likely. + */ + Channel(Callbacks& callbacks, + Session_Manager& session_manager, + RandomNumberGenerator& rng, + const Policy& policy, + bool is_server, + bool is_datagram, + size_t io_buf_sz = IO_BUF_DEFAULT_SIZE); + + /** + * DEPRECATED. This constructor is only provided for backward + * compatibility and should not be used in new implementations. + * (Not marked deprecated since it is only called internally, by + * other deprecated constructors) + */ + Channel(output_fn out, + data_cb app_data_cb, + alert_cb alert_cb, + handshake_cb hs_cb, + handshake_msg_cb hs_msg_cb, + Session_Manager& session_manager, + RandomNumberGenerator& rng, + const Policy& policy, + bool is_server, + bool is_datagram, + size_t io_buf_sz = IO_BUF_DEFAULT_SIZE); + + Channel(const Channel&) = delete; + + Channel& operator=(const Channel&) = delete; + + virtual ~Channel(); + + /** + * Inject TLS traffic received from counterparty + * @return a hint as the how many more bytes we need to process the + * current record (this may be 0 if on a record boundary) + */ + size_t received_data(const uint8_t buf[], size_t buf_size); + + /** + * Inject TLS traffic received from counterparty + * @return a hint as the how many more bytes we need to process the + * current record (this may be 0 if on a record boundary) + */ + size_t received_data(const std::vector& buf); + + /** + * Inject plaintext intended for counterparty + * Throws an exception if is_active() is false + */ + void send(const uint8_t buf[], size_t buf_size); + + /** + * Inject plaintext intended for counterparty + * Throws an exception if is_active() is false + */ + void send(const std::string& val); + + /** + * Inject plaintext intended for counterparty + * Throws an exception if is_active() is false + */ + template + void send(const std::vector& val) + { + send(val.data(), val.size()); + } + + /** + * Send a TLS alert message. If the alert is fatal, the internal + * state (keys, etc) will be reset. + * @param alert the Alert to send + */ + void send_alert(const Alert& alert); + + /** + * Send a warning alert + */ + void send_warning_alert(Alert::Type type) { send_alert(Alert(type, false)); } + + /** + * Send a fatal alert + */ + void send_fatal_alert(Alert::Type type) { send_alert(Alert(type, true)); } + + /** + * Send a close notification alert + */ + void close() { send_warning_alert(Alert::CLOSE_NOTIFY); } + + /** + * @return true iff the connection is active for sending application data + */ + bool is_active() const; + + /** + * @return true iff the connection has been definitely closed + */ + bool is_closed() const; + + /** + * @return certificate chain of the peer (may be empty) + */ + std::vector peer_cert_chain() const; + + /** + * Key material export (RFC 5705) + * @param label a disambiguating label string + * @param context a per-association context value + * @param length the length of the desired key in bytes + * @return key of length bytes + */ + SymmetricKey key_material_export(const std::string& label, + const std::string& context, + size_t length) const; + + /** + * Attempt to renegotiate the session + * @param force_full_renegotiation if true, require a full renegotiation, + * otherwise allow session resumption + */ + void renegotiate(bool force_full_renegotiation = false); + + /** + * @return true iff the counterparty supports the secure + * renegotiation extensions. + */ + bool secure_renegotiation_supported() const; + + /** + * Perform a handshake timeout check. This does nothing unless + * this is a DTLS channel with a pending handshake state, in + * which case we check for timeout and potentially retransmit + * handshake packets. + */ + bool timeout_check(); + + virtual std::string application_protocol() const = 0; + + protected: + + virtual void process_handshake_msg(const Handshake_State* active_state, + Handshake_State& pending_state, + Handshake_Type type, + const std::vector& contents, + bool epoch0_restart) = 0; + + virtual void initiate_handshake(Handshake_State& state, + bool force_full_renegotiation) = 0; + + virtual std::vector + get_peer_cert_chain(const Handshake_State& state) const = 0; + + virtual Handshake_State* new_handshake_state(class Handshake_IO* io) = 0; + + Handshake_State& create_handshake_state(Protocol_Version version); + + void inspect_handshake_message(const Handshake_Message& msg); + + void activate_session(); + + void change_cipher_spec_reader(Connection_Side side); + + void change_cipher_spec_writer(Connection_Side side); + + /* secure renegotiation handling */ + + void secure_renegotiation_check(const Client_Hello* client_hello); + void secure_renegotiation_check(const Server_Hello* server_hello); + + std::vector secure_renegotiation_data_for_client_hello() const; + std::vector secure_renegotiation_data_for_server_hello() const; + + RandomNumberGenerator& rng() { return m_rng; } + + Session_Manager& session_manager() { return m_session_manager; } + + const Policy& policy() const { return m_policy; } + + bool save_session(const Session& session); + + Callbacks& callbacks() const { return m_callbacks; } + + void reset_active_association_state(); + + private: + void init(size_t io_buf_sze); + + void send_record(uint8_t record_type, const std::vector& record); + + void send_record_under_epoch(uint16_t epoch, uint8_t record_type, + const std::vector& record); + + void send_record_array(uint16_t epoch, uint8_t record_type, + const uint8_t input[], size_t length); + + void write_record(Connection_Cipher_State* cipher_state, + uint16_t epoch, uint8_t type, const uint8_t input[], size_t length); + + void reset_state(); + + Connection_Sequence_Numbers& sequence_numbers() const; + + std::shared_ptr read_cipher_state_epoch(uint16_t epoch) const; + + std::shared_ptr write_cipher_state_epoch(uint16_t epoch) const; + + const Handshake_State* active_state() const { return m_active_state.get(); } + + const Handshake_State* pending_state() const { return m_pending_state.get(); } + + /* methods to handle incoming traffic through Channel::receive_data. */ + void process_handshake_ccs(const secure_vector& record, + uint64_t record_sequence, + Record_Type record_type, + Protocol_Version record_version, + bool epoch0_restart); + + void process_application_data(uint64_t req_no, const secure_vector& record); + + void process_alert(const secure_vector& record); + + const bool m_is_server; + const bool m_is_datagram; + + /* callbacks */ + std::unique_ptr m_compat_callbacks; + Callbacks& m_callbacks; + + /* external state */ + Session_Manager& m_session_manager; + const Policy& m_policy; + RandomNumberGenerator& m_rng; + + /* sequence number state */ + std::unique_ptr m_sequence_numbers; + + /* pending and active connection states */ + std::unique_ptr m_active_state; + std::unique_ptr m_pending_state; + + /* cipher states for each epoch */ + std::map> m_write_cipher_states; + std::map> m_read_cipher_states; + + /* I/O buffers */ + secure_vector m_writebuf; + secure_vector m_readbuf; + secure_vector m_record_buf; + + bool m_has_been_closed; + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_ciphersuite.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_ciphersuite.h new file mode 100644 index 00000000..1d23a6c4 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_ciphersuite.h @@ -0,0 +1,189 @@ +/* +* TLS Cipher Suites +* (C) 2004-2011,2012 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_CIPHER_SUITES_H_ +#define BOTAN_TLS_CIPHER_SUITES_H_ + +#include +#include +#include +#include +#include + +namespace Botan { + +namespace TLS { + +/** +* Ciphersuite Information +*/ +class BOTAN_PUBLIC_API(2,0) Ciphersuite final + { + public: + /** + * Convert an SSL/TLS ciphersuite to algorithm fields + * @param suite the ciphersuite code number + * @return ciphersuite object + */ + static Ciphersuite by_id(uint16_t suite); + + /** + * Convert an SSL/TLS ciphersuite name to algorithm fields + * @param name the IANA name for the desired ciphersuite + * @return ciphersuite object + */ + static Ciphersuite from_name(const std::string& name); + + /** + * Returns true iff this suite is a known SCSV + */ + static bool is_scsv(uint16_t suite); + + /** + * Generate a static list of all known ciphersuites and return it. + * + * @return list of all known ciphersuites + */ + static const std::vector& all_known_ciphersuites(); + + /** + * Formats the ciphersuite back to an RFC-style ciphersuite string + * @return RFC ciphersuite string identifier + */ + std::string to_string() const { return m_iana_id; } + + /** + * @return ciphersuite number + */ + uint16_t ciphersuite_code() const { return m_ciphersuite_code; } + + /** + * @return true if this is a PSK ciphersuite + */ + bool psk_ciphersuite() const; + + /** + * @return true if this is an ECC ciphersuite + */ + bool ecc_ciphersuite() const; + + /** + * @return true if this suite uses a CBC cipher + */ + bool cbc_ciphersuite() const; + + bool signature_used() const; + + /** + * @return key exchange algorithm used by this ciphersuite + */ + std::string kex_algo() const { return kex_method_to_string(kex_method()); } + + Kex_Algo kex_method() const { return m_kex_algo; } + + /** + * @return signature algorithm used by this ciphersuite + */ + std::string sig_algo() const { return auth_method_to_string(auth_method()); } + + Auth_Method auth_method() const { return m_auth_method; } + + /** + * @return symmetric cipher algorithm used by this ciphersuite + */ + std::string cipher_algo() const { return m_cipher_algo; } + + /** + * @return message authentication algorithm used by this ciphersuite + */ + std::string mac_algo() const { return m_mac_algo; } + + std::string prf_algo() const + { + return kdf_algo_to_string(m_prf_algo); + } + + /** + * @return cipher key length used by this ciphersuite + */ + size_t cipher_keylen() const { return m_cipher_keylen; } + + size_t nonce_bytes_from_handshake() const; + + size_t nonce_bytes_from_record(Protocol_Version version) const; + + Nonce_Format nonce_format() const { return m_nonce_format; } + + size_t mac_keylen() const { return m_mac_keylen; } + + /** + * @return true if this is a valid/known ciphersuite + */ + bool valid() const { return m_usable; } + + bool usable_in_version(Protocol_Version version) const; + + bool operator<(const Ciphersuite& o) const { return ciphersuite_code() < o.ciphersuite_code(); } + bool operator<(const uint16_t c) const { return ciphersuite_code() < c; } + + Ciphersuite() = default; + + private: + + bool is_usable() const; + + Ciphersuite(uint16_t ciphersuite_code, + const char* iana_id, + Auth_Method auth_method, + Kex_Algo kex_algo, + const char* cipher_algo, + size_t cipher_keylen, + const char* mac_algo, + size_t mac_keylen, + KDF_Algo prf_algo, + Nonce_Format nonce_format) : + m_ciphersuite_code(ciphersuite_code), + m_iana_id(iana_id), + m_auth_method(auth_method), + m_kex_algo(kex_algo), + m_prf_algo(prf_algo), + m_nonce_format(nonce_format), + m_cipher_algo(cipher_algo), + m_mac_algo(mac_algo), + m_cipher_keylen(cipher_keylen), + m_mac_keylen(mac_keylen) + { + m_usable = is_usable(); + } + + uint16_t m_ciphersuite_code = 0; + + /* + All of these const char* strings are references to compile time + constants in tls_suite_info.cpp + */ + const char* m_iana_id = nullptr; + + Auth_Method m_auth_method = Auth_Method::ANONYMOUS; + Kex_Algo m_kex_algo = Kex_Algo::STATIC_RSA; + KDF_Algo m_prf_algo = KDF_Algo::SHA_1; + Nonce_Format m_nonce_format = Nonce_Format::CBC_MODE; + + const char* m_cipher_algo = nullptr; + const char* m_mac_algo = nullptr; + + size_t m_cipher_keylen = 0; + size_t m_mac_keylen = 0; + + bool m_usable = false; + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_client.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_client.h new file mode 100644 index 00000000..0e08b459 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_client.h @@ -0,0 +1,169 @@ +/* +* TLS Client +* (C) 2004-2011 Jack Lloyd +* 2016 Matthias Gierlings +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_CLIENT_H_ +#define BOTAN_TLS_CLIENT_H_ + +#include +#include +#include +#include + +namespace Botan { + +namespace TLS { + +/** +* SSL/TLS Client +*/ +class BOTAN_PUBLIC_API(2,0) Client final : public Channel + { + public: + + /** + * Set up a new TLS client session + * + * @param callbacks contains a set of callback function references + * required by the TLS client. + * + * @param session_manager manages session state + * + * @param creds manages application/user credentials + * + * @param policy specifies other connection policy information + * + * @param rng a random number generator + * + * @param server_info is identifying information about the TLS server + * + * @param offer_version specifies which version we will offer + * to the TLS server. + * + * @param next_protocols specifies protocols to advertise with ALPN + * + * @param reserved_io_buffer_size This many bytes of memory will + * be preallocated for the read and write buffers. Smaller + * values just mean reallocations and copies are more likely. + */ + Client(Callbacks& callbacks, + Session_Manager& session_manager, + Credentials_Manager& creds, + const Policy& policy, + RandomNumberGenerator& rng, + const Server_Information& server_info = Server_Information(), + const Protocol_Version& offer_version = Protocol_Version::latest_tls_version(), + const std::vector& next_protocols = {}, + size_t reserved_io_buffer_size = TLS::Client::IO_BUF_DEFAULT_SIZE + ); + + /** + * DEPRECATED. This constructor is only provided for backward + * compatibility and should not be used in new code. It will be + * removed in a future release. + * + * Set up a new TLS client session + * + * @param data_output_fn is called with data for the outbound socket + * + * @param app_data_cb is called when new application data is received + * + * @param recv_alert_cb is called when a TLS alert is received + * + * @param hs_cb is called when a handshake is completed + * + * @param session_manager manages session state + * + * @param creds manages application/user credentials + * + * @param policy specifies other connection policy information + * + * @param rng a random number generator + * + * @param server_info is identifying information about the TLS server + * + * @param offer_version specifies which version we will offer + * to the TLS server. + * + * @param next_protocols specifies protocols to advertise with ALPN + * + * @param reserved_io_buffer_size This many bytes of memory will + * be preallocated for the read and write buffers. Smaller + * values just mean reallocations and copies are more likely. + */ + BOTAN_DEPRECATED("Use TLS::Client(TLS::Callbacks ...)") + Client(output_fn data_output_fn, + data_cb app_data_cb, + alert_cb recv_alert_cb, + handshake_cb hs_cb, + Session_Manager& session_manager, + Credentials_Manager& creds, + const Policy& policy, + RandomNumberGenerator& rng, + const Server_Information& server_info = Server_Information(), + const Protocol_Version& offer_version = Protocol_Version::latest_tls_version(), + const std::vector& next_protocols = {}, + size_t reserved_io_buffer_size = TLS::Client::IO_BUF_DEFAULT_SIZE + ); + + /** + * DEPRECATED. This constructor is only provided for backward + * compatibility and should not be used in new implementations. + */ + BOTAN_DEPRECATED("Use TLS::Client(TLS::Callbacks ...)") + Client(output_fn out, + data_cb app_data_cb, + alert_cb alert_cb, + handshake_cb hs_cb, + handshake_msg_cb hs_msg_cb, + Session_Manager& session_manager, + Credentials_Manager& creds, + const Policy& policy, + RandomNumberGenerator& rng, + const Server_Information& server_info = Server_Information(), + const Protocol_Version& offer_version = Protocol_Version::latest_tls_version(), + const std::vector& next_protocols = {} + ); + + /** + * @return network protocol as advertised by the TLS server, if server sent the ALPN extension + */ + std::string application_protocol() const override { return m_application_protocol; } + private: + void init(const Protocol_Version& protocol_version, + const std::vector& next_protocols); + + std::vector + get_peer_cert_chain(const Handshake_State& state) const override; + + void initiate_handshake(Handshake_State& state, + bool force_full_renegotiation) override; + + void send_client_hello(Handshake_State& state, + bool force_full_renegotiation, + Protocol_Version version, + const std::string& srp_identifier = "", + const std::vector& next_protocols = {}); + + void process_handshake_msg(const Handshake_State* active_state, + Handshake_State& pending_state, + Handshake_Type type, + const std::vector& contents, + bool epoch0_restart) override; + + Handshake_State* new_handshake_state(Handshake_IO* io) override; + + Credentials_Manager& m_creds; + const Server_Information m_info; + std::string m_application_protocol; + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_exceptn.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_exceptn.h new file mode 100644 index 00000000..e7d8c196 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_exceptn.h @@ -0,0 +1,52 @@ +/* +* Exceptions +* (C) 2004-2006 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_EXCEPTION_H_ +#define BOTAN_TLS_EXCEPTION_H_ + +#include +#include + +namespace Botan { + +namespace TLS { + +/** +* TLS Exception Base Class +*/ +class BOTAN_PUBLIC_API(2,0) TLS_Exception : public Exception + { + public: + Alert::Type type() const { return m_alert_type; } + + TLS_Exception(Alert::Type type, + const std::string& err_msg = "Unknown error") : + Exception(err_msg), m_alert_type(type) {} + + int error_code() const noexcept override { return static_cast(m_alert_type); } + + ErrorType error_type() const noexcept override { return ErrorType::TLSError; } + + private: + Alert::Type m_alert_type; + }; + +/** +* Unexpected_Message Exception +*/ +class BOTAN_PUBLIC_API(2,0) Unexpected_Message final : public TLS_Exception + { + public: + explicit Unexpected_Message(const std::string& err) : + TLS_Exception(Alert::UNEXPECTED_MESSAGE, err) {} + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_extensions.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_extensions.h new file mode 100644 index 00000000..a426c8e5 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_extensions.h @@ -0,0 +1,551 @@ +/* +* TLS Extensions +* (C) 2011,2012,2016,2018,2019 Jack Lloyd +* (C) 2016 Juraj Somorovsky +* (C) 2016 Matthias Gierlings +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_EXTENSIONS_H_ +#define BOTAN_TLS_EXTENSIONS_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Botan { + +namespace TLS { + +class Policy; + +class TLS_Data_Reader; + +// This will become an enum class in a future major release +enum Handshake_Extension_Type { + TLSEXT_SERVER_NAME_INDICATION = 0, + TLSEXT_CERT_STATUS_REQUEST = 5, + + TLSEXT_CERTIFICATE_TYPES = 9, + TLSEXT_SUPPORTED_GROUPS = 10, + TLSEXT_EC_POINT_FORMATS = 11, + TLSEXT_SRP_IDENTIFIER = 12, + TLSEXT_SIGNATURE_ALGORITHMS = 13, + TLSEXT_USE_SRTP = 14, + TLSEXT_ALPN = 16, + + TLSEXT_ENCRYPT_THEN_MAC = 22, + TLSEXT_EXTENDED_MASTER_SECRET = 23, + + TLSEXT_SESSION_TICKET = 35, + + TLSEXT_SUPPORTED_VERSIONS = 43, + + TLSEXT_SAFE_RENEGOTIATION = 65281, +}; + +/** +* Base class representing a TLS extension of some kind +*/ +class BOTAN_UNSTABLE_API Extension + { + public: + /** + * @return code number of the extension + */ + virtual Handshake_Extension_Type type() const = 0; + + /** + * @return serialized binary for the extension + */ + virtual std::vector serialize(Connection_Side whoami) const = 0; + + /** + * @return if we should encode this extension or not + */ + virtual bool empty() const = 0; + + virtual ~Extension() = default; + }; + +/** +* Server Name Indicator extension (RFC 3546) +*/ +class BOTAN_UNSTABLE_API Server_Name_Indicator final : public Extension + { + public: + static Handshake_Extension_Type static_type() + { return TLSEXT_SERVER_NAME_INDICATION; } + + Handshake_Extension_Type type() const override { return static_type(); } + + explicit Server_Name_Indicator(const std::string& host_name) : + m_sni_host_name(host_name) {} + + Server_Name_Indicator(TLS_Data_Reader& reader, + uint16_t extension_size); + + std::string host_name() const { return m_sni_host_name; } + + std::vector serialize(Connection_Side whoami) const override; + + bool empty() const override { return m_sni_host_name.empty(); } + private: + std::string m_sni_host_name; + }; + +#if defined(BOTAN_HAS_SRP6) +/** +* SRP identifier extension (RFC 5054) +*/ +class BOTAN_UNSTABLE_API SRP_Identifier final : public Extension + { + public: + static Handshake_Extension_Type static_type() + { return TLSEXT_SRP_IDENTIFIER; } + + Handshake_Extension_Type type() const override { return static_type(); } + + explicit SRP_Identifier(const std::string& identifier) : + m_srp_identifier(identifier) {} + + SRP_Identifier(TLS_Data_Reader& reader, + uint16_t extension_size); + + std::string identifier() const { return m_srp_identifier; } + + std::vector serialize(Connection_Side whoami) const override; + + bool empty() const override { return m_srp_identifier.empty(); } + private: + std::string m_srp_identifier; + }; +#endif + +/** +* Renegotiation Indication Extension (RFC 5746) +*/ +class BOTAN_UNSTABLE_API Renegotiation_Extension final : public Extension + { + public: + static Handshake_Extension_Type static_type() + { return TLSEXT_SAFE_RENEGOTIATION; } + + Handshake_Extension_Type type() const override { return static_type(); } + + Renegotiation_Extension() = default; + + explicit Renegotiation_Extension(const std::vector& bits) : + m_reneg_data(bits) {} + + Renegotiation_Extension(TLS_Data_Reader& reader, + uint16_t extension_size); + + const std::vector& renegotiation_info() const + { return m_reneg_data; } + + std::vector serialize(Connection_Side whoami) const override; + + bool empty() const override { return false; } // always send this + private: + std::vector m_reneg_data; + }; + +/** +* ALPN (RFC 7301) +*/ +class BOTAN_UNSTABLE_API Application_Layer_Protocol_Notification final : public Extension + { + public: + static Handshake_Extension_Type static_type() { return TLSEXT_ALPN; } + + Handshake_Extension_Type type() const override { return static_type(); } + + const std::vector& protocols() const { return m_protocols; } + + const std::string& single_protocol() const; + + /** + * Single protocol, used by server + */ + explicit Application_Layer_Protocol_Notification(const std::string& protocol) : + m_protocols(1, protocol) {} + + /** + * List of protocols, used by client + */ + explicit Application_Layer_Protocol_Notification(const std::vector& protocols) : + m_protocols(protocols) {} + + Application_Layer_Protocol_Notification(TLS_Data_Reader& reader, + uint16_t extension_size); + + std::vector serialize(Connection_Side whoami) const override; + + bool empty() const override { return m_protocols.empty(); } + private: + std::vector m_protocols; + }; + +/** +* Session Ticket Extension (RFC 5077) +*/ +class BOTAN_UNSTABLE_API Session_Ticket final : public Extension + { + public: + static Handshake_Extension_Type static_type() + { return TLSEXT_SESSION_TICKET; } + + Handshake_Extension_Type type() const override { return static_type(); } + + /** + * @return contents of the session ticket + */ + const std::vector& contents() const { return m_ticket; } + + /** + * Create empty extension, used by both client and server + */ + Session_Ticket() = default; + + /** + * Extension with ticket, used by client + */ + explicit Session_Ticket(const std::vector& session_ticket) : + m_ticket(session_ticket) {} + + /** + * Deserialize a session ticket + */ + Session_Ticket(TLS_Data_Reader& reader, uint16_t extension_size); + + std::vector serialize(Connection_Side) const override { return m_ticket; } + + bool empty() const override { return false; } + private: + std::vector m_ticket; + }; + + +/** +* Supported Groups Extension (RFC 7919) +*/ +class BOTAN_UNSTABLE_API Supported_Groups final : public Extension + { + public: + static Handshake_Extension_Type static_type() + { return TLSEXT_SUPPORTED_GROUPS; } + + Handshake_Extension_Type type() const override { return static_type(); } + + std::vector ec_groups() const; + std::vector dh_groups() const; + + std::vector serialize(Connection_Side whoami) const override; + + explicit Supported_Groups(const std::vector& groups); + + Supported_Groups(TLS_Data_Reader& reader, + uint16_t extension_size); + + bool empty() const override { return m_groups.empty(); } + private: + std::vector m_groups; + }; + +// previously Supported Elliptic Curves Extension (RFC 4492) +//using Supported_Elliptic_Curves = Supported_Groups; + +/** +* Supported Point Formats Extension (RFC 4492) +*/ +class BOTAN_UNSTABLE_API Supported_Point_Formats final : public Extension + { + public: + enum ECPointFormat : uint8_t { + UNCOMPRESSED = 0, + ANSIX962_COMPRESSED_PRIME = 1, + ANSIX962_COMPRESSED_CHAR2 = 2, // don't support these curves + }; + + static Handshake_Extension_Type static_type() + { return TLSEXT_EC_POINT_FORMATS; } + + Handshake_Extension_Type type() const override { return static_type(); } + + std::vector serialize(Connection_Side whoami) const override; + + explicit Supported_Point_Formats(bool prefer_compressed) : + m_prefers_compressed(prefer_compressed) {} + + Supported_Point_Formats(TLS_Data_Reader& reader, + uint16_t extension_size); + + bool empty() const override { return false; } + + bool prefers_compressed() { return m_prefers_compressed; } + + private: + bool m_prefers_compressed = false; + }; + +/** +* Signature Algorithms Extension for TLS 1.2 (RFC 5246) +*/ +class BOTAN_UNSTABLE_API Signature_Algorithms final : public Extension + { + public: + static Handshake_Extension_Type static_type() + { return TLSEXT_SIGNATURE_ALGORITHMS; } + + Handshake_Extension_Type type() const override { return static_type(); } + + const std::vector& supported_schemes() const { return m_schemes; } + + std::vector serialize(Connection_Side whoami) const override; + + bool empty() const override { return m_schemes.empty(); } + + explicit Signature_Algorithms(const std::vector& schemes) : + m_schemes(schemes) {} + + Signature_Algorithms(TLS_Data_Reader& reader, + uint16_t extension_size); + private: + std::vector m_schemes; + }; + +/** +* Used to indicate SRTP algorithms for DTLS (RFC 5764) +*/ +class BOTAN_UNSTABLE_API SRTP_Protection_Profiles final : public Extension + { + public: + static Handshake_Extension_Type static_type() + { return TLSEXT_USE_SRTP; } + + Handshake_Extension_Type type() const override { return static_type(); } + + const std::vector& profiles() const { return m_pp; } + + std::vector serialize(Connection_Side whoami) const override; + + bool empty() const override { return m_pp.empty(); } + + explicit SRTP_Protection_Profiles(const std::vector& pp) : m_pp(pp) {} + + explicit SRTP_Protection_Profiles(uint16_t pp) : m_pp(1, pp) {} + + SRTP_Protection_Profiles(TLS_Data_Reader& reader, uint16_t extension_size); + private: + std::vector m_pp; + }; + +/** +* Extended Master Secret Extension (RFC 7627) +*/ +class BOTAN_UNSTABLE_API Extended_Master_Secret final : public Extension + { + public: + static Handshake_Extension_Type static_type() + { return TLSEXT_EXTENDED_MASTER_SECRET; } + + Handshake_Extension_Type type() const override { return static_type(); } + + std::vector serialize(Connection_Side whoami) const override; + + bool empty() const override { return false; } + + Extended_Master_Secret() = default; + + Extended_Master_Secret(TLS_Data_Reader& reader, uint16_t extension_size); + }; + +/** +* Encrypt-then-MAC Extension (RFC 7366) +*/ +class BOTAN_UNSTABLE_API Encrypt_then_MAC final : public Extension + { + public: + static Handshake_Extension_Type static_type() + { return TLSEXT_ENCRYPT_THEN_MAC; } + + Handshake_Extension_Type type() const override { return static_type(); } + + std::vector serialize(Connection_Side whoami) const override; + + bool empty() const override { return false; } + + Encrypt_then_MAC() = default; + + Encrypt_then_MAC(TLS_Data_Reader& reader, uint16_t extension_size); + }; + +/** +* Certificate Status Request (RFC 6066) +*/ +class BOTAN_UNSTABLE_API Certificate_Status_Request final : public Extension + { + public: + static Handshake_Extension_Type static_type() + { return TLSEXT_CERT_STATUS_REQUEST; } + + Handshake_Extension_Type type() const override { return static_type(); } + + std::vector serialize(Connection_Side whoami) const override; + + bool empty() const override { return false; } + + const std::vector& get_responder_id_list() const + { + return m_ocsp_names; + } + + const std::vector& get_request_extensions() const + { + return m_extension_bytes; + } + + // Server generated version: empty + Certificate_Status_Request() {} + + // Client version, both lists can be empty + Certificate_Status_Request(const std::vector& ocsp_responder_ids, + const std::vector>& ocsp_key_ids); + + Certificate_Status_Request(TLS_Data_Reader& reader, + uint16_t extension_size, + Connection_Side side); + private: + std::vector m_ocsp_names; + std::vector> m_ocsp_keys; // is this field really needed + std::vector m_extension_bytes; + }; + +/** +* Supported Versions from RFC 8446 +*/ +class BOTAN_UNSTABLE_API Supported_Versions final : public Extension + { + public: + static Handshake_Extension_Type static_type() + { return TLSEXT_SUPPORTED_VERSIONS; } + + Handshake_Extension_Type type() const override { return static_type(); } + + std::vector serialize(Connection_Side whoami) const override; + + bool empty() const override { return m_versions.empty(); } + + Supported_Versions(Protocol_Version version, const Policy& policy); + + Supported_Versions(Protocol_Version version) + { + m_versions.push_back(version); + } + + Supported_Versions(TLS_Data_Reader& reader, + uint16_t extension_size, + Connection_Side from); + + bool supports(Protocol_Version version) const; + + const std::vector versions() const { return m_versions; } + private: + std::vector m_versions; + }; + +/** +* Unknown extensions are deserialized as this type +*/ +class BOTAN_UNSTABLE_API Unknown_Extension final : public Extension + { + public: + Unknown_Extension(Handshake_Extension_Type type, + TLS_Data_Reader& reader, + uint16_t extension_size); + + std::vector serialize(Connection_Side whoami) const override; // always fails + + const std::vector& value() { return m_value; } + + bool empty() const override { return false; } + + Handshake_Extension_Type type() const override { return m_type; } + + private: + Handshake_Extension_Type m_type; + std::vector m_value; + }; + +/** +* Represents a block of extensions in a hello message +*/ +class BOTAN_UNSTABLE_API Extensions final + { + public: + std::set extension_types() const; + + template + T* get() const + { + return dynamic_cast(get(T::static_type())); + } + + template + bool has() const + { + return get() != nullptr; + } + + void add(Extension* extn) + { + m_extensions[extn->type()].reset(extn); + } + + Extension* get(Handshake_Extension_Type type) const + { + auto i = m_extensions.find(type); + + if(i != m_extensions.end()) + return i->second.get(); + return nullptr; + } + + std::vector serialize(Connection_Side whoami) const; + + void deserialize(TLS_Data_Reader& reader, Connection_Side from); + + /** + * Remvoe an extension from this extensions object, if it exists. + * Returns true if the extension existed (and thus is now removed), + * otherwise false (the extension wasn't set in the first place). + */ + bool remove_extension(Handshake_Extension_Type typ); + + Extensions() = default; + + Extensions(TLS_Data_Reader& reader, Connection_Side side) + { + deserialize(reader, side); + } + + private: + Extensions(const Extensions&) = delete; + Extensions& operator=(const Extensions&) = delete; + + std::map> m_extensions; + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_handshake_msg.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_handshake_msg.h new file mode 100644 index 00000000..a0d9346f --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_handshake_msg.h @@ -0,0 +1,51 @@ +/* +* TLS Handshake Message +* (C) 2012 Jack Lloyd +* 2016 Matthias Gierlings +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_HANDSHAKE_MSG_H_ +#define BOTAN_TLS_HANDSHAKE_MSG_H_ + +#include +#include +#include + +namespace Botan { + +namespace TLS { + +class Handshake_IO; +class Handshake_Hash; + +/** +* TLS Handshake Message Base Class +*/ +class BOTAN_PUBLIC_API(2,0) Handshake_Message + { + public: + /** + * @return string representation of this message type + */ + std::string type_string() const; + + /** + * @return the message type + */ + virtual Handshake_Type type() const = 0; + + /** + * @return DER representation of this message + */ + virtual std::vector serialize() const = 0; + + virtual ~Handshake_Message() = default; + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_magic.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_magic.h new file mode 100644 index 00000000..49d69c7d --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_magic.h @@ -0,0 +1,72 @@ +/* +* SSL/TLS Protocol Constants +* (C) 2004-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_PROTOCOL_MAGIC_H_ +#define BOTAN_TLS_PROTOCOL_MAGIC_H_ + +#include + +//BOTAN_FUTURE_INTERNAL_HEADER(tls_magic.h) + +namespace Botan { + +namespace TLS { + +/** +* Protocol Constants for SSL/TLS +*/ +enum Size_Limits { + TLS_HEADER_SIZE = 5, + DTLS_HEADER_SIZE = TLS_HEADER_SIZE + 8, + + MAX_PLAINTEXT_SIZE = 16*1024, + MAX_COMPRESSED_SIZE = MAX_PLAINTEXT_SIZE + 1024, + MAX_CIPHERTEXT_SIZE = MAX_COMPRESSED_SIZE + 1024, +}; + +// This will become an enum class in a future major release +enum Connection_Side { CLIENT = 1, SERVER = 2 }; + +// This will become an enum class in a future major release +enum Record_Type { + CHANGE_CIPHER_SPEC = 20, + ALERT = 21, + HANDSHAKE = 22, + APPLICATION_DATA = 23, + + NO_RECORD = 256 +}; + +// This will become an enum class in a future major release +enum Handshake_Type { + HELLO_REQUEST = 0, + CLIENT_HELLO = 1, + SERVER_HELLO = 2, + HELLO_VERIFY_REQUEST = 3, + NEW_SESSION_TICKET = 4, // RFC 5077 + CERTIFICATE = 11, + SERVER_KEX = 12, + CERTIFICATE_REQUEST = 13, + SERVER_HELLO_DONE = 14, + CERTIFICATE_VERIFY = 15, + CLIENT_KEX = 16, + FINISHED = 20, + + CERTIFICATE_URL = 21, + CERTIFICATE_STATUS = 22, + + HANDSHAKE_CCS = 254, // Not a wire value + HANDSHAKE_NONE = 255 // Null value +}; + +const char* handshake_type_to_string(Handshake_Type t); + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_messages.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_messages.h new file mode 100644 index 00000000..fc95a1c0 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_messages.h @@ -0,0 +1,653 @@ +/* +* TLS Messages +* (C) 2004-2011,2015 Jack Lloyd +* 2016 Matthias Gierlings +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_MESSAGES_H_ +#define BOTAN_TLS_MESSAGES_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(BOTAN_HAS_CECPQ1) + #include +#endif + +#if defined(BOTAN_HAS_SRP6) + #include +#endif + +namespace Botan { + +class Public_Key; +class Credentials_Manager; + +namespace TLS { + +class Session; +class Handshake_IO; +class Handshake_State; +class Callbacks; + +std::vector make_hello_random(RandomNumberGenerator& rng, + const Policy& policy); + +/** +* DTLS Hello Verify Request +*/ +class BOTAN_UNSTABLE_API Hello_Verify_Request final : public Handshake_Message + { + public: + std::vector serialize() const override; + Handshake_Type type() const override { return HELLO_VERIFY_REQUEST; } + + const std::vector& cookie() const { return m_cookie; } + + explicit Hello_Verify_Request(const std::vector& buf); + + Hello_Verify_Request(const std::vector& client_hello_bits, + const std::string& client_identity, + const SymmetricKey& secret_key); + private: + std::vector m_cookie; + }; + +/** +* Client Hello Message +*/ +class BOTAN_UNSTABLE_API Client_Hello final : public Handshake_Message + { + public: + class Settings final + { + public: + Settings(const Protocol_Version version, + const std::string& hostname = "", + const std::string& srp_identifier = "") : + m_new_session_version(version), + m_hostname(hostname), + m_srp_identifier(srp_identifier) {} + + const Protocol_Version protocol_version() const { return m_new_session_version; } + const std::string& hostname() const { return m_hostname; } + const std::string& srp_identifier() const { return m_srp_identifier; } + + private: + const Protocol_Version m_new_session_version; + const std::string m_hostname; + const std::string m_srp_identifier; + }; + + Handshake_Type type() const override { return CLIENT_HELLO; } + + Protocol_Version version() const { return m_version; } + + std::vector supported_versions() const; + + const std::vector& random() const { return m_random; } + + const std::vector& session_id() const { return m_session_id; } + + const std::vector& compression_methods() const { return m_comp_methods; } + + const std::vector& ciphersuites() const { return m_suites; } + + bool offered_suite(uint16_t ciphersuite) const; + + bool sent_fallback_scsv() const; + + std::vector signature_schemes() const; + + std::vector supported_ecc_curves() const; + + std::vector supported_dh_groups() const; + + bool prefers_compressed_ec_points() const; + + std::string sni_hostname() const; + +#if defined(BOTAN_HAS_SRP6) + std::string srp_identifier() const; +#endif + + bool secure_renegotiation() const; + + std::vector renegotiation_info() const; + + bool supports_session_ticket() const; + + std::vector session_ticket() const; + + bool supports_alpn() const; + + bool supports_extended_master_secret() const; + + bool supports_cert_status_message() const; + + bool supports_encrypt_then_mac() const; + + bool sent_signature_algorithms() const; + + std::vector next_protocols() const; + + std::vector srtp_profiles() const; + + void update_hello_cookie(const Hello_Verify_Request& hello_verify); + + const std::vector& cookie() const { return m_hello_cookie; } + + std::vector cookie_input_data() const; + + std::set extension_types() const + { return m_extensions.extension_types(); } + + const Extensions& extensions() const { return m_extensions; } + + Client_Hello(Handshake_IO& io, + Handshake_Hash& hash, + const Policy& policy, + Callbacks& cb, + RandomNumberGenerator& rng, + const std::vector& reneg_info, + const Client_Hello::Settings& client_settings, + const std::vector& next_protocols); + + Client_Hello(Handshake_IO& io, + Handshake_Hash& hash, + const Policy& policy, + Callbacks& cb, + RandomNumberGenerator& rng, + const std::vector& reneg_info, + const Session& resumed_session, + const std::vector& next_protocols); + + explicit Client_Hello(const std::vector& buf); + + private: + std::vector serialize() const override; + + Protocol_Version m_version; + std::vector m_session_id; + std::vector m_random; + std::vector m_suites; + std::vector m_comp_methods; + std::vector m_hello_cookie; // DTLS only + + Extensions m_extensions; + }; + +/** +* Server Hello Message +*/ +class BOTAN_UNSTABLE_API Server_Hello final : public Handshake_Message + { + public: + class Settings final + { + public: + Settings(const std::vector new_session_id, + Protocol_Version new_session_version, + uint16_t ciphersuite, + bool offer_session_ticket) : + m_new_session_id(new_session_id), + m_new_session_version(new_session_version), + m_ciphersuite(ciphersuite), + m_offer_session_ticket(offer_session_ticket) {} + + const std::vector& session_id() const { return m_new_session_id; } + Protocol_Version protocol_version() const { return m_new_session_version; } + uint16_t ciphersuite() const { return m_ciphersuite; } + bool offer_session_ticket() const { return m_offer_session_ticket; } + + private: + const std::vector m_new_session_id; + Protocol_Version m_new_session_version; + uint16_t m_ciphersuite; + bool m_offer_session_ticket; + }; + + + Handshake_Type type() const override { return SERVER_HELLO; } + + Protocol_Version version() const { return m_version; } + + const std::vector& random() const { return m_random; } + + const std::vector& session_id() const { return m_session_id; } + + uint16_t ciphersuite() const { return m_ciphersuite; } + + uint8_t compression_method() const { return m_comp_method; } + + bool secure_renegotiation() const + { + return m_extensions.has(); + } + + std::vector renegotiation_info() const + { + if(Renegotiation_Extension* reneg = m_extensions.get()) + return reneg->renegotiation_info(); + return std::vector(); + } + + bool supports_extended_master_secret() const + { + return m_extensions.has(); + } + + bool supports_encrypt_then_mac() const + { + return m_extensions.has(); + } + + bool supports_certificate_status_message() const + { + return m_extensions.has(); + } + + bool supports_session_ticket() const + { + return m_extensions.has(); + } + + uint16_t srtp_profile() const + { + if(auto srtp = m_extensions.get()) + { + auto prof = srtp->profiles(); + if(prof.size() != 1 || prof[0] == 0) + throw Decoding_Error("Server sent malformed DTLS-SRTP extension"); + return prof[0]; + } + + return 0; + } + + std::string next_protocol() const + { + if(auto alpn = m_extensions.get()) + return alpn->single_protocol(); + return ""; + } + + std::set extension_types() const + { return m_extensions.extension_types(); } + + const Extensions& extensions() const { return m_extensions; } + + bool prefers_compressed_ec_points() const + { + if(auto ecc_formats = m_extensions.get()) + { + return ecc_formats->prefers_compressed(); + } + return false; + } + + bool random_signals_downgrade() const; + + Server_Hello(Handshake_IO& io, + Handshake_Hash& hash, + const Policy& policy, + Callbacks& cb, + RandomNumberGenerator& rng, + const std::vector& secure_reneg_info, + const Client_Hello& client_hello, + const Server_Hello::Settings& settings, + const std::string next_protocol); + + Server_Hello(Handshake_IO& io, + Handshake_Hash& hash, + const Policy& policy, + Callbacks& cb, + RandomNumberGenerator& rng, + const std::vector& secure_reneg_info, + const Client_Hello& client_hello, + Session& resumed_session, + bool offer_session_ticket, + const std::string& next_protocol); + + explicit Server_Hello(const std::vector& buf); + private: + std::vector serialize() const override; + + Protocol_Version m_version; + std::vector m_session_id, m_random; + uint16_t m_ciphersuite; + uint8_t m_comp_method; + + Extensions m_extensions; + }; + +/** +* Client Key Exchange Message +*/ +class BOTAN_UNSTABLE_API Client_Key_Exchange final : public Handshake_Message + { + public: + Handshake_Type type() const override { return CLIENT_KEX; } + + const secure_vector& pre_master_secret() const + { return m_pre_master; } + + Client_Key_Exchange(Handshake_IO& io, + Handshake_State& state, + const Policy& policy, + Credentials_Manager& creds, + const Public_Key* server_public_key, + const std::string& hostname, + RandomNumberGenerator& rng); + + Client_Key_Exchange(const std::vector& buf, + const Handshake_State& state, + const Private_Key* server_rsa_kex_key, + Credentials_Manager& creds, + const Policy& policy, + RandomNumberGenerator& rng); + + private: + std::vector serialize() const override + { return m_key_material; } + + std::vector m_key_material; + secure_vector m_pre_master; + }; + +/** +* Certificate Message +*/ +class BOTAN_UNSTABLE_API Certificate final : public Handshake_Message + { + public: + Handshake_Type type() const override { return CERTIFICATE; } + const std::vector& cert_chain() const { return m_certs; } + + size_t count() const { return m_certs.size(); } + bool empty() const { return m_certs.empty(); } + + Certificate(Handshake_IO& io, + Handshake_Hash& hash, + const std::vector& certs); + + explicit Certificate(const std::vector& buf, const Policy &policy); + private: + std::vector serialize() const override; + + std::vector m_certs; + }; + +/** +* Certificate Status (RFC 6066) +*/ +class BOTAN_UNSTABLE_API Certificate_Status final : public Handshake_Message + { + public: + Handshake_Type type() const override { return CERTIFICATE_STATUS; } + + //std::shared_ptr response() const { return m_response; } + + const std::vector& response() const { return m_response; } + + Certificate_Status(const std::vector& buf); + + Certificate_Status(Handshake_IO& io, + Handshake_Hash& hash, + std::shared_ptr response); + + /* + * Create a Certificate_Status message using an already DER encoded OCSP response. + */ + Certificate_Status(Handshake_IO& io, + Handshake_Hash& hash, + std::vector const& raw_response_bytes ); + + private: + std::vector serialize() const override; + std::vector m_response; + }; + +/** +* Certificate Request Message +*/ +class BOTAN_UNSTABLE_API Certificate_Req final : public Handshake_Message + { + public: + Handshake_Type type() const override { return CERTIFICATE_REQUEST; } + + const std::vector& acceptable_cert_types() const + { return m_cert_key_types; } + + const std::vector& acceptable_CAs() const { return m_names; } + + const std::vector& signature_schemes() const + { + return m_schemes; + } + + Certificate_Req(Handshake_IO& io, + Handshake_Hash& hash, + const Policy& policy, + const std::vector& allowed_cas, + Protocol_Version version); + + Certificate_Req(const std::vector& buf, + Protocol_Version version); + private: + std::vector serialize() const override; + + std::vector m_names; + std::vector m_cert_key_types; + + std::vector m_schemes; + }; + +/** +* Certificate Verify Message +*/ +class BOTAN_UNSTABLE_API Certificate_Verify final : public Handshake_Message + { + public: + Handshake_Type type() const override { return CERTIFICATE_VERIFY; } + + /** + * Check the signature on a certificate verify message + * @param cert the purported certificate + * @param state the handshake state + * @param policy the TLS policy + */ + bool verify(const X509_Certificate& cert, + const Handshake_State& state, + const Policy& policy) const; + + Certificate_Verify(Handshake_IO& io, + Handshake_State& state, + const Policy& policy, + RandomNumberGenerator& rng, + const Private_Key* key); + + Certificate_Verify(const std::vector& buf, + Protocol_Version version); + private: + std::vector serialize() const override; + + std::vector m_signature; + Signature_Scheme m_scheme = Signature_Scheme::NONE; + }; + +/** +* Finished Message +*/ +class BOTAN_UNSTABLE_API Finished final : public Handshake_Message + { + public: + Handshake_Type type() const override { return FINISHED; } + + std::vector verify_data() const + { return m_verification_data; } + + bool verify(const Handshake_State& state, + Connection_Side side) const; + + Finished(Handshake_IO& io, + Handshake_State& state, + Connection_Side side); + + explicit Finished(const std::vector& buf); + private: + std::vector serialize() const override; + + std::vector m_verification_data; + }; + +/** +* Hello Request Message +*/ +class BOTAN_UNSTABLE_API Hello_Request final : public Handshake_Message + { + public: + Handshake_Type type() const override { return HELLO_REQUEST; } + + explicit Hello_Request(Handshake_IO& io); + explicit Hello_Request(const std::vector& buf); + private: + std::vector serialize() const override; + }; + +/** +* Server Key Exchange Message +*/ +class BOTAN_UNSTABLE_API Server_Key_Exchange final : public Handshake_Message + { + public: + Handshake_Type type() const override { return SERVER_KEX; } + + const std::vector& params() const { return m_params; } + + bool verify(const Public_Key& server_key, + const Handshake_State& state, + const Policy& policy) const; + + // Only valid for certain kex types + const Private_Key& server_kex_key() const; + +#if defined(BOTAN_HAS_SRP6) + // Only valid for SRP negotiation + SRP6_Server_Session& server_srp_params() const + { + BOTAN_ASSERT_NONNULL(m_srp_params); + return *m_srp_params; + } +#endif + +#if defined(BOTAN_HAS_CECPQ1) + // Only valid for CECPQ1 negotiation + const CECPQ1_key& cecpq1_key() const + { + BOTAN_ASSERT_NONNULL(m_cecpq1_key); + return *m_cecpq1_key; + } +#endif + + Server_Key_Exchange(Handshake_IO& io, + Handshake_State& state, + const Policy& policy, + Credentials_Manager& creds, + RandomNumberGenerator& rng, + const Private_Key* signing_key = nullptr); + + Server_Key_Exchange(const std::vector& buf, + Kex_Algo kex_alg, + Auth_Method sig_alg, + Protocol_Version version); + + ~Server_Key_Exchange() = default; + private: + std::vector serialize() const override; + +#if defined(BOTAN_HAS_SRP6) + std::unique_ptr m_srp_params; +#endif + +#if defined(BOTAN_HAS_CECPQ1) + std::unique_ptr m_cecpq1_key; +#endif + + std::unique_ptr m_kex_key; + + std::vector m_params; + + std::vector m_signature; + Signature_Scheme m_scheme = Signature_Scheme::NONE; + }; + +/** +* Server Hello Done Message +*/ +class BOTAN_UNSTABLE_API Server_Hello_Done final : public Handshake_Message + { + public: + Handshake_Type type() const override { return SERVER_HELLO_DONE; } + + Server_Hello_Done(Handshake_IO& io, Handshake_Hash& hash); + explicit Server_Hello_Done(const std::vector& buf); + private: + std::vector serialize() const override; + }; + +/** +* New Session Ticket Message +*/ +class BOTAN_UNSTABLE_API New_Session_Ticket final : public Handshake_Message + { + public: + Handshake_Type type() const override { return NEW_SESSION_TICKET; } + + uint32_t ticket_lifetime_hint() const { return m_ticket_lifetime_hint; } + const std::vector& ticket() const { return m_ticket; } + + New_Session_Ticket(Handshake_IO& io, + Handshake_Hash& hash, + const std::vector& ticket, + uint32_t lifetime); + + New_Session_Ticket(Handshake_IO& io, + Handshake_Hash& hash); + + explicit New_Session_Ticket(const std::vector& buf); + private: + std::vector serialize() const override; + + uint32_t m_ticket_lifetime_hint = 0; + std::vector m_ticket; + }; + +/** +* Change Cipher Spec +*/ +class BOTAN_UNSTABLE_API Change_Cipher_Spec final : public Handshake_Message + { + public: + Handshake_Type type() const override { return HANDSHAKE_CCS; } + + std::vector serialize() const override + { return std::vector(1, 1); } + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_policy.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_policy.h new file mode 100644 index 00000000..4fbbd754 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_policy.h @@ -0,0 +1,616 @@ +/* +* Hooks for application level policies on TLS connections +* (C) 2004-2006,2013 Jack Lloyd +* 2017 Harry Reimann, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_POLICY_H_ +#define BOTAN_TLS_POLICY_H_ + +#include +#include +#include +#include +#include + +namespace Botan { + +class Public_Key; + +namespace TLS { + +/** +* TLS Policy Base Class +* Inherit and overload as desired to suit local policy concerns +*/ +class BOTAN_PUBLIC_API(2,0) Policy + { + public: + + /** + * Returns a list of ciphers we are willing to negotiate, in + * order of preference. + */ + virtual std::vector allowed_ciphers() const; + + /** + * Returns a list of hash algorithms we are willing to use for + * signatures, in order of preference. + */ + virtual std::vector allowed_signature_hashes() const; + + /** + * Returns a list of MAC algorithms we are willing to use. + */ + virtual std::vector allowed_macs() const; + + /** + * Returns a list of key exchange algorithms we are willing to + * use, in order of preference. Allowed values: DH, empty string + * (representing RSA using server certificate key) + */ + virtual std::vector allowed_key_exchange_methods() const; + + /** + * Returns a list of signature algorithms we are willing to + * use, in order of preference. Allowed values RSA and DSA. + */ + virtual std::vector allowed_signature_methods() const; + + virtual std::vector allowed_signature_schemes() const; + + /** + * The minimum signature strength we will accept + * Returning 80 allows RSA 1024 and SHA-1. Values larger than 80 disable SHA-1 support. + * Returning 110 allows RSA 2048. + * Return 128 to force ECC (P-256) or large (~3000 bit) RSA keys. + * Default is 110 + */ + virtual size_t minimum_signature_strength() const; + + /** + * Return if cert revocation info (CRL/OCSP) is required + * If true, validation will fail unless a valid CRL or OCSP response + * was examined. + */ + virtual bool require_cert_revocation_info() const; + + bool allowed_signature_method(const std::string& sig_method) const; + bool allowed_signature_hash(const std::string& hash) const; + + /** + * Return list of ECC curves and FFDHE groups we are willing to + * use in order of preference. + */ + virtual std::vector key_exchange_groups() const; + + /** + * Request that ECC curve points are sent compressed + */ + virtual bool use_ecc_point_compression() const; + + /** + * Select a key exchange group to use, from the list of groups sent by the + * peer. If none are acceptable, return Group_Params::NONE + */ + virtual Group_Params choose_key_exchange_group(const std::vector& peer_groups) const; + + /** + * Allow renegotiation even if the counterparty doesn't + * support the secure renegotiation extension. + * + * @warning Changing this to true exposes you to injected + * plaintext attacks. Read RFC 5746 for background. + */ + virtual bool allow_insecure_renegotiation() const; + + /** + * The protocol dictates that the first 32 bits of the random + * field are the current time in seconds. However this allows + * client fingerprinting attacks. Set to false to disable, in + * which case random bytes will be used instead. + */ + virtual bool include_time_in_hello_random() const; + + /** + * Consulted by server side. If true, allows clients to initiate a new handshake + */ + virtual bool allow_client_initiated_renegotiation() const; + + /** + * Consulted by client side. If true, allows servers to initiate a new handshake + */ + virtual bool allow_server_initiated_renegotiation() const; + + /** + * If true, a request to renegotiate will close the connection with + * a fatal alert. Otherwise, a warning alert is sent. + */ + virtual bool abort_connection_on_undesired_renegotiation() const; + + virtual bool only_resume_with_exact_version() const; + + /** + * Allow TLS v1.0 + */ + virtual bool allow_tls10() const; + + /** + * Allow TLS v1.1 + */ + virtual bool allow_tls11() const; + + /** + * Allow TLS v1.2 + */ + virtual bool allow_tls12() const; + + /** + * Allow DTLS v1.0 + */ + virtual bool allow_dtls10() const; + + /** + * Allow DTLS v1.2 + */ + virtual bool allow_dtls12() const; + + virtual Group_Params default_dh_group() const; + + /** + * Return the minimum DH group size we're willing to use + * Default is currently 1024 (insecure), should be 2048 + */ + virtual size_t minimum_dh_group_size() const; + + /** + * For ECDSA authenticated ciphersuites, the smallest key size the + * client will accept. + * This policy is currently only enforced on the server by the client. + */ + virtual size_t minimum_ecdsa_group_size() const; + + /** + * Return the minimum ECDH group size we're willing to use + * for key exchange + * + * Default 255, allowing x25519 and larger + * x25519 is the smallest curve we will negotiate + * P-521 is the largest + */ + virtual size_t minimum_ecdh_group_size() const; + + /** + * Return the minimum bit size we're willing to accept for RSA + * key exchange or server signatures. + * + * It does not place any requirements on the size of any RSA signature(s) + * which were used to check the server certificate. This is only + * concerned with the server's public key. + * + * Default is 2048 which is smallest RSA key size still secure + * for medium term security. + */ + virtual size_t minimum_rsa_bits() const; + + /** + * Minimum DSA group size, default 2048 bits + */ + virtual size_t minimum_dsa_group_size() const; + + /** + * Throw an exception if you don't like the peer's key. + * Default impl checks the key size against minimum_rsa_bits, minimum_ecdsa_group_size, + * or minimum_ecdh_group_size depending on the key's type. + * Override if you'd like to perform some other kind of test on + * (or logging of) the peer's keys. + */ + virtual void check_peer_key_acceptable(const Public_Key& public_key) const; + + /** + * If this function returns false, unknown SRP/PSK identifiers + * will be rejected with an unknown_psk_identifier alert as soon + * as the non-existence is identified. Otherwise, a false + * identifier value will be used and the protocol allowed to + * proceed, causing the handshake to eventually fail without + * revealing that the username does not exist on this system. + */ + virtual bool hide_unknown_users() const; + + /** + * Return the allowed lifetime of a session ticket. If 0, session + * tickets do not expire until the session ticket key rolls over. + * Expired session tickets cannot be used to resume a session. + */ + virtual uint32_t session_ticket_lifetime() const; + + /** + * If this returns a non-empty vector, and DTLS is negotiated, + * then we will also attempt to negotiate the SRTP extension from + * RFC 5764 using the returned values as the profile ids. + */ + virtual std::vector srtp_profiles() const; + + /** + * @return true if and only if we are willing to accept this version + * Default accepts TLS v1.0 and later or DTLS v1.2 or later. + */ + virtual bool acceptable_protocol_version(Protocol_Version version) const; + + /** + * Returns the more recent protocol version we are willing to + * use, for either TLS or DTLS depending on datagram param. + * Shouldn't ever need to override this unless you want to allow + * a user to disable use of TLS v1.2 (which is *not recommended*) + */ + virtual Protocol_Version latest_supported_version(bool datagram) const; + + /** + * When offering this version, should we send a fallback SCSV? + * Default returns true iff version is not the latest version the + * policy allows, exists to allow override in case of interop problems. + */ + virtual bool send_fallback_scsv(Protocol_Version version) const; + + /** + * Allows policy to reject any ciphersuites which are undesirable + * for whatever reason without having to reimplement ciphersuite_list + */ + virtual bool acceptable_ciphersuite(const Ciphersuite& suite) const; + + /** + * @return true if servers should choose the ciphersuite matching + * their highest preference, rather than the clients. + * Has no effect on client side. + */ + virtual bool server_uses_own_ciphersuite_preferences() const; + + /** + * Indicates whether the encrypt-then-MAC extension should be negotiated + * (RFC 7366) + */ + virtual bool negotiate_encrypt_then_mac() const; + + /** + * Indicates whether certificate status messages should be supported + */ + virtual bool support_cert_status_message() const; + + /** + * Indicate if client certificate authentication is required. + * If true, then a cert will be requested and if the client does + * not send a certificate the connection will be closed. + */ + virtual bool require_client_certificate_authentication() const; + + /** + * Indicate if client certificate authentication is requested. + * If true, then a cert will be requested. + */ + virtual bool request_client_certificate_authentication() const; + + /** + * If true, then allow a DTLS client to restart a connection to the + * same server association as described in section 4.2.8 of the DTLS RFC + */ + virtual bool allow_dtls_epoch0_restart() const; + + /** + * Return allowed ciphersuites, in order of preference + */ + virtual std::vector ciphersuite_list(Protocol_Version version, + bool have_srp) const; + + /** + * @return the default MTU for DTLS + */ + virtual size_t dtls_default_mtu() const; + + /** + * @return the initial timeout for DTLS + */ + virtual size_t dtls_initial_timeout() const; + + /** + * @return the maximum timeout for DTLS + */ + virtual size_t dtls_maximum_timeout() const; + + /** + * @return the maximum size of the certificate chain, in bytes. + * Return 0 to disable this and accept any size. + */ + virtual size_t maximum_certificate_chain_size() const; + + virtual bool allow_resumption_for_renegotiation() const; + + /** + * Convert this policy to a printable format. + * @param o stream to be printed to + */ + virtual void print(std::ostream& o) const; + + /** + * Convert this policy to a printable format. + * Same as calling `print` on a ostringstream and reading o.str() + */ + std::string to_string() const; + + virtual ~Policy() = default; + }; + +typedef Policy Default_Policy; + +/** +* NSA Suite B 128-bit security level (RFC 6460) +* +* @warning As of August 2015 NSA indicated only the 192-bit Suite B +* should be used for all classification levels. +*/ +class BOTAN_PUBLIC_API(2,0) NSA_Suite_B_128 : public Policy + { + public: + std::vector allowed_ciphers() const override + { return std::vector({"AES-128/GCM"}); } + + std::vector allowed_signature_hashes() const override + { return std::vector({"SHA-256"}); } + + std::vector allowed_macs() const override + { return std::vector({"AEAD"}); } + + std::vector allowed_key_exchange_methods() const override + { return std::vector({"ECDH"}); } + + std::vector allowed_signature_methods() const override + { return std::vector({"ECDSA"}); } + + std::vector key_exchange_groups() const override + { return {Group_Params::SECP256R1}; } + + size_t minimum_signature_strength() const override { return 128; } + + bool allow_tls10() const override { return false; } + bool allow_tls11() const override { return false; } + bool allow_tls12() const override { return true; } + bool allow_dtls10() const override { return false; } + bool allow_dtls12() const override { return false; } + }; + +/** +* NSA Suite B 192-bit security level (RFC 6460) +*/ +class BOTAN_PUBLIC_API(2,7) NSA_Suite_B_192 : public Policy + { + public: + std::vector allowed_ciphers() const override + { return std::vector({"AES-256/GCM"}); } + + std::vector allowed_signature_hashes() const override + { return std::vector({"SHA-384"}); } + + std::vector allowed_macs() const override + { return std::vector({"AEAD"}); } + + std::vector allowed_key_exchange_methods() const override + { return std::vector({"ECDH"}); } + + std::vector allowed_signature_methods() const override + { return std::vector({"ECDSA"}); } + + std::vector key_exchange_groups() const override + { return {Group_Params::SECP384R1}; } + + size_t minimum_signature_strength() const override { return 192; } + + bool allow_tls10() const override { return false; } + bool allow_tls11() const override { return false; } + bool allow_tls12() const override { return true; } + bool allow_dtls10() const override { return false; } + bool allow_dtls12() const override { return false; } + }; + +/** +* BSI TR-02102-2 Policy +*/ +class BOTAN_PUBLIC_API(2,0) BSI_TR_02102_2 : public Policy + { + public: + std::vector allowed_ciphers() const override + { + return std::vector({"AES-256/GCM", "AES-128/GCM", "AES-256/CCM", "AES-128/CCM", "AES-256", "AES-128"}); + } + + std::vector allowed_signature_hashes() const override + { + return std::vector({"SHA-512", "SHA-384", "SHA-256"}); + } + + std::vector allowed_macs() const override + { + return std::vector({"AEAD", "SHA-384", "SHA-256"}); + } + + std::vector allowed_key_exchange_methods() const override + { + return std::vector({"ECDH", "DH", "ECDHE_PSK", "DHE_PSK"}); + } + + std::vector allowed_signature_methods() const override + { + return std::vector({"ECDSA", "RSA", "DSA"}); + } + + std::vector key_exchange_groups() const override + { + return std::vector({ + Group_Params::BRAINPOOL512R1, + Group_Params::BRAINPOOL384R1, + Group_Params::BRAINPOOL256R1, + Group_Params::SECP384R1, + Group_Params::SECP256R1, + Group_Params::FFDHE_4096, + Group_Params::FFDHE_3072, + Group_Params::FFDHE_2048 + }); + } + + bool allow_insecure_renegotiation() const override { return false; } + bool allow_server_initiated_renegotiation() const override { return true; } + bool server_uses_own_ciphersuite_preferences() const override { return true; } + bool negotiate_encrypt_then_mac() const override { return true; } + + size_t minimum_rsa_bits() const override { return 2000; } + size_t minimum_dh_group_size() const override { return 2000; } + size_t minimum_dsa_group_size() const override { return 2000; } + + size_t minimum_ecdh_group_size() const override { return 250; } + size_t minimum_ecdsa_group_size() const override { return 250; } + + bool allow_tls10() const override { return false; } + bool allow_tls11() const override { return false; } + bool allow_tls12() const override { return true; } + bool allow_dtls10() const override { return false; } + bool allow_dtls12() const override { return false; } + }; + +/** +* Policy for DTLS. We require DTLS v1.2 and an AEAD mode. +*/ +class BOTAN_PUBLIC_API(2,0) Datagram_Policy : public Policy + { + public: + std::vector allowed_macs() const override + { return std::vector({"AEAD"}); } + + bool allow_tls10() const override { return false; } + bool allow_tls11() const override { return false; } + bool allow_tls12() const override { return false; } + bool allow_dtls10() const override { return false; } + bool allow_dtls12() const override { return true; } + }; + +/* +* This policy requires a secure version of TLS and disables all insecure +* algorithms. It is compatible with other botan TLSes (including those using the +* default policy) and with many other recent implementations. It is a great idea +* to use if you control both sides of the protocol and don't have to worry +* about ancient and/or bizarre TLS implementations. +*/ +class BOTAN_PUBLIC_API(2,0) Strict_Policy : public Policy + { + public: + std::vector allowed_ciphers() const override; + + std::vector allowed_signature_hashes() const override; + + std::vector allowed_macs() const override; + + std::vector allowed_key_exchange_methods() const override; + + bool allow_tls10() const override; + bool allow_tls11() const override; + bool allow_tls12() const override; + bool allow_dtls10() const override; + bool allow_dtls12() const override; + }; + +class BOTAN_PUBLIC_API(2,0) Text_Policy : public Policy + { + public: + + std::vector allowed_ciphers() const override; + + std::vector allowed_signature_hashes() const override; + + std::vector allowed_macs() const override; + + std::vector allowed_key_exchange_methods() const override; + + std::vector allowed_signature_methods() const override; + + std::vector key_exchange_groups() const override; + + bool use_ecc_point_compression() const override; + + bool allow_tls10() const override; + + bool allow_tls11() const override; + + bool allow_tls12() const override; + + bool allow_dtls10() const override; + + bool allow_dtls12() const override; + + bool allow_insecure_renegotiation() const override; + + bool include_time_in_hello_random() const override; + + bool allow_client_initiated_renegotiation() const override; + bool allow_server_initiated_renegotiation() const override; + + bool server_uses_own_ciphersuite_preferences() const override; + + bool negotiate_encrypt_then_mac() const override; + + bool support_cert_status_message() const override; + + bool require_client_certificate_authentication() const override; + + size_t minimum_ecdh_group_size() const override; + + size_t minimum_ecdsa_group_size() const override; + + size_t minimum_dh_group_size() const override; + + size_t minimum_rsa_bits() const override; + + size_t minimum_signature_strength() const override; + + size_t dtls_default_mtu() const override; + + size_t dtls_initial_timeout() const override; + + size_t dtls_maximum_timeout() const override; + + bool require_cert_revocation_info() const override; + + bool hide_unknown_users() const override; + + uint32_t session_ticket_lifetime() const override; + + bool send_fallback_scsv(Protocol_Version version) const override; + + std::vector srtp_profiles() const override; + + void set(const std::string& k, const std::string& v); + + explicit Text_Policy(const std::string& s); + + explicit Text_Policy(std::istream& in); + + protected: + + std::vector get_list(const std::string& key, + const std::vector& def) const; + + size_t get_len(const std::string& key, size_t def) const; + + bool get_bool(const std::string& key, bool def) const; + + std::string get_str(const std::string& key, const std::string& def = "") const; + + bool set_value(const std::string& key, const std::string& val, bool overwrite); + + private: + std::map m_kv; + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_server.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_server.h new file mode 100644 index 00000000..c601e8c6 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_server.h @@ -0,0 +1,169 @@ +/* +* TLS Server +* (C) 2004-2011 Jack Lloyd +* 2016 Matthias Gierlings +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_SERVER_H_ +#define BOTAN_TLS_SERVER_H_ + +#include +#include +#include +#include + +namespace Botan { + +namespace TLS { + +class Server_Handshake_State; + +/** +* TLS Server +*/ +class BOTAN_PUBLIC_API(2,0) Server final : public Channel + { + public: + typedef std::function)> next_protocol_fn; + + /** + * Server initialization + * + * @param callbacks contains a set of callback function references + * required by the TLS client. + * + * @param session_manager manages session state + * + * @param creds manages application/user credentials + * + * @param policy specifies other connection policy information + * + * @param rng a random number generator + * + * @param is_datagram set to true if this server should expect DTLS + * connections. Otherwise TLS connections are expected. + * + * @param reserved_io_buffer_size This many bytes of memory will + * be preallocated for the read and write buffers. Smaller + * values just mean reallocations and copies are more likely. + */ + Server(Callbacks& callbacks, + Session_Manager& session_manager, + Credentials_Manager& creds, + const Policy& policy, + RandomNumberGenerator& rng, + bool is_datagram = false, + size_t reserved_io_buffer_size = TLS::Server::IO_BUF_DEFAULT_SIZE + ); + + /** + * DEPRECATED. This constructor is only provided for backward + * compatibility and should not be used in new implementations. + * It will be removed in a future release. + */ + BOTAN_DEPRECATED("Use TLS::Server(TLS::Callbacks ...)") + Server(output_fn output, + data_cb data_cb, + alert_cb recv_alert_cb, + handshake_cb hs_cb, + Session_Manager& session_manager, + Credentials_Manager& creds, + const Policy& policy, + RandomNumberGenerator& rng, + next_protocol_fn next_proto = next_protocol_fn(), + bool is_datagram = false, + size_t reserved_io_buffer_size = TLS::Server::IO_BUF_DEFAULT_SIZE + ); + + /** + * DEPRECATED. This constructor is only provided for backward + * compatibility and should not be used in new implementations. + * It will be removed in a future release. + */ + BOTAN_DEPRECATED("Use TLS::Server(TLS::Callbacks ...)") + Server(output_fn output, + data_cb data_cb, + alert_cb recv_alert_cb, + handshake_cb hs_cb, + handshake_msg_cb hs_msg_cb, + Session_Manager& session_manager, + Credentials_Manager& creds, + const Policy& policy, + RandomNumberGenerator& rng, + next_protocol_fn next_proto = next_protocol_fn(), + bool is_datagram = false + ); + + /** + * Return the protocol notification set by the client (using the + * ALPN extension) for this connection, if any. This value is not + * tied to the session and a later renegotiation of the same + * session can choose a new protocol. + */ + std::string next_protocol() const { return m_next_protocol; } + + /** + * Return the protocol notification set by the client (using the + * ALPN extension) for this connection, if any. This value is not + * tied to the session and a later renegotiation of the same + * session can choose a new protocol. + */ + std::string application_protocol() const override { return m_next_protocol; } + + private: + std::vector + get_peer_cert_chain(const Handshake_State& state) const override; + + void initiate_handshake(Handshake_State& state, + bool force_full_renegotiation) override; + + void process_handshake_msg(const Handshake_State* active_state, + Handshake_State& pending_state, + Handshake_Type type, + const std::vector& contents, + bool epoch0_restart) override; + + void process_client_hello_msg(const Handshake_State* active_state, + Server_Handshake_State& pending_state, + const std::vector& contents, + bool epoch0_restart); + + void process_certificate_msg(Server_Handshake_State& pending_state, + const std::vector& contents); + + void process_client_key_exchange_msg(Server_Handshake_State& pending_state, + const std::vector& contents); + + void process_change_cipher_spec_msg(Server_Handshake_State& pending_state); + + void process_certificate_verify_msg(Server_Handshake_State& pending_state, + Handshake_Type type, + const std::vector& contents); + + void process_finished_msg(Server_Handshake_State& pending_state, + Handshake_Type type, + const std::vector& contents); + + void session_resume(Server_Handshake_State& pending_state, + bool have_session_ticket_key, + Session& session_info); + + void session_create(Server_Handshake_State& pending_state, + bool have_session_ticket_key); + + Handshake_State* new_handshake_state(Handshake_IO* io) override; + + Credentials_Manager& m_creds; + std::string m_next_protocol; + + // Set by deprecated constructor, Server calls both this fn and Callbacks version + next_protocol_fn m_choose_next_protocol; + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_server_info.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_server_info.h new file mode 100644 index 00000000..d05af6ac --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_server_info.h @@ -0,0 +1,104 @@ +/* +* TLS Server Information +* (C) 2012 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_SERVER_INFO_H_ +#define BOTAN_TLS_SERVER_INFO_H_ + +#include +#include + +namespace Botan { + +namespace TLS { + +/** +* Represents information known about a TLS server. +*/ +class BOTAN_PUBLIC_API(2,0) Server_Information final + { + public: + /** + * An empty server info - nothing known + */ + Server_Information() : m_hostname(""), m_service(""), m_port(0) {} + + /** + * @param hostname the host's DNS name, if known + * @param port specifies the protocol port of the server (eg for + * TCP/UDP). Zero represents unknown. + */ + Server_Information(const std::string& hostname, + uint16_t port = 0) : + m_hostname(hostname), m_service(""), m_port(port) {} + + /** + * @param hostname the host's DNS name, if known + * @param service is a text string of the service type + * (eg "https", "tor", or "git") + * @param port specifies the protocol port of the server (eg for + * TCP/UDP). Zero represents unknown. + */ + Server_Information(const std::string& hostname, + const std::string& service, + uint16_t port = 0) : + m_hostname(hostname), m_service(service), m_port(port) {} + + /** + * @return the host's DNS name, if known + */ + std::string hostname() const { return m_hostname; } + + /** + * @return text string of the service type, e.g., + * "https", "tor", or "git" + */ + std::string service() const { return m_service; } + + /** + * @return the protocol port of the server, or zero if unknown + */ + uint16_t port() const { return m_port; } + + /** + * @return whether the hostname is known + */ + bool empty() const { return m_hostname.empty(); } + + private: + std::string m_hostname, m_service; + uint16_t m_port; + }; + +inline bool operator==(const Server_Information& a, const Server_Information& b) + { + return (a.hostname() == b.hostname()) && + (a.service() == b.service()) && + (a.port() == b.port()); + + } + +inline bool operator!=(const Server_Information& a, const Server_Information& b) + { + return !(a == b); + } + +inline bool operator<(const Server_Information& a, const Server_Information& b) + { + if(a.hostname() != b.hostname()) + return (a.hostname() < b.hostname()); + if(a.service() != b.service()) + return (a.service() < b.service()); + if(a.port() != b.port()) + return (a.port() < b.port()); + return false; // equal + } + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_session.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_session.h new file mode 100644 index 00000000..5a75e6a3 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_session.h @@ -0,0 +1,210 @@ +/* +* TLS Session +* (C) 2011-2012,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_SESSION_STATE_H_ +#define BOTAN_TLS_SESSION_STATE_H_ + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Botan { + +namespace TLS { + +/** +* Class representing a TLS session state +*/ +class BOTAN_PUBLIC_API(2,0) Session final + { + public: + + /** + * Uninitialized session + */ + Session() : + m_start_time(std::chrono::system_clock::time_point::min()), + m_version(), + m_ciphersuite(0), + m_connection_side(static_cast(0)), + m_srtp_profile(0), + m_extended_master_secret(false), + m_encrypt_then_mac(false) + {} + + /** + * New session (sets session start time) + */ + Session(const std::vector& session_id, + const secure_vector& master_secret, + Protocol_Version version, + uint16_t ciphersuite, + Connection_Side side, + bool supports_extended_master_secret, + bool supports_encrypt_then_mac, + const std::vector& peer_certs, + const std::vector& session_ticket, + const Server_Information& server_info, + const std::string& srp_identifier, + uint16_t srtp_profile); + + /** + * Load a session from DER representation (created by DER_encode) + * @param ber DER representation buffer + * @param ber_len size of buffer in bytes + */ + Session(const uint8_t ber[], size_t ber_len); + + /** + * Load a session from PEM representation (created by PEM_encode) + * @param pem PEM representation + */ + explicit Session(const std::string& pem); + + /** + * Encode this session data for storage + * @warning if the master secret is compromised so is the + * session traffic + */ + secure_vector DER_encode() const; + + /** + * Encrypt a session (useful for serialization or session tickets) + */ + std::vector encrypt(const SymmetricKey& key, + RandomNumberGenerator& rng) const; + + + /** + * Decrypt a session created by encrypt + * @param ctext the ciphertext returned by encrypt + * @param ctext_size the size of ctext in bytes + * @param key the same key used by the encrypting side + */ + static Session decrypt(const uint8_t ctext[], + size_t ctext_size, + const SymmetricKey& key); + + /** + * Decrypt a session created by encrypt + * @param ctext the ciphertext returned by encrypt + * @param key the same key used by the encrypting side + */ + static inline Session decrypt(const std::vector& ctext, + const SymmetricKey& key) + { + return Session::decrypt(ctext.data(), ctext.size(), key); + } + + /** + * Encode this session data for storage + * @warning if the master secret is compromised so is the + * session traffic + */ + std::string PEM_encode() const; + + /** + * Get the version of the saved session + */ + Protocol_Version version() const { return m_version; } + + /** + * Get the ciphersuite code of the saved session + */ + uint16_t ciphersuite_code() const { return m_ciphersuite; } + + /** + * Get the ciphersuite info of the saved session + */ + Ciphersuite ciphersuite() const { return Ciphersuite::by_id(m_ciphersuite); } + + /** + * Get which side of the connection the resumed session we are/were + * acting as. + */ + Connection_Side side() const { return m_connection_side; } + + /** + * Get the SRP identity (if sent by the client in the initial handshake) + */ + const std::string& srp_identifier() const { return m_srp_identifier; } + + /** + * Get the saved master secret + */ + const secure_vector& master_secret() const { return m_master_secret; } + + /** + * Get the session identifier + */ + const std::vector& session_id() const { return m_identifier; } + + /** + * Get the negotiated DTLS-SRTP algorithm (RFC 5764) + */ + uint16_t dtls_srtp_profile() const { return m_srtp_profile; } + + bool supports_extended_master_secret() const { return m_extended_master_secret; } + + bool supports_encrypt_then_mac() const { return m_encrypt_then_mac; } + + /** + * Return the certificate chain of the peer (possibly empty) + */ + const std::vector& peer_certs() const { return m_peer_certs; } + + /** + * Get the wall clock time this session began + */ + std::chrono::system_clock::time_point start_time() const { return m_start_time; } + + /** + * Return how long this session has existed (in seconds) + */ + std::chrono::seconds session_age() const; + + /** + * Return the session ticket the server gave us + */ + const std::vector& session_ticket() const { return m_session_ticket; } + + /** + * @return information about the TLS server + */ + const Server_Information& server_info() const { return m_server_info; } + + private: + enum { TLS_SESSION_PARAM_STRUCT_VERSION = 20160812 }; + + std::chrono::system_clock::time_point m_start_time; + + std::vector m_identifier; + std::vector m_session_ticket; // only used by client side + secure_vector m_master_secret; + + Protocol_Version m_version; + uint16_t m_ciphersuite; + Connection_Side m_connection_side; + uint16_t m_srtp_profile; + bool m_extended_master_secret; + bool m_encrypt_then_mac; + + std::vector m_peer_certs; + Server_Information m_server_info; // optional + std::string m_srp_identifier; // optional + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_session_manager.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_session_manager.h new file mode 100644 index 00000000..40ca48f7 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_session_manager.h @@ -0,0 +1,160 @@ +/* +* TLS Session Manager +* (C) 2011 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_SESSION_MANAGER_H_ +#define BOTAN_TLS_SESSION_MANAGER_H_ + +#include +#include +#include +#include + +namespace Botan { + +namespace TLS { + +/** +* Session_Manager is an interface to systems which can save +* session parameters for supporting session resumption. +* +* Saving sessions is done on a best-effort basis; an implementation is +* allowed to drop sessions due to space constraints. +* +* Implementations should strive to be thread safe +*/ +class BOTAN_PUBLIC_API(2,0) Session_Manager + { + public: + /** + * Try to load a saved session (using session ID) + * @param session_id the session identifier we are trying to resume + * @param session will be set to the saved session data (if found), + or not modified if not found + * @return true if session was modified + */ + virtual bool load_from_session_id(const std::vector& session_id, + Session& session) = 0; + + /** + * Try to load a saved session (using info about server) + * @param info the information about the server + * @param session will be set to the saved session data (if found), + or not modified if not found + * @return true if session was modified + */ + virtual bool load_from_server_info(const Server_Information& info, + Session& session) = 0; + + /** + * Remove this session id from the cache, if it exists + */ + virtual void remove_entry(const std::vector& session_id) = 0; + + /** + * Remove all sessions from the cache, return number of sessions deleted + */ + virtual size_t remove_all() = 0; + + /** + * Save a session on a best effort basis; the manager may not in + * fact be able to save the session for whatever reason; this is + * not an error. Caller cannot assume that calling save followed + * immediately by load_from_* will result in a successful lookup. + * + * @param session to save + */ + virtual void save(const Session& session) = 0; + + /** + * Return the allowed lifetime of a session; beyond this time, + * sessions are not resumed. Returns 0 if unknown/no explicit + * expiration policy. + */ + virtual std::chrono::seconds session_lifetime() const = 0; + + virtual ~Session_Manager() = default; + }; + +/** +* An implementation of Session_Manager that does not save sessions at +* all, preventing session resumption. +*/ +class BOTAN_PUBLIC_API(2,0) Session_Manager_Noop final : public Session_Manager + { + public: + bool load_from_session_id(const std::vector&, Session&) override + { return false; } + + bool load_from_server_info(const Server_Information&, Session&) override + { return false; } + + void remove_entry(const std::vector&) override {} + + size_t remove_all() override { return 0; } + + void save(const Session&) override {} + + std::chrono::seconds session_lifetime() const override + { return std::chrono::seconds(0); } + }; + +/** +* An implementation of Session_Manager that saves values in memory. +*/ +class BOTAN_PUBLIC_API(2,0) Session_Manager_In_Memory final : public Session_Manager + { + public: + /** + * @param rng a RNG used for generating session key and for + * session encryption + * @param max_sessions a hint on the maximum number of sessions + * to keep in memory at any one time. (If zero, don't cap) + * @param session_lifetime sessions are expired after this many + * seconds have elapsed from initial handshake. + */ + Session_Manager_In_Memory(RandomNumberGenerator& rng, + size_t max_sessions = 1000, + std::chrono::seconds session_lifetime = + std::chrono::seconds(7200)); + + bool load_from_session_id(const std::vector& session_id, + Session& session) override; + + bool load_from_server_info(const Server_Information& info, + Session& session) override; + + void remove_entry(const std::vector& session_id) override; + + size_t remove_all() override; + + void save(const Session& session_data) override; + + std::chrono::seconds session_lifetime() const override + { return m_session_lifetime; } + + private: + bool load_from_session_str(const std::string& session_str, + Session& session); + + mutex_type m_mutex; + + size_t m_max_sessions; + + std::chrono::seconds m_session_lifetime; + + RandomNumberGenerator& m_rng; + secure_vector m_session_key; + + std::map> m_sessions; // hex(session_id) -> session + std::map m_info_sessions; + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_session_manager_sql.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_session_manager_sql.h new file mode 100644 index 00000000..d96a8b5b --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_session_manager_sql.h @@ -0,0 +1,81 @@ +/* +* TLS Session Manager storing to encrypted SQL db table +* (C) 2012,2014 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_SQL_SESSION_MANAGER_H_ +#define BOTAN_TLS_SQL_SESSION_MANAGER_H_ + +#include +#include + +namespace Botan { + +class RandomNumberGenerator; + +namespace TLS { + +/** +* An implementation of Session_Manager that saves values in a SQL +* database file, with the session data encrypted using a passphrase. +* +* @warning For clients, the hostnames associated with the saved +* sessions are stored in the database in plaintext. This may be a +* serious privacy risk in some situations. +*/ +class BOTAN_PUBLIC_API(2,0) Session_Manager_SQL : public Session_Manager + { + public: + /** + * @param db A connection to the database to use + The table names botan_tls_sessions and + botan_tls_sessions_metadata will be used + * @param passphrase used to encrypt the session data + * @param rng a random number generator + * @param max_sessions a hint on the maximum number of sessions + * to keep in memory at any one time. (If zero, don't cap) + * @param session_lifetime sessions are expired after this many + * seconds have elapsed from initial handshake. + */ + Session_Manager_SQL(std::shared_ptr db, + const std::string& passphrase, + RandomNumberGenerator& rng, + size_t max_sessions = 1000, + std::chrono::seconds session_lifetime = std::chrono::seconds(7200)); + + Session_Manager_SQL(const Session_Manager_SQL&) = delete; + + Session_Manager_SQL& operator=(const Session_Manager_SQL&) = delete; + + bool load_from_session_id(const std::vector& session_id, + Session& session) override; + + bool load_from_server_info(const Server_Information& info, + Session& session) override; + + void remove_entry(const std::vector& session_id) override; + + size_t remove_all() override; + + void save(const Session& session_data) override; + + std::chrono::seconds session_lifetime() const override + { return m_session_lifetime; } + + private: + void prune_session_cache(); + + std::shared_ptr m_db; + secure_vector m_session_key; + RandomNumberGenerator& m_rng; + size_t m_max_sessions; + std::chrono::seconds m_session_lifetime; + }; + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_version.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_version.h new file mode 100644 index 00000000..18e2c0f6 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tls_version.h @@ -0,0 +1,156 @@ +/* +* TLS Protocol Version Management +* (C) 2012 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TLS_PROTOCOL_VERSION_H_ +#define BOTAN_TLS_PROTOCOL_VERSION_H_ + +#include +#include + +namespace Botan { + +namespace TLS { + +/** +* TLS Protocol Version +*/ +class BOTAN_PUBLIC_API(2,0) Protocol_Version final + { + public: + enum Version_Code { + TLS_V10 = 0x0301, + TLS_V11 = 0x0302, + TLS_V12 = 0x0303, + + DTLS_V10 = 0xFEFF, + DTLS_V12 = 0xFEFD + }; + + /** + * @return latest known TLS version + */ + static Protocol_Version latest_tls_version() + { + return Protocol_Version(TLS_V12); + } + + /** + * @return latest known DTLS version + */ + static Protocol_Version latest_dtls_version() + { + return Protocol_Version(DTLS_V12); + } + + Protocol_Version() : m_version(0) {} + + explicit Protocol_Version(uint16_t code) : m_version(code) {} + + /** + * @param named_version a specific named version of the protocol + */ + Protocol_Version(Version_Code named_version) : + Protocol_Version(static_cast(named_version)) {} + + /** + * @param major the major version + * @param minor the minor version + */ + Protocol_Version(uint8_t major, uint8_t minor) : + Protocol_Version(static_cast((static_cast(major) << 8) | minor)) {} + + /** + * @return true if this is a valid protocol version + */ + bool valid() const { return (m_version != 0); } + + /** + * @return true if this is a protocol version we know about + */ + bool known_version() const; + + /** + * @return major version of the protocol version + */ + uint8_t major_version() const { return static_cast(m_version >> 8); } + + /** + * @return minor version of the protocol version + */ + uint8_t minor_version() const { return static_cast(m_version & 0xFF); } + + /** + * @return the version code + */ + uint16_t version_code() const { return m_version; } + + /** + * @return human-readable description of this version + */ + std::string to_string() const; + + /** + * @return true iff this is a DTLS version + */ + bool is_datagram_protocol() const; + + /** + * @return true if this version supports negotiable signature algorithms + */ + bool supports_negotiable_signature_algorithms() const; + + /** + * @return true if this version uses explicit IVs for block ciphers + */ + bool supports_explicit_cbc_ivs() const; + + /** + * @return true if this version uses a ciphersuite specific PRF + */ + bool supports_ciphersuite_specific_prf() const; + + bool supports_aead_modes() const; + + /** + * @return if this version is equal to other + */ + bool operator==(const Protocol_Version& other) const + { + return (m_version == other.m_version); + } + + /** + * @return if this version is not equal to other + */ + bool operator!=(const Protocol_Version& other) const + { + return (m_version != other.m_version); + } + + /** + * @return if this version is later than other + */ + bool operator>(const Protocol_Version& other) const; + + /** + * @return if this version is later than or equal to other + */ + bool operator>=(const Protocol_Version& other) const + { + return (*this == other || *this > other); + } + + private: + uint16_t m_version; + }; + +} + +} + +#endif + diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/totp.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/totp.h new file mode 100644 index 00000000..a5a08319 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/totp.h @@ -0,0 +1,13 @@ +/* +* (C) 2017 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TOTP_H_ +#define BOTAN_TOTP_H_ + +#include +BOTAN_DEPRECATED_HEADER(totp.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tss.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tss.h new file mode 100644 index 00000000..89848c43 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/tss.h @@ -0,0 +1,104 @@ +/* +* RTSS (threshold secret sharing) +* (C) 2009,2018 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_RTSS_H_ +#define BOTAN_RTSS_H_ + +#include +#include +#include + +namespace Botan { + +class RandomNumberGenerator; + +/** +* A split secret, using the format from draft-mcgrew-tss-03 +*/ +class BOTAN_PUBLIC_API(2,0) RTSS_Share final + { + public: + /** + * @param M the number of shares needed to reconstruct + * @param N the number of shares generated + * @param secret the secret to split + * @param secret_len the length of the secret + * @param identifier the 16 byte share identifier + * @param rng the random number generator to use + */ + static std::vector + split(uint8_t M, uint8_t N, + const uint8_t secret[], uint16_t secret_len, + const uint8_t identifier[16], + RandomNumberGenerator& rng); + + /** + * @param M the number of shares needed to reconstruct + * @param N the number of shares generated + * @param secret the secret to split + * @param secret_len the length of the secret + * @param identifier the share identifier + * @param hash_fn the hash function to use for a checksum ("None", "SHA-1", "SHA-256") + * @param rng the random number generator to use + */ + static std::vector + split(uint8_t M, uint8_t N, + const uint8_t secret[], uint16_t secret_len, + const std::vector& identifier, + const std::string& hash_fn, + RandomNumberGenerator& rng); + + /** + * @param shares the list of shares + */ + static secure_vector + reconstruct(const std::vector& shares); + + RTSS_Share() = default; + + /** + * @param hex_input the share encoded in hexadecimal + */ + explicit RTSS_Share(const std::string& hex_input); + + /** + * @param data the shared data + * @param len the length of data + */ + RTSS_Share(const uint8_t data[], size_t len); + + /** + * @return binary representation + */ + const secure_vector& data() const { return m_contents; } + + /** + * @return hex representation + */ + std::string to_string() const; + + /** + * @return share identifier + */ + uint8_t share_id() const; + + /** + * @return size of this share in bytes + */ + size_t size() const { return m_contents.size(); } + + /** + * @return if this TSS share was initialized or not + */ + bool initialized() const { return (m_contents.size() > 0); } + private: + secure_vector m_contents; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/twofish.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/twofish.h new file mode 100644 index 00000000..027e2c70 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/twofish.h @@ -0,0 +1,47 @@ +/* +* Twofish +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TWOFISH_H_ +#define BOTAN_TWOFISH_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(twofish.h) + +namespace Botan { + +/** +* Twofish, an AES finalist +*/ +class BOTAN_PUBLIC_API(2,0) Twofish final : public Block_Cipher_Fixed_Params<16, 16, 32, 8> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "Twofish"; } + BlockCipher* clone() const override { return new Twofish; } + private: + void key_schedule(const uint8_t[], size_t) override; + + static const uint32_t MDS0[256]; + static const uint32_t MDS1[256]; + static const uint32_t MDS2[256]; + static const uint32_t MDS3[256]; + static const uint8_t Q0[256]; + static const uint8_t Q1[256]; + static const uint8_t RS[32]; + static const uint8_t EXP_TO_POLY[255]; + static const uint8_t POLY_TO_EXP[255]; + + secure_vector m_SB, m_RK; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/types.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/types.h new file mode 100644 index 00000000..549163aa --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/types.h @@ -0,0 +1,112 @@ +/* +* Low Level Types +* (C) 1999-2007 Jack Lloyd +* (C) 2015 Simon Warta (Kullo GmbH) +* (C) 2016 René Korthaus, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_TYPES_H_ +#define BOTAN_TYPES_H_ + +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export + +namespace Botan { + +/** +* @mainpage Botan Crypto Library API Reference +* +*
+*
Abstract Base Classes
+* BlockCipher, HashFunction, KDF, MessageAuthenticationCode, RandomNumberGenerator, +* StreamCipher, SymmetricAlgorithm, AEAD_Mode, Cipher_Mode +*
Public Key Interface Classes
+* PK_Key_Agreement, PK_Signer, PK_Verifier, PK_Encryptor, PK_Decryptor +*
Authenticated Encryption Modes
+* @ref CCM_Mode "CCM", @ref ChaCha20Poly1305_Mode "ChaCha20Poly1305", @ref EAX_Mode "EAX", +* @ref GCM_Mode "GCM", @ref OCB_Mode "OCB", @ref SIV_Mode "SIV" +*
Block Ciphers
+* @ref aria.h "ARIA", @ref aes.h "AES", @ref Blowfish, @ref camellia.h "Camellia", @ref Cascade_Cipher "Cascade", +* @ref CAST_128 "CAST-128", @ref CAST_128 "CAST-256", DES, @ref DESX "DES-X", @ref TripleDES "3DES", +* @ref GOST_28147_89 "GOST 28147-89", IDEA, KASUMI, Lion, MISTY1, Noekeon, SEED, Serpent, SHACAL2, SM4, +* @ref Threefish_512 "Threefish", Twofish, XTEA +*
Stream Ciphers
+* ChaCha, @ref CTR_BE "CTR", OFB, RC4, Salsa20 +*
Hash Functions
+* BLAKE2b, @ref GOST_34_11 "GOST 34.11", @ref Keccak_1600 "Keccak", MD4, MD5, @ref RIPEMD_160 "RIPEMD-160", +* @ref SHA_160 "SHA-1", @ref SHA_224 "SHA-224", @ref SHA_256 "SHA-256", @ref SHA_384 "SHA-384", +* @ref SHA_512 "SHA-512", @ref Skein_512 "Skein-512", SM3, Streebog, Tiger, Whirlpool +*
Non-Cryptographic Checksums
+* Adler32, CRC24, CRC32 +*
Message Authentication Codes
+* @ref CBC_MAC "CBC-MAC", CMAC, HMAC, Poly1305, SipHash, ANSI_X919_MAC +*
Random Number Generators
+* AutoSeeded_RNG, HMAC_DRBG, Processor_RNG, System_RNG +*
Key Derivation
+* HKDF, @ref KDF1 "KDF1 (IEEE 1363)", @ref KDF1_18033 "KDF1 (ISO 18033-2)", @ref KDF2 "KDF2 (IEEE 1363)", +* @ref sp800_108.h "SP800-108", @ref SP800_56C "SP800-56C", @ref PKCS5_PBKDF1 "PBKDF1 (PKCS#5), +* @ref PKCS5_PBKDF2 "PBKDF2 (PKCS#5)" +*
Password Hashing
+* @ref argon2.h "Argon2", @ref scrypt.h "scrypt", @ref bcrypt.h "bcrypt", @ref passhash9.h "passhash9" +*
Public Key Cryptosystems
+* @ref dlies.h "DLIES", @ref ecies.h "ECIES", @ref elgamal.h "ElGamal" +* @ref rsa.h "RSA", @ref newhope.h "NewHope", @ref mceliece.h "McEliece" and @ref mceies.h "MCEIES", +* @ref sm2.h "SM2" +*
Public Key Signature Schemes
+* @ref dsa.h "DSA", @ref ecdsa.h "ECDSA", @ref ecgdsa.h "ECGDSA", @ref eckcdsa.h "ECKCDSA", +* @ref gost_3410.h "GOST 34.10-2001", @ref sm2.h "SM2", @ref xmss.h "XMSS" +*
Key Agreement
+* @ref dh.h "DH", @ref ecdh.h "ECDH" +*
Compression
+* @ref bzip2.h "bzip2", @ref lzma.h "lzma", @ref zlib.h "zlib" +*
TLS
+* TLS::Client, TLS::Server, TLS::Policy, TLS::Protocol_Version, TLS::Callbacks, TLS::Ciphersuite, +* TLS::Session, TLS::Session_Manager, Credentials_Manager +*
X.509
+* X509_Certificate, X509_CRL, X509_CA, Certificate_Extension, PKCS10_Request, X509_Cert_Options, +* Certificate_Store, Certificate_Store_In_SQL, Certificate_Store_In_SQLite +*
+*/ + +using std::uint8_t; +using std::uint16_t; +using std::uint32_t; +using std::uint64_t; +using std::int32_t; +using std::int64_t; +using std::size_t; + +/* +* These typedefs are no longer used within the library headers +* or code. They are kept only for compatability with software +* written against older versions. +*/ +using byte = std::uint8_t; +using u16bit = std::uint16_t; +using u32bit = std::uint32_t; +using u64bit = std::uint64_t; +using s32bit = std::int32_t; + +#if (BOTAN_MP_WORD_BITS == 32) + typedef uint32_t word; +#elif (BOTAN_MP_WORD_BITS == 64) + typedef uint64_t word; +#else + #error BOTAN_MP_WORD_BITS must be 32 or 64 +#endif + +/* +* Should this assert fail on your system please contact the developers +* for assistance in porting. +*/ +static_assert(sizeof(std::size_t) == 8 || sizeof(std::size_t) == 4, + "This platform has an unexpected size for size_t"); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/uuid.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/uuid.h new file mode 100644 index 00000000..8f95f4d6 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/uuid.h @@ -0,0 +1,69 @@ +/* +* UUID type +* (C) 2015,2018 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_UUID_H_ +#define BOTAN_UUID_H_ + +#include +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(uuid.h) + +namespace Botan { + +class RandomNumberGenerator; + +class BOTAN_UNSTABLE_API UUID final + { + public: + /** + * Create an uninitialized UUID object + */ + UUID() : m_uuid() {} + + /** + * Create a random UUID + */ + UUID(RandomNumberGenerator& rng); + + /** + * Load a UUID from a 16 byte vector + */ + UUID(const std::vector& blob); + + UUID& operator=(const UUID& other) = default; + UUID(const UUID& other) = default; + + /** + * Decode a UUID string + */ + UUID(const std::string& uuid_str); + + /** + * Convert the UUID to a string + */ + std::string to_string() const; + + const std::vector& binary_value() const { return m_uuid; } + + bool operator==(const UUID& other) const + { + return m_uuid == other.m_uuid; + } + + bool operator!=(const UUID& other) const { return !(*this == other); } + + bool is_valid() const { return m_uuid.size() == 16; } + + private: + std::vector m_uuid; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/version.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/version.h new file mode 100644 index 00000000..fe59de62 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/version.h @@ -0,0 +1,101 @@ +/* +* Version Information +* (C) 1999-2011,2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_VERSION_H_ +#define BOTAN_VERSION_H_ + +#include +#include + +namespace Botan { + +/* +* Get information describing the version +*/ + +/** +* Get a human-readable string identifying the version of Botan. +* No particular format should be assumed. +* @return version string +*/ +BOTAN_PUBLIC_API(2,0) std::string version_string(); + +/** +* Same as version_string() except returning a pointer to a statically +* allocated string. +* @return version string +*/ +BOTAN_PUBLIC_API(2,0) const char* version_cstr(); + +/** +* Return a version string of the form "MAJOR.MINOR.PATCH" where +* each of the values is an integer. +*/ +BOTAN_PUBLIC_API(2,4) std::string short_version_string(); + +/** +* Same as version_short_string except returning a pointer to the string. +*/ +BOTAN_PUBLIC_API(2,4) const char* short_version_cstr(); + +/** +* Return the date this version of botan was released, in an integer of +* the form YYYYMMDD. For instance a version released on May 21, 2013 +* would return the integer 20130521. If the currently running version +* is not an official release, this function will return 0 instead. +* +* @return release date, or zero if unreleased +*/ +BOTAN_PUBLIC_API(2,0) uint32_t version_datestamp(); + +/** +* Get the major version number. +* @return major version number +*/ +BOTAN_PUBLIC_API(2,0) uint32_t version_major(); + +/** +* Get the minor version number. +* @return minor version number +*/ +BOTAN_PUBLIC_API(2,0) uint32_t version_minor(); + +/** +* Get the patch number. +* @return patch number +*/ +BOTAN_PUBLIC_API(2,0) uint32_t version_patch(); + +/** +* Usable for checking that the DLL version loaded at runtime exactly +* matches the compile-time version. Call using BOTAN_VERSION_* macro +* values. Returns the empty string if an exact match, otherwise an +* appropriate message. Added with 1.11.26. +*/ +BOTAN_PUBLIC_API(2,0) std::string +runtime_version_check(uint32_t major, + uint32_t minor, + uint32_t patch); + +/* +* Macros for compile-time version checks +*/ +#define BOTAN_VERSION_CODE_FOR(a,b,c) ((a << 16) | (b << 8) | (c)) + +/** +* Compare using BOTAN_VERSION_CODE_FOR, as in +* # if BOTAN_VERSION_CODE < BOTAN_VERSION_CODE_FOR(1,8,0) +* # error "Botan version too old" +* # endif +*/ +#define BOTAN_VERSION_CODE BOTAN_VERSION_CODE_FOR(BOTAN_VERSION_MAJOR, \ + BOTAN_VERSION_MINOR, \ + BOTAN_VERSION_PATCH) + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/whrlpool.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/whrlpool.h new file mode 100644 index 00000000..26ee7f77 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/whrlpool.h @@ -0,0 +1,50 @@ +/* +* Whirlpool +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_WHIRLPOOL_H_ +#define BOTAN_WHIRLPOOL_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(whrlpool.h) + +namespace Botan { + +/** +* Whirlpool +*/ +class BOTAN_PUBLIC_API(2,0) Whirlpool final : public MDx_HashFunction + { + public: + std::string name() const override { return "Whirlpool"; } + size_t output_length() const override { return 64; } + HashFunction* clone() const override { return new Whirlpool; } + std::unique_ptr copy_state() const override; + + void clear() override; + + Whirlpool() : MDx_HashFunction(64, true, true, 32), m_M(8), m_digest(8) + { clear(); } + private: + void compress_n(const uint8_t[], size_t blocks) override; + void copy_out(uint8_t[]) override; + + static const uint64_t C0[256]; + static const uint64_t C1[256]; + static const uint64_t C2[256]; + static const uint64_t C3[256]; + static const uint64_t C4[256]; + static const uint64_t C5[256]; + static const uint64_t C6[256]; + static const uint64_t C7[256]; + + secure_vector m_M, m_digest; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/workfactor.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/workfactor.h new file mode 100644 index 00000000..2c8c8764 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/workfactor.h @@ -0,0 +1,51 @@ +/* +* Public Key Work Factor Functions +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_WORKFACTOR_H_ +#define BOTAN_WORKFACTOR_H_ + +#include +BOTAN_FUTURE_INTERNAL_HEADER(workfactor.h) + +namespace Botan { + +/** +* Estimate work factor for discrete logarithm +* @param prime_group_size size of the group in bits +* @return estimated security level for this group +*/ +BOTAN_PUBLIC_API(2,0) size_t dl_work_factor(size_t prime_group_size); + +/** +* Return the appropriate exponent size to use for a particular prime +* group. This is twice the size of the estimated cost of breaking the +* key using an index calculus attack; the assumption is that if an +* arbitrary discrete log on a group of size bits would take about 2^n +* effort, and thus using an exponent of size 2^(2*n) implies that all +* available attacks are about as easy (as e.g Pollard's kangaroo +* algorithm can compute the DL in sqrt(x) operations) while minimizing +* the exponent size for performance reasons. +*/ +BOTAN_PUBLIC_API(2,0) size_t dl_exponent_size(size_t prime_group_size); + +/** +* Estimate work factor for integer factorization +* @param n_bits size of modulus in bits +* @return estimated security level for this modulus +*/ +BOTAN_PUBLIC_API(2,0) size_t if_work_factor(size_t n_bits); + +/** +* Estimate work factor for EC discrete logarithm +* @param prime_group_size size of the group in bits +* @return estimated security level for this group +*/ +BOTAN_PUBLIC_API(2,0) size_t ecp_work_factor(size_t prime_group_size); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_ca.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_ca.h new file mode 100644 index 00000000..20e9b1bc --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_ca.h @@ -0,0 +1,261 @@ +/* +* X.509 Certificate Authority +* (C) 1999-2008 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_X509_CA_H_ +#define BOTAN_X509_CA_H_ + +#include +#include +#include +#include + +#if defined(BOTAN_HAS_SYSTEM_RNG) + #include +#endif + +namespace Botan { + +class BigInt; +class Private_Key; +class PKCS10_Request; +class PK_Signer; + +/** +* This class represents X.509 Certificate Authorities (CAs). +*/ +class BOTAN_PUBLIC_API(2,0) X509_CA final + { + public: + /** + * Sign a PKCS#10 Request. + * @param req the request to sign + * @param rng the rng to use + * @param not_before the starting time for the certificate + * @param not_after the expiration time for the certificate + * @return resulting certificate + */ + X509_Certificate sign_request(const PKCS10_Request& req, + RandomNumberGenerator& rng, + const X509_Time& not_before, + const X509_Time& not_after) const; + + /** + * Sign a PKCS#10 Request. + * @param req the request to sign + * @param rng the rng to use + * @param serial_number the serial number the cert will be assigned. + * @param not_before the starting time for the certificate + * @param not_after the expiration time for the certificate + * @return resulting certificate + */ + X509_Certificate sign_request(const PKCS10_Request& req, + RandomNumberGenerator& rng, + const BigInt& serial_number, + const X509_Time& not_before, + const X509_Time& not_after) const; + + /** + * Get the certificate of this CA. + * @return CA certificate + */ + X509_Certificate ca_certificate() const; + + /** + * Create a new and empty CRL for this CA. + * @param rng the random number generator to use + * @param issue_time the issue time (typically system_clock::now) + * @param next_update the time interval after issue_data within which + * a new CRL will be produced. + * @return new CRL + */ + X509_CRL new_crl(RandomNumberGenerator& rng, + std::chrono::system_clock::time_point issue_time, + std::chrono::seconds next_update) const; + + /** + * Create a new CRL by with additional entries. + * @param last_crl the last CRL of this CA to add the new entries to + * @param new_entries contains the new CRL entries to be added to the CRL + * @param rng the random number generator to use + * @param issue_time the issue time (typically system_clock::now) + * @param next_update the time interval after issue_data within which + * a new CRL will be produced. + */ + X509_CRL update_crl(const X509_CRL& last_crl, + const std::vector& new_entries, + RandomNumberGenerator& rng, + std::chrono::system_clock::time_point issue_time, + std::chrono::seconds next_update) const; + + /** + * Create a new and empty CRL for this CA. + * @param rng the random number generator to use + * @param next_update the time to set in next update in seconds + * as the offset from the current time + * @return new CRL + */ + X509_CRL new_crl(RandomNumberGenerator& rng, + uint32_t next_update = 604800) const; + + /** + * Create a new CRL by with additional entries. + * @param last_crl the last CRL of this CA to add the new entries to + * @param new_entries contains the new CRL entries to be added to the CRL + * @param rng the random number generator to use + * @param next_update the time to set in next update in seconds + * as the offset from the current time + */ + X509_CRL update_crl(const X509_CRL& last_crl, + const std::vector& new_entries, + RandomNumberGenerator& rng, + uint32_t next_update = 604800) const; + + /** + * Interface for creating new certificates + * @param signer a signing object + * @param rng a random number generator + * @param sig_algo the signature algorithm identifier + * @param pub_key the serialized public key + * @param not_before the start time of the certificate + * @param not_after the end time of the certificate + * @param issuer_dn the DN of the issuer + * @param subject_dn the DN of the subject + * @param extensions an optional list of certificate extensions + * @returns newly minted certificate + */ + static X509_Certificate make_cert(PK_Signer* signer, + RandomNumberGenerator& rng, + const AlgorithmIdentifier& sig_algo, + const std::vector& pub_key, + const X509_Time& not_before, + const X509_Time& not_after, + const X509_DN& issuer_dn, + const X509_DN& subject_dn, + const Extensions& extensions); + + /** + * Interface for creating new certificates + * @param signer a signing object + * @param rng a random number generator + * @param serial_number the serial number the cert will be assigned + * @param sig_algo the signature algorithm identifier + * @param pub_key the serialized public key + * @param not_before the start time of the certificate + * @param not_after the end time of the certificate + * @param issuer_dn the DN of the issuer + * @param subject_dn the DN of the subject + * @param extensions an optional list of certificate extensions + * @returns newly minted certificate + */ + static X509_Certificate make_cert(PK_Signer* signer, + RandomNumberGenerator& rng, + const BigInt& serial_number, + const AlgorithmIdentifier& sig_algo, + const std::vector& pub_key, + const X509_Time& not_before, + const X509_Time& not_after, + const X509_DN& issuer_dn, + const X509_DN& subject_dn, + const Extensions& extensions); + + /** + * Create a new CA object. + * @param ca_certificate the certificate of the CA + * @param key the private key of the CA + * @param hash_fn name of a hash function to use for signing + * @param rng the random generator to use + */ + X509_CA(const X509_Certificate& ca_certificate, + const Private_Key& key, + const std::string& hash_fn, + RandomNumberGenerator& rng); + + /** + * Create a new CA object. + * @param ca_certificate the certificate of the CA + * @param key the private key of the CA + * @param opts additional options, e.g. padding, as key value pairs + * @param hash_fn name of a hash function to use for signing + * @param rng the random generator to use + */ + X509_CA(const X509_Certificate& ca_certificate, + const Private_Key& key, + const std::map& opts, + const std::string& hash_fn, + RandomNumberGenerator& rng); + +#if defined(BOTAN_HAS_SYSTEM_RNG) + BOTAN_DEPRECATED("Use version taking RNG object") + X509_CA(const X509_Certificate& ca_certificate, + const Private_Key& key, + const std::string& hash_fn) : + X509_CA(ca_certificate, key, hash_fn, system_rng()) + {} +#endif + + X509_CA(const X509_CA&) = delete; + X509_CA& operator=(const X509_CA&) = delete; + + X509_CA(X509_CA&&) = default; + X509_CA& operator=(X509_CA&&) = default; + + ~X509_CA(); + + private: + X509_CRL make_crl(const std::vector& entries, + uint32_t crl_number, + RandomNumberGenerator& rng, + std::chrono::system_clock::time_point issue_time, + std::chrono::seconds next_update) const; + + AlgorithmIdentifier m_ca_sig_algo; + X509_Certificate m_ca_cert; + std::string m_hash_fn; + std::unique_ptr m_signer; + }; + +/** +* Choose the default signature format for a certain public key signature +* scheme. +* @param key will be the key to choose a padding scheme for +* @param rng the random generator to use +* @param hash_fn is the desired hash function +* @param alg_id will be set to the chosen scheme +* @return A PK_Signer object for generating signatures +*/ +BOTAN_PUBLIC_API(2,0) PK_Signer* choose_sig_format(const Private_Key& key, + RandomNumberGenerator& rng, + const std::string& hash_fn, + AlgorithmIdentifier& alg_id); + +/** +* @verbatim +* Choose the default signature format for a certain public key signature +* scheme. +* +* The only option recognized by opts at this moment is "padding" +* Find an entry from src/build-data/oids.txt under [signature] of the form +* /[()] and add {"padding",} +* to opts. +* @endverbatim +* +* @param key will be the key to choose a padding scheme for +* @param opts contains additional options for building the certificate +* @param rng the random generator to use +* @param hash_fn is the desired hash function +* @param alg_id will be set to the chosen scheme +* @return A PK_Signer object for generating signatures +*/ +PK_Signer* choose_sig_format(const Private_Key& key, + const std::map& opts, + RandomNumberGenerator& rng, + const std::string& hash_fn, + AlgorithmIdentifier& alg_id); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_crl.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_crl.h new file mode 100644 index 00000000..6d4a301a --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_crl.h @@ -0,0 +1,209 @@ +/* +* X.509 CRL +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_X509_CRL_H_ +#define BOTAN_X509_CRL_H_ + +#include +#include +#include +#include + +namespace Botan { + +class Extensions; +class X509_Certificate; +class X509_DN; + +struct CRL_Entry_Data; +struct CRL_Data; + +/** +* This class represents CRL entries +*/ +class BOTAN_PUBLIC_API(2,0) CRL_Entry final : public ASN1_Object + { + public: + void encode_into(class DER_Encoder&) const override; + void decode_from(class BER_Decoder&) override; + + /** + * Get the serial number of the certificate associated with this entry. + * @return certificate's serial number + */ + const std::vector& serial_number() const; + + /** + * Get the revocation date of the certificate associated with this entry + * @return certificate's revocation date + */ + const X509_Time& expire_time() const; + + /** + * Get the entries reason code + * @return reason code + */ + CRL_Code reason_code() const; + + /** + * Get the extensions on this CRL entry + */ + const Extensions& extensions() const; + + /** + * Create uninitialized CRL_Entry object + */ + CRL_Entry() = default; + + /** + * Construct an CRL entry. + * @param cert the certificate to revoke + * @param reason the reason code to set in the entry + */ + CRL_Entry(const X509_Certificate& cert, + CRL_Code reason = UNSPECIFIED); + + private: + friend class X509_CRL; + + const CRL_Entry_Data& data() const; + + std::shared_ptr m_data; + }; + +/** +* Test two CRL entries for equality in all fields. +*/ +BOTAN_PUBLIC_API(2,0) bool operator==(const CRL_Entry&, const CRL_Entry&); + +/** +* Test two CRL entries for inequality in at least one field. +*/ +BOTAN_PUBLIC_API(2,0) bool operator!=(const CRL_Entry&, const CRL_Entry&); + +/** +* This class represents X.509 Certificate Revocation Lists (CRLs). +*/ +class BOTAN_PUBLIC_API(2,0) X509_CRL final : public X509_Object + { + public: + /** + * This class represents CRL related errors. + * + * In a future major release this exception type will be removed and + * replaced with Decoding_Error + */ + class BOTAN_PUBLIC_API(2,0) X509_CRL_Error final : public Decoding_Error + { + public: + explicit X509_CRL_Error(const std::string& error) : + Decoding_Error("X509_CRL: " + error) {} + }; + + /** + * Check if this particular certificate is listed in the CRL + */ + bool is_revoked(const X509_Certificate& cert) const; + + /** + * Get the entries of this CRL in the form of a vector. + * @return vector containing the entries of this CRL. + */ + const std::vector& get_revoked() const; + + /** + * Get the issuer DN of this CRL. + * @return CRLs issuer DN + */ + const X509_DN& issuer_dn() const; + + /** + * @return extension data for this CRL + */ + const Extensions& extensions() const; + + /** + * Get the AuthorityKeyIdentifier of this CRL. + * @return this CRLs AuthorityKeyIdentifier + */ + const std::vector& authority_key_id() const; + + /** + * Get the serial number of this CRL. + * @return CRLs serial number + */ + uint32_t crl_number() const; + + /** + * Get the CRL's thisUpdate value. + * @return CRLs thisUpdate + */ + const X509_Time& this_update() const; + + /** + * Get the CRL's nextUpdate value. + * @return CRLs nextdUpdate + */ + const X509_Time& next_update() const; + + /** + * Get the CRL's distribution point + * @return CRL.IssuingDistributionPoint from the CRL's Data_Store + */ + std::string crl_issuing_distribution_point() const; + + /** + * Create an uninitialized CRL object. Any attempts to access + * this object will throw an exception. + */ + X509_CRL() = default; + + /** + * Construct a CRL from a data source. + * @param source the data source providing the DER or PEM encoded CRL. + */ + X509_CRL(DataSource& source); + +#if defined(BOTAN_TARGET_OS_HAS_FILESYSTEM) + /** + * Construct a CRL from a file containing the DER or PEM encoded CRL. + * @param filename the name of the CRL file + */ + X509_CRL(const std::string& filename); +#endif + + /** + * Construct a CRL from a binary vector + * @param vec the binary (DER) representation of the CRL + */ + X509_CRL(const std::vector& vec); + + /** + * Construct a CRL + * @param issuer issuer of this CRL + * @param thisUpdate valid from + * @param nextUpdate valid until + * @param revoked entries to be included in the CRL + */ + X509_CRL(const X509_DN& issuer, const X509_Time& thisUpdate, + const X509_Time& nextUpdate, const std::vector& revoked); + + private: + std::string PEM_label() const override; + + std::vector alternate_PEM_labels() const override; + + void force_decode() override; + + const CRL_Data& data() const; + + std::shared_ptr m_data; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_dn.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_dn.h new file mode 100644 index 00000000..cd7beebe --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_dn.h @@ -0,0 +1,11 @@ +/* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_X509_DN_H_ +#define BOTAN_X509_DN_H_ + +#include +BOTAN_DEPRECATED_HEADER(x509_dn.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_ext.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_ext.h new file mode 100644 index 00000000..cb6e064c --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_ext.h @@ -0,0 +1,529 @@ +/* +* X.509 Certificate Extensions +* (C) 1999-2007,2012 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_X509_EXTENSIONS_H_ +#define BOTAN_X509_EXTENSIONS_H_ + +#include +#include + +namespace Botan { + +class Data_Store; +class X509_Certificate; + +namespace Cert_Extension { + +static const size_t NO_CERT_PATH_LIMIT = 0xFFFFFFF0; + +/** +* Basic Constraints Extension +*/ +class BOTAN_PUBLIC_API(2,0) Basic_Constraints final : public Certificate_Extension + { + public: + Basic_Constraints* copy() const override + { return new Basic_Constraints(m_is_ca, m_path_limit); } + + Basic_Constraints(bool ca = false, size_t limit = 0) : + m_is_ca(ca), m_path_limit(limit) {} + + bool get_is_ca() const { return m_is_ca; } + size_t get_path_limit() const; + + static OID static_oid() { return OID("2.5.29.19"); } + OID oid_of() const override { return static_oid(); } + + private: + std::string oid_name() const override + { return "X509v3.BasicConstraints"; } + + std::vector encode_inner() const override; + void decode_inner(const std::vector&) override; + void contents_to(Data_Store&, Data_Store&) const override; + + bool m_is_ca; + size_t m_path_limit; + }; + +/** +* Key Usage Constraints Extension +*/ +class BOTAN_PUBLIC_API(2,0) Key_Usage final : public Certificate_Extension + { + public: + Key_Usage* copy() const override { return new Key_Usage(m_constraints); } + + explicit Key_Usage(Key_Constraints c = NO_CONSTRAINTS) : m_constraints(c) {} + + Key_Constraints get_constraints() const { return m_constraints; } + + static OID static_oid() { return OID("2.5.29.15"); } + OID oid_of() const override { return static_oid(); } + + private: + std::string oid_name() const override { return "X509v3.KeyUsage"; } + + bool should_encode() const override + { return (m_constraints != NO_CONSTRAINTS); } + std::vector encode_inner() const override; + void decode_inner(const std::vector&) override; + void contents_to(Data_Store&, Data_Store&) const override; + + Key_Constraints m_constraints; + }; + +/** +* Subject Key Identifier Extension +*/ +class BOTAN_PUBLIC_API(2,0) Subject_Key_ID final : public Certificate_Extension + { + public: + Subject_Key_ID() = default; + + explicit Subject_Key_ID(const std::vector& k) : m_key_id(k) {} + + Subject_Key_ID(const std::vector& public_key, + const std::string& hash_fn); + + Subject_Key_ID* copy() const override + { return new Subject_Key_ID(m_key_id); } + + const std::vector& get_key_id() const { return m_key_id; } + + static OID static_oid() { return OID("2.5.29.14"); } + OID oid_of() const override { return static_oid(); } + + private: + + std::string oid_name() const override + { return "X509v3.SubjectKeyIdentifier"; } + + bool should_encode() const override { return (m_key_id.size() > 0); } + std::vector encode_inner() const override; + void decode_inner(const std::vector&) override; + void contents_to(Data_Store&, Data_Store&) const override; + + std::vector m_key_id; + }; + +/** +* Authority Key Identifier Extension +*/ +class BOTAN_PUBLIC_API(2,0) Authority_Key_ID final : public Certificate_Extension + { + public: + Authority_Key_ID* copy() const override + { return new Authority_Key_ID(m_key_id); } + + Authority_Key_ID() = default; + explicit Authority_Key_ID(const std::vector& k) : m_key_id(k) {} + + const std::vector& get_key_id() const { return m_key_id; } + + static OID static_oid() { return OID("2.5.29.35"); } + OID oid_of() const override { return static_oid(); } + + private: + std::string oid_name() const override + { return "X509v3.AuthorityKeyIdentifier"; } + + bool should_encode() const override { return (m_key_id.size() > 0); } + std::vector encode_inner() const override; + void decode_inner(const std::vector&) override; + void contents_to(Data_Store&, Data_Store&) const override; + + std::vector m_key_id; + }; + +/** +* Subject Alternative Name Extension +*/ +class BOTAN_PUBLIC_API(2,4) Subject_Alternative_Name final : public Certificate_Extension + { + public: + const AlternativeName& get_alt_name() const { return m_alt_name; } + + static OID static_oid() { return OID("2.5.29.17"); } + OID oid_of() const override { return static_oid(); } + + Subject_Alternative_Name* copy() const override + { return new Subject_Alternative_Name(get_alt_name()); } + + explicit Subject_Alternative_Name(const AlternativeName& name = AlternativeName()) : + m_alt_name(name) {} + + private: + std::string oid_name() const override { return "X509v3.SubjectAlternativeName"; } + + bool should_encode() const override { return m_alt_name.has_items(); } + std::vector encode_inner() const override; + void decode_inner(const std::vector&) override; + void contents_to(Data_Store&, Data_Store&) const override; + + AlternativeName m_alt_name; + }; + +/** +* Issuer Alternative Name Extension +*/ +class BOTAN_PUBLIC_API(2,0) Issuer_Alternative_Name final : public Certificate_Extension + { + public: + const AlternativeName& get_alt_name() const { return m_alt_name; } + + static OID static_oid() { return OID("2.5.29.18"); } + OID oid_of() const override { return static_oid(); } + + Issuer_Alternative_Name* copy() const override + { return new Issuer_Alternative_Name(get_alt_name()); } + + explicit Issuer_Alternative_Name(const AlternativeName& name = AlternativeName()) : + m_alt_name(name) {} + + private: + std::string oid_name() const override { return "X509v3.IssuerAlternativeName"; } + + bool should_encode() const override { return m_alt_name.has_items(); } + std::vector encode_inner() const override; + void decode_inner(const std::vector&) override; + void contents_to(Data_Store&, Data_Store&) const override; + + AlternativeName m_alt_name; + }; + +/** +* Extended Key Usage Extension +*/ +class BOTAN_PUBLIC_API(2,0) Extended_Key_Usage final : public Certificate_Extension + { + public: + Extended_Key_Usage* copy() const override + { return new Extended_Key_Usage(m_oids); } + + Extended_Key_Usage() = default; + explicit Extended_Key_Usage(const std::vector& o) : m_oids(o) {} + + const std::vector& get_oids() const { return m_oids; } + + static OID static_oid() { return OID("2.5.29.37"); } + OID oid_of() const override { return static_oid(); } + + private: + std::string oid_name() const override { return "X509v3.ExtendedKeyUsage"; } + + bool should_encode() const override { return (m_oids.size() > 0); } + std::vector encode_inner() const override; + void decode_inner(const std::vector&) override; + void contents_to(Data_Store&, Data_Store&) const override; + + std::vector m_oids; + }; + +/** +* Name Constraints +*/ +class BOTAN_PUBLIC_API(2,0) Name_Constraints final : public Certificate_Extension + { + public: + Name_Constraints* copy() const override + { return new Name_Constraints(m_name_constraints); } + + Name_Constraints() = default; + Name_Constraints(const NameConstraints &nc) : m_name_constraints(nc) {} + + void validate(const X509_Certificate& subject, const X509_Certificate& issuer, + const std::vector>& cert_path, + std::vector>& cert_status, + size_t pos) override; + + const NameConstraints& get_name_constraints() const { return m_name_constraints; } + + static OID static_oid() { return OID("2.5.29.30"); } + OID oid_of() const override { return static_oid(); } + + private: + std::string oid_name() const override + { return "X509v3.NameConstraints"; } + + bool should_encode() const override { return true; } + std::vector encode_inner() const override; + void decode_inner(const std::vector&) override; + void contents_to(Data_Store&, Data_Store&) const override; + + NameConstraints m_name_constraints; + }; + +/** +* Certificate Policies Extension +*/ +class BOTAN_PUBLIC_API(2,0) Certificate_Policies final : public Certificate_Extension + { + public: + Certificate_Policies* copy() const override + { return new Certificate_Policies(m_oids); } + + Certificate_Policies() = default; + explicit Certificate_Policies(const std::vector& o) : m_oids(o) {} + + BOTAN_DEPRECATED("Use get_policy_oids") + std::vector get_oids() const { return m_oids; } + + const std::vector& get_policy_oids() const { return m_oids; } + + static OID static_oid() { return OID("2.5.29.32"); } + OID oid_of() const override { return static_oid(); } + + void validate(const X509_Certificate& subject, const X509_Certificate& issuer, + const std::vector>& cert_path, + std::vector>& cert_status, + size_t pos) override; + private: + std::string oid_name() const override + { return "X509v3.CertificatePolicies"; } + + bool should_encode() const override { return (m_oids.size() > 0); } + std::vector encode_inner() const override; + void decode_inner(const std::vector&) override; + void contents_to(Data_Store&, Data_Store&) const override; + + std::vector m_oids; + }; + +/** +* Authority Information Access Extension +*/ +class BOTAN_PUBLIC_API(2,0) Authority_Information_Access final : public Certificate_Extension + { + public: + Authority_Information_Access* copy() const override + { return new Authority_Information_Access(m_ocsp_responder, m_ca_issuers); } + + Authority_Information_Access() = default; + + explicit Authority_Information_Access(const std::string& ocsp, const std::vector& ca_issuers = std::vector()) : + m_ocsp_responder(ocsp), m_ca_issuers(ca_issuers) {} + + std::string ocsp_responder() const { return m_ocsp_responder; } + + static OID static_oid() { return OID("1.3.6.1.5.5.7.1.1"); } + OID oid_of() const override { return static_oid(); } + const std::vector ca_issuers() const { return m_ca_issuers; } + + private: + std::string oid_name() const override + { return "PKIX.AuthorityInformationAccess"; } + + bool should_encode() const override { return (!m_ocsp_responder.empty()); } + + std::vector encode_inner() const override; + void decode_inner(const std::vector&) override; + + void contents_to(Data_Store&, Data_Store&) const override; + + std::string m_ocsp_responder; + std::vector m_ca_issuers; + }; + +/** +* CRL Number Extension +*/ +class BOTAN_PUBLIC_API(2,0) CRL_Number final : public Certificate_Extension + { + public: + CRL_Number* copy() const override; + + CRL_Number() : m_has_value(false), m_crl_number(0) {} + CRL_Number(size_t n) : m_has_value(true), m_crl_number(n) {} + + size_t get_crl_number() const; + + static OID static_oid() { return OID("2.5.29.20"); } + OID oid_of() const override { return static_oid(); } + + private: + std::string oid_name() const override { return "X509v3.CRLNumber"; } + + bool should_encode() const override { return m_has_value; } + std::vector encode_inner() const override; + void decode_inner(const std::vector&) override; + void contents_to(Data_Store&, Data_Store&) const override; + + bool m_has_value; + size_t m_crl_number; + }; + +/** +* CRL Entry Reason Code Extension +*/ +class BOTAN_PUBLIC_API(2,0) CRL_ReasonCode final : public Certificate_Extension + { + public: + CRL_ReasonCode* copy() const override + { return new CRL_ReasonCode(m_reason); } + + explicit CRL_ReasonCode(CRL_Code r = UNSPECIFIED) : m_reason(r) {} + + CRL_Code get_reason() const { return m_reason; } + + static OID static_oid() { return OID("2.5.29.21"); } + OID oid_of() const override { return static_oid(); } + + private: + std::string oid_name() const override { return "X509v3.ReasonCode"; } + + bool should_encode() const override { return (m_reason != UNSPECIFIED); } + std::vector encode_inner() const override; + void decode_inner(const std::vector&) override; + void contents_to(Data_Store&, Data_Store&) const override; + + CRL_Code m_reason; + }; + +/** +* CRL Distribution Points Extension +* todo enforce restrictions from RFC 5280 4.2.1.13 +*/ +class BOTAN_PUBLIC_API(2,0) CRL_Distribution_Points final : public Certificate_Extension + { + public: + class BOTAN_PUBLIC_API(2,0) Distribution_Point final : public ASN1_Object + { + public: + void encode_into(class DER_Encoder&) const override; + void decode_from(class BER_Decoder&) override; + + const AlternativeName& point() const { return m_point; } + private: + AlternativeName m_point; + }; + + CRL_Distribution_Points* copy() const override + { return new CRL_Distribution_Points(m_distribution_points); } + + CRL_Distribution_Points() = default; + + explicit CRL_Distribution_Points(const std::vector& points) : + m_distribution_points(points) {} + + const std::vector& distribution_points() const + { return m_distribution_points; } + + const std::vector& crl_distribution_urls() const + { return m_crl_distribution_urls; } + + static OID static_oid() { return OID("2.5.29.31"); } + OID oid_of() const override { return static_oid(); } + + private: + std::string oid_name() const override + { return "X509v3.CRLDistributionPoints"; } + + bool should_encode() const override + { return !m_distribution_points.empty(); } + + std::vector encode_inner() const override; + void decode_inner(const std::vector&) override; + void contents_to(Data_Store&, Data_Store&) const override; + + std::vector m_distribution_points; + std::vector m_crl_distribution_urls; + }; + +/** +* CRL Issuing Distribution Point Extension +* todo enforce restrictions from RFC 5280 5.2.5 +*/ +class CRL_Issuing_Distribution_Point final : public Certificate_Extension + { + public: + CRL_Issuing_Distribution_Point() = default; + + explicit CRL_Issuing_Distribution_Point(const CRL_Distribution_Points::Distribution_Point& distribution_point) : + m_distribution_point(distribution_point) {} + + CRL_Issuing_Distribution_Point* copy() const override + { return new CRL_Issuing_Distribution_Point(m_distribution_point); } + + const AlternativeName& get_point() const + { return m_distribution_point.point(); } + + static OID static_oid() { return OID("2.5.29.28"); } + OID oid_of() const override { return static_oid(); } + + private: + std::string oid_name() const override + { return "X509v3.CRLIssuingDistributionPoint"; } + + bool should_encode() const override { return true; } + std::vector encode_inner() const override; + void decode_inner(const std::vector&) override; + void contents_to(Data_Store&, Data_Store&) const override; + + CRL_Distribution_Points::Distribution_Point m_distribution_point; + }; + +/** +* An unknown X.509 extension +* Will add a failure to the path validation result, if critical +*/ +class BOTAN_PUBLIC_API(2,4) Unknown_Extension final : public Certificate_Extension + { + public: + Unknown_Extension(const OID& oid, bool critical) : + m_oid(oid), m_critical(critical) {} + + Unknown_Extension* copy() const override + { return new Unknown_Extension(m_oid, m_critical); } + + /** + * Return the OID of this unknown extension + */ + OID oid_of() const override + { return m_oid; } + + //static_oid not defined for Unknown_Extension + + /** + * Return the extension contents + */ + const std::vector& extension_contents() const { return m_bytes; } + + /** + * Return if this extension was marked critical + */ + bool is_critical_extension() const { return m_critical; } + + void validate(const X509_Certificate&, const X509_Certificate&, + const std::vector>&, + std::vector>& cert_status, + size_t pos) override + { + if(m_critical) + { + cert_status.at(pos).insert(Certificate_Status_Code::UNKNOWN_CRITICAL_EXTENSION); + } + } + + private: + std::string oid_name() const override { return ""; } + + bool should_encode() const override { return true; } + std::vector encode_inner() const override; + void decode_inner(const std::vector&) override; + void contents_to(Data_Store&, Data_Store&) const override; + + OID m_oid; + bool m_critical; + std::vector m_bytes; + }; + + } + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_key.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_key.h new file mode 100644 index 00000000..58d537bb --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_key.h @@ -0,0 +1,80 @@ +/* +* X.509 Public Key +* (C) 1999-2010 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_X509_PUBLIC_KEY_H_ +#define BOTAN_X509_PUBLIC_KEY_H_ + +#include +#include +#include +#include + +namespace Botan { + +class RandomNumberGenerator; +class DataSource; + +/** +* The two types of X509 encoding supported by Botan. +* This enum is not used anymore, and will be removed in a future major release. +*/ +enum X509_Encoding { RAW_BER, PEM }; + +/** +* This namespace contains functions for handling X.509 public keys +*/ +namespace X509 { + +/** +* BER encode a key +* @param key the public key to encode +* @return BER encoding of this key +*/ +BOTAN_PUBLIC_API(2,0) std::vector BER_encode(const Public_Key& key); + +/** +* PEM encode a public key into a string. +* @param key the key to encode +* @return PEM encoded key +*/ +BOTAN_PUBLIC_API(2,0) std::string PEM_encode(const Public_Key& key); + +/** +* Create a public key from a data source. +* @param source the source providing the DER or PEM encoded key +* @return new public key object +*/ +BOTAN_PUBLIC_API(2,0) Public_Key* load_key(DataSource& source); + +#if defined(BOTAN_TARGET_OS_HAS_FILESYSTEM) +/** +* Create a public key from a file +* @param filename pathname to the file to load +* @return new public key object +*/ +BOTAN_PUBLIC_API(2,0) Public_Key* load_key(const std::string& filename); +#endif + +/** +* Create a public key from a memory region. +* @param enc the memory region containing the DER or PEM encoded key +* @return new public key object +*/ +BOTAN_PUBLIC_API(2,0) Public_Key* load_key(const std::vector& enc); + +/** +* Copy a key. +* @param key the public key to copy +* @return new public key object +*/ +BOTAN_PUBLIC_API(2,0) Public_Key* copy_key(const Public_Key& key); + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_obj.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_obj.h new file mode 100644 index 00000000..fd972aed --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509_obj.h @@ -0,0 +1,144 @@ +/* +* X.509 SIGNED Object +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_X509_OBJECT_H_ +#define BOTAN_X509_OBJECT_H_ + +#include +#include +#include + +namespace Botan { + +class Public_Key; +class Private_Key; +class RandomNumberGenerator; + +/** +* This class represents abstract X.509 signed objects as in the X.500 +* SIGNED macro +*/ +class BOTAN_PUBLIC_API(2,0) X509_Object : public ASN1_Object + { + public: + /** + * The underlying data that is to be or was signed + * @return data that is or was signed + */ + std::vector tbs_data() const; + + /** + * @return signature on tbs_data() + */ + const std::vector& signature() const { return m_sig; } + + /** + * @return signed body + */ + const std::vector& signed_body() const { return m_tbs_bits; } + + /** + * @return signature algorithm that was used to generate signature + */ + const AlgorithmIdentifier& signature_algorithm() const { return m_sig_algo; } + + /** + * @return hash algorithm that was used to generate signature + */ + std::string hash_used_for_signature() const; + + /** + * Create a signed X509 object. + * @param signer the signer used to sign the object + * @param rng the random number generator to use + * @param alg_id the algorithm identifier of the signature scheme + * @param tbs the tbs bits to be signed + * @return signed X509 object + */ + static std::vector make_signed(class PK_Signer* signer, + RandomNumberGenerator& rng, + const AlgorithmIdentifier& alg_id, + const secure_vector& tbs); + + /** + * Check the signature on this data + * @param key the public key purportedly used to sign this data + * @return status of the signature - OK if verified or otherwise an indicator of + * the problem preventing verification. + */ + Certificate_Status_Code verify_signature(const Public_Key& key) const; + + /** + * Check the signature on this data + * @param key the public key purportedly used to sign this data + * @return true if the signature is valid, otherwise false + */ + bool check_signature(const Public_Key& key) const; + + /** + * Check the signature on this data + * @param key the public key purportedly used to sign this data + * the object will be deleted after use (this should have + * been a std::unique_ptr) + * @return true if the signature is valid, otherwise false + */ + bool check_signature(const Public_Key* key) const; + + /** + * DER encode an X509_Object + * See @ref ASN1_Object::encode_into() + */ + void encode_into(class DER_Encoder& to) const override; + + /** + * Decode a BER encoded X509_Object + * See @ref ASN1_Object::decode_from() + */ + void decode_from(class BER_Decoder& from) override; + + /** + * @return PEM encoding of this + */ + std::string PEM_encode() const; + + X509_Object(const X509_Object&) = default; + X509_Object& operator=(const X509_Object&) = default; + + virtual std::string PEM_label() const = 0; + + virtual std::vector alternate_PEM_labels() const + { return std::vector(); } + + virtual ~X509_Object() = default; + + static std::unique_ptr + choose_sig_format(AlgorithmIdentifier& sig_algo, + const Private_Key& key, + RandomNumberGenerator& rng, + const std::string& hash_fn, + const std::string& padding_algo); + + protected: + + X509_Object() = default; + + /** + * Decodes from src as either DER or PEM data, then calls force_decode() + */ + void load_data(DataSource& src); + + private: + virtual void force_decode() = 0; + + AlgorithmIdentifier m_sig_algo; + std::vector m_tbs_bits; + std::vector m_sig; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509cert.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509cert.h new file mode 100644 index 00000000..0355bbb5 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509cert.h @@ -0,0 +1,461 @@ +/* +* X.509 Certificates +* (C) 1999-2007,2015,2017 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_X509_CERTS_H_ +#define BOTAN_X509_CERTS_H_ + +#include +#include + +namespace Botan { + +class Public_Key; +class X509_DN; +class Extensions; +class AlternativeName; +class NameConstraints; + +enum class Usage_Type + { + UNSPECIFIED, // no restrictions + TLS_SERVER_AUTH, + TLS_CLIENT_AUTH, + CERTIFICATE_AUTHORITY, + OCSP_RESPONDER, + ENCRYPTION + }; + +struct X509_Certificate_Data; + +/** +* This class represents an X.509 Certificate +*/ +class BOTAN_PUBLIC_API(2,0) X509_Certificate : public X509_Object + { + public: + /** + * Return a newly allocated copy of the public key associated + * with the subject of this certificate. This object is owned + * by the caller. + * + * Prefer load_subject_public_key in new code + * + * @return public key + */ + Public_Key* subject_public_key() const; + + /** + * Create a public key object associated with the public key bits in this + * certificate. If the public key bits was valid for X.509 encoding + * purposes but invalid algorithmically (for example, RSA with an even + * modulus) that will be detected at this point, and an exception will be + * thrown. + * + * @return subject public key of this certificate + */ + std::unique_ptr load_subject_public_key() const; + + /** + * Get the public key associated with this certificate. This includes the + * outer AlgorithmIdentifier + * @return subject public key of this certificate + */ + const std::vector& subject_public_key_bits() const; + + /** + * Get the SubjectPublicKeyInfo associated with this certificate. + * @return subject public key info of this certificate + */ + const std::vector& subject_public_key_info() const; + + /** + * Return the algorithm identifier of the public key + */ + const AlgorithmIdentifier& subject_public_key_algo() const; + + /** + * Get the bit string of the public key associated with this certificate + * @return public key bits + */ + const std::vector& subject_public_key_bitstring() const; + + /** + * Get the SHA-1 bit string of the public key associated with this certificate. + * This is used for OCSP among other protocols. + * This function will throw if SHA-1 is not available. + * @return hash of subject public key of this certificate + */ + const std::vector& subject_public_key_bitstring_sha1() const; + + /** + * Get the certificate's issuer distinguished name (DN). + * @return issuer DN of this certificate + */ + const X509_DN& issuer_dn() const; + + /** + * Get the certificate's subject distinguished name (DN). + * @return subject DN of this certificate + */ + const X509_DN& subject_dn() const; + + /** + * Get a value for a specific subject_info parameter name. + * @param name the name of the parameter to look up. Possible names include + * "X509.Certificate.version", "X509.Certificate.serial", + * "X509.Certificate.start", "X509.Certificate.end", + * "X509.Certificate.v2.key_id", "X509.Certificate.public_key", + * "X509v3.BasicConstraints.path_constraint", + * "X509v3.BasicConstraints.is_ca", "X509v3.NameConstraints", + * "X509v3.ExtendedKeyUsage", "X509v3.CertificatePolicies", + * "X509v3.SubjectKeyIdentifier", "X509.Certificate.serial", + * "X520.CommonName", "X520.Organization", "X520.Country", + * "RFC822" (Email in SAN) or "PKCS9.EmailAddress" (Email in DN). + * @return value(s) of the specified parameter + */ + std::vector subject_info(const std::string& name) const; + + /** + * Get a value for a specific subject_info parameter name. + * @param name the name of the parameter to look up. Possible names are + * "X509.Certificate.v2.key_id" or "X509v3.AuthorityKeyIdentifier". + * @return value(s) of the specified parameter + */ + std::vector issuer_info(const std::string& name) const; + + /** + * Raw issuer DN bits + */ + const std::vector& raw_issuer_dn() const; + + /** + * SHA-256 of Raw issuer DN + */ + std::vector raw_issuer_dn_sha256() const; + + /** + * Raw subject DN + */ + const std::vector& raw_subject_dn() const; + + /** + * SHA-256 of Raw subject DN + */ + std::vector raw_subject_dn_sha256() const; + + /** + * Get the notBefore of the certificate as a string + * @return notBefore of the certificate + */ + std::string BOTAN_DEPRECATED("Use not_before().to_string()") start_time() const + { + return not_before().to_string(); + } + + /** + * Get the notAfter of the certificate as a string + * @return notAfter of the certificate + */ + std::string BOTAN_DEPRECATED("Use not_after().to_string()") end_time() const + { + return not_after().to_string(); + } + + /** + * Get the notBefore of the certificate as X509_Time + * @return notBefore of the certificate + */ + const X509_Time& not_before() const; + + /** + * Get the notAfter of the certificate as X509_Time + * @return notAfter of the certificate + */ + const X509_Time& not_after() const; + + /** + * Get the X509 version of this certificate object. + * @return X509 version + */ + uint32_t x509_version() const; + + /** + * Get the serial number of this certificate. + * @return certificates serial number + */ + const std::vector& serial_number() const; + + /** + * Get the serial number's sign + * @return 1 iff the serial is negative. + */ + bool is_serial_negative() const; + + /** + * Get the DER encoded AuthorityKeyIdentifier of this certificate. + * @return DER encoded AuthorityKeyIdentifier + */ + const std::vector& authority_key_id() const; + + /** + * Get the DER encoded SubjectKeyIdentifier of this certificate. + * @return DER encoded SubjectKeyIdentifier + */ + const std::vector& subject_key_id() const; + + /** + * Check whether this certificate is self signed. + * If the DN issuer and subject agree, + * @return true if this certificate is self signed + */ + bool is_self_signed() const; + + /** + * Check whether this certificate is a CA certificate. + * @return true if this certificate is a CA certificate + */ + bool is_CA_cert() const; + + /** + * Returns true if the specified @param usage is set in the key usage extension + * or if no key usage constraints are set at all. + * To check if a certain key constraint is set in the certificate + * use @see X509_Certificate#has_constraints. + */ + bool allowed_usage(Key_Constraints usage) const; + + /** + * Returns true if the specified @param usage is set in the extended key usage extension + * or if no extended key usage constraints are set at all. + * To check if a certain extended key constraint is set in the certificate + * use @see X509_Certificate#has_ex_constraint. + */ + bool allowed_extended_usage(const std::string& usage) const; + + /** + * Returns true if the specified usage is set in the extended key usage extension, + * or if no extended key usage constraints are set at all. + * To check if a certain extended key constraint is set in the certificate + * use @see X509_Certificate#has_ex_constraint. + */ + bool allowed_extended_usage(const OID& usage) const; + + /** + * Returns true if the required key and extended key constraints are set in the certificate + * for the specified @param usage or if no key constraints are set in both the key usage + * and extended key usage extension. + */ + bool allowed_usage(Usage_Type usage) const; + + /** + * Returns true if the specified @param constraints are included in the key + * usage extension. + */ + bool has_constraints(Key_Constraints constraints) const; + + /** + * Returns true if and only if @param ex_constraint (referring to an + * extended key constraint, eg "PKIX.ServerAuth") is included in the + * extended key extension. + */ + bool BOTAN_DEPRECATED("Use version taking an OID") + has_ex_constraint(const std::string& ex_constraint) const; + + /** + * Returns true if and only if OID @param ex_constraint is + * included in the extended key extension. + */ + bool has_ex_constraint(const OID& ex_constraint) const; + + /** + * Get the path limit as defined in the BasicConstraints extension of + * this certificate. + * @return path limit + */ + uint32_t path_limit() const; + + /** + * Check whenever a given X509 Extension is marked critical in this + * certificate. + */ + bool is_critical(const std::string& ex_name) const; + + /** + * Get the key constraints as defined in the KeyUsage extension of this + * certificate. + * @return key constraints + */ + Key_Constraints constraints() const; + + /** + * Get the key constraints as defined in the ExtendedKeyUsage + * extension of this certificate. + * @return key constraints + */ + std::vector + BOTAN_DEPRECATED("Use extended_key_usage") ex_constraints() const; + + /** + * Get the key usage as defined in the ExtendedKeyUsage extension + * of this certificate, or else an empty vector. + * @return key usage + */ + const std::vector& extended_key_usage() const; + + /** + * Get the name constraints as defined in the NameConstraints + * extension of this certificate. + * @return name constraints + */ + const NameConstraints& name_constraints() const; + + /** + * Get the policies as defined in the CertificatePolicies extension + * of this certificate. + * @return certificate policies + */ + std::vector BOTAN_DEPRECATED("Use certificate_policy_oids") policies() const; + + const std::vector& certificate_policy_oids() const; + + /** + * Get all extensions of this certificate. + * @return certificate extensions + */ + const Extensions& v3_extensions() const; + + /** + * Return the v2 issuer key ID. v2 key IDs are almost never used, + * instead see v3_subject_key_id. + */ + const std::vector& v2_issuer_key_id() const; + + /** + * Return the v2 subject key ID. v2 key IDs are almost never used, + * instead see v3_subject_key_id. + */ + const std::vector& v2_subject_key_id() const; + + /** + * Return the subject alternative names (DNS, IP, ...) + */ + const AlternativeName& subject_alt_name() const; + + /** + * Return the issuer alternative names (DNS, IP, ...) + */ + const AlternativeName& issuer_alt_name() const; + + /** + * Return the listed address of an OCSP responder, or empty if not set + */ + std::string ocsp_responder() const; + + /** + * Return the listed addresses of ca issuers, or empty if not set + */ + std::vector ca_issuers() const; + + /** + * Return the CRL distribution point, or empty if not set + */ + std::string crl_distribution_point() const; + + /** + * @return a free-form string describing the certificate + */ + std::string to_string() const; + + /** + * @return a fingerprint of the certificate + * @param hash_name hash function used to calculate the fingerprint + */ + std::string fingerprint(const std::string& hash_name = "SHA-1") const; + + /** + * Check if a certain DNS name matches up with the information in + * the cert + * @param name DNS name to match + */ + bool matches_dns_name(const std::string& name) const; + + /** + * Check to certificates for equality. + * @return true both certificates are (binary) equal + */ + bool operator==(const X509_Certificate& other) const; + + /** + * Impose an arbitrary (but consistent) ordering, eg to allow sorting + * a container of certificate objects. + * @return true if this is less than other by some unspecified criteria + */ + bool operator<(const X509_Certificate& other) const; + + /** + * Create a certificate from a data source providing the DER or + * PEM encoded certificate. + * @param source the data source + */ + explicit X509_Certificate(DataSource& source); + +#if defined(BOTAN_TARGET_OS_HAS_FILESYSTEM) + /** + * Create a certificate from a file containing the DER or PEM + * encoded certificate. + * @param filename the name of the certificate file + */ + explicit X509_Certificate(const std::string& filename); +#endif + + /** + * Create a certificate from a buffer + * @param in the buffer containing the DER-encoded certificate + */ + explicit X509_Certificate(const std::vector& in); + + /** + * Create a certificate from a buffer + * @param data the buffer containing the DER-encoded certificate + * @param length length of data in bytes + */ + X509_Certificate(const uint8_t data[], size_t length); + + /** + * Create an uninitialized certificate object. Any attempts to + * access this object will throw an exception. + */ + X509_Certificate() = default; + + X509_Certificate(const X509_Certificate& other) = default; + + X509_Certificate& operator=(const X509_Certificate& other) = default; + + private: + std::string PEM_label() const override; + + std::vector alternate_PEM_labels() const override; + + void force_decode() override; + + const X509_Certificate_Data& data() const; + + std::shared_ptr m_data; + }; + +/** +* Check two certificates for inequality +* @param cert1 The first certificate +* @param cert2 The second certificate +* @return true if the arguments represent different certificates, +* false if they are binary identical +*/ +BOTAN_PUBLIC_API(2,0) bool operator!=(const X509_Certificate& cert1, const X509_Certificate& cert2); + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509path.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509path.h new file mode 100644 index 00000000..c8575fd3 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509path.h @@ -0,0 +1,475 @@ +/* +* X.509 Cert Path Validation +* (C) 2010-2011 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_X509_CERT_PATH_VALIDATION_H_ +#define BOTAN_X509_CERT_PATH_VALIDATION_H_ + +#include +#include +#include +#include +#include +#include +#include + +#if defined(BOTAN_TARGET_OS_HAS_THREADS) && defined(BOTAN_HAS_HTTP_UTIL) + #define BOTAN_HAS_ONLINE_REVOCATION_CHECKS +#endif + +namespace Botan { + +/** +* This type represents the validation status of an entire certificate path. +* There is one set of status codes for each certificate in the path. +*/ +typedef std::vector> CertificatePathStatusCodes; + +/** +* Specifies restrictions on the PKIX path validation +*/ +class BOTAN_PUBLIC_API(2,0) Path_Validation_Restrictions final + { + public: + /** + * @param require_rev if true, revocation information is required + + * @param minimum_key_strength is the minimum strength (in terms of + * operations, eg 80 means 2^80) of a signature. Signatures weaker than + * this are rejected. If more than 80, SHA-1 signatures are also + * rejected. If possible use at least setting 110. + * + * 80 bit strength requires 1024 bit RSA + * 110 bit strength requires 2k bit RSA + * 128 bit strength requires ~3k bit RSA or P-256 + * @param ocsp_all_intermediates Make OCSP requests for all CAs as + * well as end entity (if OCSP enabled in path validation request) + * @param max_ocsp_age maximum age of OCSP responses w/o next_update. + * If zero, there is no maximum age + */ + Path_Validation_Restrictions(bool require_rev = false, + size_t minimum_key_strength = 110, + bool ocsp_all_intermediates = false, + std::chrono::seconds max_ocsp_age = std::chrono::seconds::zero()); + + /** + * @param require_rev if true, revocation information is required + * @param minimum_key_strength is the minimum strength (in terms of + * operations, eg 80 means 2^80) of a signature. Signatures + * weaker than this are rejected. + * @param ocsp_all_intermediates Make OCSP requests for all CAs as + * well as end entity (if OCSP enabled in path validation request) + * @param trusted_hashes a set of trusted hashes. Any signatures + * created using a hash other than one of these will be + * rejected. + * @param max_ocsp_age maximum age of OCSP responses w/o next_update. + * If zero, there is no maximum age + */ + Path_Validation_Restrictions(bool require_rev, + size_t minimum_key_strength, + bool ocsp_all_intermediates, + const std::set& trusted_hashes, + std::chrono::seconds max_ocsp_age = std::chrono::seconds::zero()) : + m_require_revocation_information(require_rev), + m_ocsp_all_intermediates(ocsp_all_intermediates), + m_trusted_hashes(trusted_hashes), + m_minimum_key_strength(minimum_key_strength), + m_max_ocsp_age(max_ocsp_age) {} + + /** + * @return whether revocation information is required + */ + bool require_revocation_information() const + { return m_require_revocation_information; } + + /** + * @return whether all intermediate CAs should also be OCSPed. If false + * then only end entity OCSP is required/requested. + */ + bool ocsp_all_intermediates() const + { return m_ocsp_all_intermediates; } + + /** + * @return trusted signature hash functions + */ + const std::set& trusted_hashes() const + { return m_trusted_hashes; } + + /** + * @return minimum required key strength + */ + size_t minimum_key_strength() const + { return m_minimum_key_strength; } + + /** + * @return maximum age of OCSP responses w/o next_update. + * If zero, there is no maximum age + */ + std::chrono::seconds max_ocsp_age() const + { return m_max_ocsp_age; } + + private: + bool m_require_revocation_information; + bool m_ocsp_all_intermediates; + std::set m_trusted_hashes; + size_t m_minimum_key_strength; + std::chrono::seconds m_max_ocsp_age; + }; + +/** +* Represents the result of a PKIX path validation +*/ +class BOTAN_PUBLIC_API(2,0) Path_Validation_Result final + { + public: + typedef Certificate_Status_Code Code; + + /** + * @return the set of hash functions you are implicitly + * trusting by trusting this result. + */ + std::set trusted_hashes() const; + + /** + * @return the trust root of the validation if successful + * throws an exception if the validation failed + */ + const X509_Certificate& trust_root() const; + + /** + * @return the full path from subject to trust root + * This path may be empty + */ + const std::vector>& cert_path() const { return m_cert_path; } + + /** + * @return true iff the validation was successful + */ + bool successful_validation() const; + + /** + * @return true iff no warnings occured during validation + */ + bool no_warnings() const; + + /** + * @return overall validation result code + */ + Certificate_Status_Code result() const { return m_overall; } + + /** + * @return a set of status codes for each certificate in the chain + */ + const CertificatePathStatusCodes& all_statuses() const + { return m_all_status; } + + /** + * @return the subset of status codes that are warnings + */ + CertificatePathStatusCodes warnings() const; + + /** + * @return string representation of the validation result + */ + std::string result_string() const; + + /** + * @return string representation of the warnings + */ + std::string warnings_string() const; + + /** + * @param code validation status code + * @return corresponding validation status message + */ + static const char* status_string(Certificate_Status_Code code); + + /** + * Create a Path_Validation_Result + * @param status list of validation status codes + * @param cert_chain the certificate chain that was validated + */ + Path_Validation_Result(CertificatePathStatusCodes status, + std::vector>&& cert_chain); + + /** + * Create a Path_Validation_Result + * @param status validation status code + */ + explicit Path_Validation_Result(Certificate_Status_Code status) : m_overall(status) {} + + private: + CertificatePathStatusCodes m_all_status; + CertificatePathStatusCodes m_warnings; + std::vector> m_cert_path; + Certificate_Status_Code m_overall; + }; + +/** +* PKIX Path Validation +* @param end_certs certificate chain to validate (with end entity certificate in end_certs[0]) +* @param restrictions path validation restrictions +* @param trusted_roots list of certificate stores that contain trusted certificates +* @param hostname if not empty, compared against the DNS name in end_certs[0] +* @param usage if not set to UNSPECIFIED, compared against the key usage in end_certs[0] +* @param validation_time what reference time to use for validation +* @param ocsp_timeout timeout for OCSP operations, 0 disables OCSP check +* @param ocsp_resp additional OCSP responses to consider (eg from peer) +* @return result of the path validation +* note: when enabled, OCSP check is softfail by default: if the OCSP server is not +* reachable, Path_Validation_Result::successful_validation() will return true. +* Hardfail OCSP check can be achieve by also calling Path_Validation_Result::no_warnings(). +*/ +Path_Validation_Result BOTAN_PUBLIC_API(2,0) x509_path_validate( + const std::vector& end_certs, + const Path_Validation_Restrictions& restrictions, + const std::vector& trusted_roots, + const std::string& hostname = "", + Usage_Type usage = Usage_Type::UNSPECIFIED, + std::chrono::system_clock::time_point validation_time = std::chrono::system_clock::now(), + std::chrono::milliseconds ocsp_timeout = std::chrono::milliseconds(0), + const std::vector>& ocsp_resp = {}); + +/** +* PKIX Path Validation +* @param end_cert certificate to validate +* @param restrictions path validation restrictions +* @param trusted_roots list of stores that contain trusted certificates +* @param hostname if not empty, compared against the DNS name in end_cert +* @param usage if not set to UNSPECIFIED, compared against the key usage in end_cert +* @param validation_time what reference time to use for validation +* @param ocsp_timeout timeout for OCSP operations, 0 disables OCSP check +* @param ocsp_resp additional OCSP responses to consider (eg from peer) +* @return result of the path validation +*/ +Path_Validation_Result BOTAN_PUBLIC_API(2,0) x509_path_validate( + const X509_Certificate& end_cert, + const Path_Validation_Restrictions& restrictions, + const std::vector& trusted_roots, + const std::string& hostname = "", + Usage_Type usage = Usage_Type::UNSPECIFIED, + std::chrono::system_clock::time_point validation_time = std::chrono::system_clock::now(), + std::chrono::milliseconds ocsp_timeout = std::chrono::milliseconds(0), + const std::vector>& ocsp_resp = {}); + +/** +* PKIX Path Validation +* @param end_cert certificate to validate +* @param restrictions path validation restrictions +* @param store store that contains trusted certificates +* @param hostname if not empty, compared against the DNS name in end_cert +* @param usage if not set to UNSPECIFIED, compared against the key usage in end_cert +* @param validation_time what reference time to use for validation +* @param ocsp_timeout timeout for OCSP operations, 0 disables OCSP check +* @param ocsp_resp additional OCSP responses to consider (eg from peer) +* @return result of the path validation +*/ +Path_Validation_Result BOTAN_PUBLIC_API(2,0) x509_path_validate( + const X509_Certificate& end_cert, + const Path_Validation_Restrictions& restrictions, + const Certificate_Store& store, + const std::string& hostname = "", + Usage_Type usage = Usage_Type::UNSPECIFIED, + std::chrono::system_clock::time_point validation_time = std::chrono::system_clock::now(), + std::chrono::milliseconds ocsp_timeout = std::chrono::milliseconds(0), + const std::vector>& ocsp_resp = {}); + +/** +* PKIX Path Validation +* @param end_certs certificate chain to validate +* @param restrictions path validation restrictions +* @param store store that contains trusted certificates +* @param hostname if not empty, compared against the DNS name in end_certs[0] +* @param usage if not set to UNSPECIFIED, compared against the key usage in end_certs[0] +* @param validation_time what reference time to use for validation +* @param ocsp_timeout timeout for OCSP operations, 0 disables OCSP check +* @param ocsp_resp additional OCSP responses to consider (eg from peer) +* @return result of the path validation +*/ +Path_Validation_Result BOTAN_PUBLIC_API(2,0) x509_path_validate( + const std::vector& end_certs, + const Path_Validation_Restrictions& restrictions, + const Certificate_Store& store, + const std::string& hostname = "", + Usage_Type usage = Usage_Type::UNSPECIFIED, + std::chrono::system_clock::time_point validation_time = std::chrono::system_clock::now(), + std::chrono::milliseconds ocsp_timeout = std::chrono::milliseconds(0), + const std::vector>& ocsp_resp = {}); + + +/** +* namespace PKIX holds the building blocks that are called by x509_path_validate. +* This allows custom validation logic to be written by applications and makes +* for easier testing, but unless you're positive you know what you're doing you +* probably want to just call x509_path_validate instead. +*/ +namespace PKIX { + +Certificate_Status_Code +build_all_certificate_paths(std::vector>>& cert_paths, + const std::vector& trusted_certstores, + const std::shared_ptr& end_entity, + const std::vector>& end_entity_extra); + + +/** +* Build certificate path +* @param cert_path_out output parameter, cert_path will be appended to this vector +* @param trusted_certstores list of certificate stores that contain trusted certificates +* @param end_entity the cert to be validated +* @param end_entity_extra optional list of additional untrusted certs for path building +* @return result of the path building operation (OK or error) +*/ +Certificate_Status_Code +BOTAN_PUBLIC_API(2,0) build_certificate_path(std::vector>& cert_path_out, + const std::vector& trusted_certstores, + const std::shared_ptr& end_entity, + const std::vector>& end_entity_extra); + +/** +* Check the certificate chain, but not any revocation data +* +* @param cert_path path built by build_certificate_path with OK result +* @param ref_time whatever time you want to perform the validation +* against (normally current system clock) +* @param hostname the hostname +* @param usage end entity usage checks +* @param min_signature_algo_strength 80 or 110 typically +* Note 80 allows 1024 bit RSA and SHA-1. 110 allows 2048 bit RSA and SHA-2. +* Using 128 requires ECC (P-256) or ~3000 bit RSA keys. +* @param trusted_hashes set of trusted hash functions, empty means accept any +* hash we have an OID for +* @return vector of results on per certificate in the path, each containing a set of +* results. If all codes in the set are < Certificate_Status_Code::FIRST_ERROR_STATUS, +* then the result for that certificate is successful. If all results are +*/ +CertificatePathStatusCodes +BOTAN_PUBLIC_API(2,0) check_chain(const std::vector>& cert_path, + std::chrono::system_clock::time_point ref_time, + const std::string& hostname, + Usage_Type usage, + size_t min_signature_algo_strength, + const std::set& trusted_hashes); + +/** +* Check OCSP responses for revocation information +* @param cert_path path already validated by check_chain +* @param ocsp_responses the OCSP responses to consider +* @param certstores trusted roots +* @param ref_time whatever time you want to perform the validation against +* (normally current system clock) +* @param max_ocsp_age maximum age of OCSP responses w/o next_update. If zero, +* there is no maximum age +* @return revocation status +*/ +CertificatePathStatusCodes +BOTAN_PUBLIC_API(2, 0) check_ocsp(const std::vector>& cert_path, + const std::vector>& ocsp_responses, + const std::vector& certstores, + std::chrono::system_clock::time_point ref_time, + std::chrono::seconds max_ocsp_age = std::chrono::seconds::zero()); + +/** +* Check CRLs for revocation information +* @param cert_path path already validated by check_chain +* @param crls the list of CRLs to check, it is assumed that crls[i] (if not null) +* is the associated CRL for the subject in cert_path[i]. +* @param ref_time whatever time you want to perform the validation against +* (normally current system clock) +* @return revocation status +*/ +CertificatePathStatusCodes +BOTAN_PUBLIC_API(2,0) check_crl(const std::vector>& cert_path, + const std::vector>& crls, + std::chrono::system_clock::time_point ref_time); + +/** +* Check CRLs for revocation information +* @param cert_path path already validated by check_chain +* @param certstores a list of certificate stores to query for the CRL +* @param ref_time whatever time you want to perform the validation against +* (normally current system clock) +* @return revocation status +*/ +CertificatePathStatusCodes +BOTAN_PUBLIC_API(2,0) check_crl(const std::vector>& cert_path, + const std::vector& certstores, + std::chrono::system_clock::time_point ref_time); + +#if defined(BOTAN_HAS_ONLINE_REVOCATION_CHECKS) + +/** +* Check OCSP using online (HTTP) access. Current version creates a thread and +* network connection per OCSP request made. +* +* @param cert_path path already validated by check_chain +* @param trusted_certstores a list of certstores with trusted certs +* @param ref_time whatever time you want to perform the validation against +* (normally current system clock) +* @param timeout for timing out the responses, though actually this function +* may block for up to timeout*cert_path.size()*C for some small C. +* @param ocsp_check_intermediate_CAs if true also performs OCSP on any intermediate +* CA certificates. If false, only does OCSP on the end entity cert. +* @param max_ocsp_age maximum age of OCSP responses w/o next_update. If zero, +* there is no maximum age +* @return revocation status +*/ +CertificatePathStatusCodes +BOTAN_PUBLIC_API(2, 0) check_ocsp_online(const std::vector>& cert_path, + const std::vector& trusted_certstores, + std::chrono::system_clock::time_point ref_time, + std::chrono::milliseconds timeout, + bool ocsp_check_intermediate_CAs, + std::chrono::seconds max_ocsp_age = std::chrono::seconds::zero()); + +/** +* Check CRL using online (HTTP) access. Current version creates a thread and +* network connection per CRL access. + +* @param cert_path path already validated by check_chain +* @param trusted_certstores a list of certstores with trusted certs +* @param certstore_to_recv_crls optional (nullptr to disable), all CRLs +* retreived will be saved to this cert store. +* @param ref_time whatever time you want to perform the validation against +* (normally current system clock) +* @param timeout for timing out the responses, though actually this function +* may block for up to timeout*cert_path.size()*C for some small C. +* @return revocation status +*/ +CertificatePathStatusCodes +BOTAN_PUBLIC_API(2,0) check_crl_online(const std::vector>& cert_path, + const std::vector& trusted_certstores, + Certificate_Store_In_Memory* certstore_to_recv_crls, + std::chrono::system_clock::time_point ref_time, + std::chrono::milliseconds timeout); + +#endif + +/** +* Find overall status (OK, error) of a validation +* @param cert_status result of merge_revocation_status or check_chain +*/ +Certificate_Status_Code BOTAN_PUBLIC_API(2,0) overall_status(const CertificatePathStatusCodes& cert_status); + +/** +* Merge the results from CRL and/or OCSP checks into chain_status +* @param chain_status the certificate status +* @param crl_status results from check_crl +* @param ocsp_status results from check_ocsp +* @param require_rev_on_end_entity require valid CRL or OCSP on end-entity cert +* @param require_rev_on_intermediates require valid CRL or OCSP on all intermediate certificates +*/ +void BOTAN_PUBLIC_API(2,0) merge_revocation_status(CertificatePathStatusCodes& chain_status, + const CertificatePathStatusCodes& crl_status, + const CertificatePathStatusCodes& ocsp_status, + bool require_rev_on_end_entity, + bool require_rev_on_intermediates); + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509self.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509self.h new file mode 100644 index 00000000..27c30b12 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x509self.h @@ -0,0 +1,222 @@ +/* +* X.509 Self-Signed Certificate +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_X509_SELF_H_ +#define BOTAN_X509_SELF_H_ + +#include +#include +#include + +namespace Botan { + +class RandomNumberGenerator; +class Private_Key; + +/** +* Options for X.509 certificates. +*/ +class BOTAN_PUBLIC_API(2,0) X509_Cert_Options final + { + public: + /** + * the subject common name + */ + std::string common_name; + + /** + * the subject counry + */ + std::string country; + + /** + * the subject organization + */ + std::string organization; + + /** + * the subject organizational unit + */ + std::string org_unit; + + /** + * additional subject organizational units. + */ + std::vector more_org_units; + + /** + * the subject locality + */ + std::string locality; + + /** + * the subject state + */ + std::string state; + + /** + * the subject serial number + */ + std::string serial_number; + + /** + * the subject email adress + */ + std::string email; + + /** + * the subject URI + */ + std::string uri; + + /** + * the subject IPv4 address + */ + std::string ip; + + /** + * the subject DNS + */ + std::string dns; + + /** + * additional subject DNS entries. + */ + std::vector more_dns; + + /** + * the subject XMPP + */ + std::string xmpp; + + /** + * the subject challenge password + */ + std::string challenge; + + /** + * the subject notBefore + */ + X509_Time start; + /** + * the subject notAfter + */ + X509_Time end; + + /** + * Indicates whether the certificate request + */ + bool is_CA; + + /** + * Indicates the BasicConstraints path limit + */ + size_t path_limit; + + std::string padding_scheme; + + /** + * The key constraints for the subject public key + */ + Key_Constraints constraints; + + /** + * The key extended constraints for the subject public key + */ + std::vector ex_constraints; + + /** + * Additional X.509 extensions + */ + Extensions extensions; + + /** + * Mark the certificate as a CA certificate and set the path limit. + * @param limit the path limit to be set in the BasicConstraints extension. + */ + void CA_key(size_t limit = 1); + + /** + * Choose a padding scheme different from the default for the key used. + */ + void set_padding_scheme(const std::string& scheme); + + /** + * Set the notBefore of the certificate. + * @param time the notBefore value of the certificate + */ + void not_before(const std::string& time); + + /** + * Set the notAfter of the certificate. + * @param time the notAfter value of the certificate + */ + void not_after(const std::string& time); + + /** + * Add the key constraints of the KeyUsage extension. + * @param constr the constraints to set + */ + void add_constraints(Key_Constraints constr); + + /** + * Add constraints to the ExtendedKeyUsage extension. + * @param oid the oid to add + */ + void add_ex_constraint(const OID& oid); + + /** + * Add constraints to the ExtendedKeyUsage extension. + * @param name the name to look up the oid to add + */ + void add_ex_constraint(const std::string& name); + + /** + * Construct a new options object + * @param opts define the common name of this object. An example for this + * parameter would be "common_name/country/organization/organizational_unit". + * @param expire_time the expiration time (from the current clock in seconds) + */ + X509_Cert_Options(const std::string& opts = "", + uint32_t expire_time = 365 * 24 * 60 * 60); + }; + +namespace X509 { + +/** +* Create a self-signed X.509 certificate. +* @param opts the options defining the certificate to create +* @param key the private key used for signing, i.e. the key +* associated with this self-signed certificate +* @param hash_fn the hash function to use +* @param rng the rng to use +* @return newly created self-signed certificate +*/ +BOTAN_PUBLIC_API(2,0) X509_Certificate +create_self_signed_cert(const X509_Cert_Options& opts, + const Private_Key& key, + const std::string& hash_fn, + RandomNumberGenerator& rng); + +/** +* Create a PKCS#10 certificate request. +* @param opts the options defining the request to create +* @param key the key used to sign this request +* @param rng the rng to use +* @param hash_fn the hash function to use +* @return newly created PKCS#10 request +*/ +BOTAN_PUBLIC_API(2,0) PKCS10_Request create_cert_req(const X509_Cert_Options& opts, + const Private_Key& key, + const std::string& hash_fn, + RandomNumberGenerator& rng); + +} + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x919_mac.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x919_mac.h new file mode 100644 index 00000000..3df38b9a --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/x919_mac.h @@ -0,0 +1,51 @@ +/* +* ANSI X9.19 MAC +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_ANSI_X919_MAC_H_ +#define BOTAN_ANSI_X919_MAC_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(x919_mac.h) + +namespace Botan { + +/** +* DES/3DES-based MAC from ANSI X9.19 +*/ +class BOTAN_PUBLIC_API(2,0) ANSI_X919_MAC final : public MessageAuthenticationCode + { + public: + void clear() override; + std::string name() const override; + size_t output_length() const override { return 8; } + + MessageAuthenticationCode* clone() const override; + + Key_Length_Specification key_spec() const override + { + return Key_Length_Specification(8, 16, 8); + } + + ANSI_X919_MAC(); + + ANSI_X919_MAC(const ANSI_X919_MAC&) = delete; + ANSI_X919_MAC& operator=(const ANSI_X919_MAC&) = delete; + private: + void add_data(const uint8_t[], size_t) override; + void final_result(uint8_t[]) override; + void key_schedule(const uint8_t[], size_t) override; + + std::unique_ptr m_des1, m_des2; + secure_vector m_state; + size_t m_position; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss.h new file mode 100644 index 00000000..af8e8a41 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss.h @@ -0,0 +1,459 @@ +/* + * XMSS Keys + * (C) 2016,2017 Matthias Gierlings + * (C) 2019 René Korthaus, Rohde & Schwarz Cybersecurity + * + * Botan is released under the Simplified BSD License (see license.txt) + **/ + +#ifndef BOTAN_XMSS_H_ +#define BOTAN_XMSS_H_ + +#include +#include +#include +#include + +namespace Botan { + +class RandomNumberGenerator; +class XMSS_Verification_Operation; + +/** + * An XMSS: Extended Hash-Based Signature public key. + * + * [1] XMSS: Extended Hash-Based Signatures, + * Request for Comments: 8391 + * Release: May 2018. + * https://datatracker.ietf.org/doc/rfc8391/ + **/ +class BOTAN_PUBLIC_API(2,0) XMSS_PublicKey : public virtual Public_Key + { + public: + /** + * Creates a new XMSS public key for the chosen XMSS signature method. + * New public and prf seeds are generated using rng. The appropriate WOTS + * signature method will be automatically set based on the chosen XMSS + * signature method. + * + * @param xmss_oid Identifier for the selected XMSS signature method. + * @param rng A random number generator to use for key generation. + **/ + XMSS_PublicKey(XMSS_Parameters::xmss_algorithm_t xmss_oid, + RandomNumberGenerator& rng); + + /** + * Loads a public key. + * + * Public key must be encoded as in RFC + * draft-vangeest-x509-hash-sigs-03. + * + * @param key_bits DER encoded public key bits + */ + XMSS_PublicKey(const std::vector& key_bits); + + /** + * Creates a new XMSS public key for a chosen XMSS signature method as + * well as pre-computed root node and public_seed values. + * + * @param xmss_oid Identifier for the selected XMSS signature method. + * @param root Root node value. + * @param public_seed Public seed value. + **/ + XMSS_PublicKey(XMSS_Parameters::xmss_algorithm_t xmss_oid, + const secure_vector& root, + const secure_vector& public_seed) + : m_xmss_params(xmss_oid), m_wots_params(m_xmss_params.ots_oid()), + m_root(root), m_public_seed(public_seed) {} + + /** + * Creates a new XMSS public key for a chosen XMSS signature method as + * well as pre-computed root node and public_seed values. + * + * @param xmss_oid Identifier for the selected XMSS signature method. + * @param root Root node value. + * @param public_seed Public seed value. + **/ + XMSS_PublicKey(XMSS_Parameters::xmss_algorithm_t xmss_oid, + secure_vector&& root, + secure_vector&& public_seed) + : m_xmss_params(xmss_oid), m_wots_params(m_xmss_params.ots_oid()), + m_root(std::move(root)), m_public_seed(std::move(public_seed)) {} + + /** + * Retrieves the chosen XMSS signature method. + * + * @return XMSS signature method identifier. + **/ + XMSS_Parameters::xmss_algorithm_t xmss_oid() const + { + return m_xmss_params.oid(); + } + + /** + * Sets the chosen XMSS signature method + **/ + void set_xmss_oid(XMSS_Parameters::xmss_algorithm_t xmss_oid) + { + m_xmss_params = XMSS_Parameters(xmss_oid); + m_wots_params = XMSS_WOTS_Parameters(m_xmss_params.ots_oid()); + } + + /** + * Retrieves the XMSS parameters determined by the chosen XMSS Signature + * method. + * + * @return XMSS parameters. + **/ + const XMSS_Parameters& xmss_parameters() const + { + return m_xmss_params; + } + + /** + * Retrieves the XMSS parameters determined by the chosen XMSS Signature + * method. + * + * @return XMSS parameters. + **/ + std::string xmss_hash_function() const + { + return m_xmss_params.hash_function_name(); + } + + /** + * Retrieves the Winternitz One Time Signature (WOTS) method, + * corresponding to the chosen XMSS signature method. + * + * @return XMSS WOTS signature method identifier. + **/ + XMSS_WOTS_Parameters::ots_algorithm_t wots_oid() const + { + return m_wots_params.oid(); + } + + /** + * Retrieves the Winternitz One Time Signature (WOTS) parameters + * corresponding to the chosen XMSS signature method. + * + * @return XMSS WOTS signature method parameters. + **/ + const XMSS_WOTS_Parameters& wots_parameters() const + { + return m_wots_params; + } + + secure_vector& root() + { + return m_root; + } + + void set_root(const secure_vector& root) + { + m_root = root; + } + + void set_root(secure_vector&& root) + { + m_root = std::move(root); + } + + const secure_vector& root() const + { + return m_root; + } + + virtual secure_vector& public_seed() + { + return m_public_seed; + } + + virtual void set_public_seed(const secure_vector& public_seed) + { + m_public_seed = public_seed; + } + + virtual void set_public_seed(secure_vector&& public_seed) + { + m_public_seed = std::move(public_seed); + } + + virtual const secure_vector& public_seed() const + { + return m_public_seed; + } + + std::string algo_name() const override + { + return "XMSS"; + } + + AlgorithmIdentifier algorithm_identifier() const override + { + return AlgorithmIdentifier(get_oid(), AlgorithmIdentifier::USE_EMPTY_PARAM); + } + + bool check_key(RandomNumberGenerator&, bool) const override + { + return true; + } + + std::unique_ptr + create_verification_op(const std::string&, + const std::string& provider) const override; + + size_t estimated_strength() const override + { + return m_xmss_params.estimated_strength(); + } + + size_t key_length() const override + { + return m_xmss_params.estimated_strength(); + } + + /** + * Returns the encoded public key as defined in RFC + * draft-vangeest-x509-hash-sigs-03. + * + * @return encoded public key bits + **/ + std::vector public_key_bits() const override; + + /** + * Size in bytes of the serialized XMSS public key produced by + * raw_public_key(). + * + * @return size in bytes of serialized Public Key. + **/ + virtual size_t size() const + { + return sizeof(uint32_t) + 2 * m_xmss_params.element_size(); + } + + /** + * Generates a byte sequence representing the XMSS + * public key, as defined in [1] (p. 23, "XMSS Public Key") + * + * @return 4-byte OID, followed by n-byte root node, followed by + * public seed. + **/ + virtual std::vector raw_public_key() const; + + protected: + std::vector m_raw_key; + XMSS_Parameters m_xmss_params; + XMSS_WOTS_Parameters m_wots_params; + secure_vector m_root; + secure_vector m_public_seed; + + private: + XMSS_Parameters::xmss_algorithm_t deserialize_xmss_oid( + const std::vector& raw_key); + }; + +template class Atomic; + +class XMSS_Index_Registry; + +/** + * An XMSS: Extended Hash-Based Signature private key. + * The XMSS private key does not support the X509 and PKCS7 standard. Instead + * the raw format described in [1] is used. + * + * [1] XMSS: Extended Hash-Based Signatures, + * Request for Comments: 8391 + * Release: May 2018. + * https://datatracker.ietf.org/doc/rfc8391/ + **/ +class BOTAN_PUBLIC_API(2,0) XMSS_PrivateKey final : public virtual XMSS_PublicKey, + public virtual Private_Key + { + public: + /** + * Creates a new XMSS private key for the chosen XMSS signature method. + * New seeds for public/private key and pseudo random function input are + * generated using the provided RNG. The appropriate WOTS signature method + * will be automatically set based on the chosen XMSS signature method. + * + * @param xmss_algo_id Identifier for the selected XMSS signature method. + * @param rng A random number generator to use for key generation. + **/ + XMSS_PrivateKey(XMSS_Parameters::xmss_algorithm_t xmss_algo_id, + RandomNumberGenerator& rng); + + /** + * Creates an XMSS_PrivateKey from a byte sequence produced by + * raw_private_key(). + * + * @param raw_key An XMSS private key serialized using raw_private_key(). + **/ + XMSS_PrivateKey(const secure_vector& raw_key); + + /** + * Creates a new XMSS private key for the chosen XMSS signature method + * using precomputed seeds for public/private keys and pseudo random + * function input. The appropriate WOTS signature method will be + * automatically set, based on the chosen XMSS signature method. + * + * @param xmss_algo_id Identifier for the selected XMSS signature method. + * @param idx_leaf Index of the next unused leaf. + * @param wots_priv_seed A seed to generate a Winternitz-One-Time- + * Signature private key from. + * @param prf a secret n-byte key sourced from a secure source + * of uniformly random data. + * @param root Root node of the binary hash tree. + * @param public_seed The public seed. + **/ + XMSS_PrivateKey(XMSS_Parameters::xmss_algorithm_t xmss_algo_id, + size_t idx_leaf, + const secure_vector& wots_priv_seed, + const secure_vector& prf, + const secure_vector& root, + const secure_vector& public_seed); + + bool stateful_operation() const override { return true; } + + /** + * Retrieves the last unused leaf index of the private key. Reusing a leaf + * by utilizing leaf indices lower than the last unused leaf index will + * compromise security. + * + * @return Index of the last unused leaf. + **/ + size_t unused_leaf_index() const; + + /** + * Sets the last unused leaf index of the private key. The leaf index + * will be updated automatically during every signing operation, and + * should not be set manually. + * + * @param idx Index of the last unused leaf. + **/ + void set_unused_leaf_index(size_t idx); + + size_t reserve_unused_leaf_index(); + + /** + * Winternitz One Time Signature Scheme key utilized for signing + * operations. + * + * @return WOTS+ private key. + **/ + const XMSS_WOTS_PrivateKey& wots_private_key() const + { + return m_wots_priv_key; + } + + /** + * Winternitz One Time Signature Scheme key utilized for signing + * operations. + * + * @return WOTS+ private key. + **/ + XMSS_WOTS_PrivateKey& wots_private_key() + { + return m_wots_priv_key; + } + + const secure_vector& prf() const + { + return m_prf; + } + + secure_vector& prf() + { + return m_prf; + } + + void set_public_seed( + const secure_vector& public_seed) override + { + m_public_seed = public_seed; + m_wots_priv_key.set_public_seed(public_seed); + } + + void set_public_seed(secure_vector&& public_seed) override + { + m_public_seed = std::move(public_seed); + m_wots_priv_key.set_public_seed(m_public_seed); + } + + const secure_vector& public_seed() const override + { + return m_public_seed; + } + + std::unique_ptr + create_signature_op(RandomNumberGenerator&, + const std::string&, + const std::string& provider) const override; + + secure_vector private_key_bits() const override; + + size_t size() const override + { + return XMSS_PublicKey::size() + + sizeof(uint32_t) + + 2 * XMSS_PublicKey::m_xmss_params.element_size(); + } + + /** + * Generates a non standartized byte sequence representing the XMSS + * private key. + * + * @return byte sequence consisting of the following elements in order: + * 4-byte OID, n-byte root node, n-byte public seed, + * 8-byte unused leaf index, n-byte prf seed, n-byte private seed. + **/ + secure_vector raw_private_key() const; + /** + * Algorithm 9: "treeHash" + * Computes the internal n-byte nodes of a Merkle tree. + * + * @param start_idx The start index. + * @param target_node_height Height of the target node. + * @param adrs Address of the tree containing the target node. + * + * @return The root node of a tree of height target_node height with the + * leftmost leaf being the hash of the WOTS+ pk with index + * start_idx. + **/ + secure_vector tree_hash( + size_t start_idx, + size_t target_node_height, + XMSS_Address& adrs); + + private: + /** + * Fetches shared unused leaf index from the index registry + **/ + std::shared_ptr> recover_global_leaf_index() const; + + inline void tree_hash_subtree(secure_vector& result, + size_t start_idx, + size_t target_node_height, + XMSS_Address& adrs) + { + return tree_hash_subtree(result, start_idx, target_node_height, adrs, m_hash); + } + + + /** + * Helper for multithreaded tree hashing. + */ + void tree_hash_subtree(secure_vector& result, + size_t start_idx, + size_t target_node_height, + XMSS_Address& adrs, + XMSS_Hash& hash); + + XMSS_WOTS_PrivateKey m_wots_priv_key; + XMSS_Hash m_hash; + secure_vector m_prf; + XMSS_Index_Registry& m_index_reg; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_hash.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_hash.h new file mode 100644 index 00000000..5d8cbab5 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_hash.h @@ -0,0 +1,156 @@ +/* + * XMSS Hash + * (C) 2016,2017 Matthias Gierlings + * + * Botan is released under the Simplified BSD License (see license.txt) + **/ + +#ifndef BOTAN_XMSS_HASH_H_ +#define BOTAN_XMSS_HASH_H_ + +#include + +//BOTAN_FUTURE_INTERNAL_HEADER(xmss_hash.h) + +namespace Botan { + +/** + * A collection of pseudorandom hash functions required for XMSS and WOTS + * computations. + **/ +class XMSS_Hash final + { + public: + XMSS_Hash(const std::string& h_func_name); + XMSS_Hash(const XMSS_Hash& hash); + + /** + * Pseudoranom function creating a hash out of a key and data using + * a cryptographic hash function. + * + * @param[out] result The hash calculated using key and data. + * @param[in] key An n-byte key value. + * @param[in] data A 32-byte XMSS_Address data value + **/ + inline void prf(secure_vector& result, + const secure_vector& key, + const secure_vector& data) + { + m_hash->update(m_zero_padding); + m_hash->update(m_id_prf); + m_hash->update(key); + m_hash->update(data); + m_hash->final(result); + } + + /** + * Pseudoranom function creating a hash out of a key and data using + * a cryptographic hash function. + * + * @param[in] key An n-byte key value. + * @param[in] data A 32-byte XMSS_Address data value + * @return result The hash calculated using key and data. + **/ + inline secure_vector prf(const secure_vector& key, + const secure_vector& data) + { + m_hash->update(m_zero_padding); + m_hash->update(m_id_prf); + m_hash->update(key); + m_hash->update(data); + return m_hash->final(); + } + + /** + * F is a keyed cryptographic hash function used by the WOTS+ algorithm. + * + * @param[out] result The hash calculated using key and data. + * @param[in] key key of length n bytes. + * @param[in] data string of arbitrary length. + **/ + void f(secure_vector& result, + const secure_vector& key, + const secure_vector& data) + { + m_hash->update(m_zero_padding); + m_hash->update(m_id_f); + m_hash->update(key); + m_hash->update(data); + m_hash->final(result); + } + + /** + * Cryptographic hash function h accepting n byte keys and 2n byte + * strings of data. + * + * @param[out] result The hash calculated using key and data. + * @param[in] key key of length n bytes. + * @param[in] data string of 2n bytes length. + **/ + void h(secure_vector& result, + const secure_vector& key, + const secure_vector& data); + + /** + * Cryptographic hash function h accepting 3n byte keys and data + * strings of arbitrary length. + * + * @param randomness n-byte value. + * @param root n-byte root node. + * @param index_bytes Index value padded with leading zeros. + * @param data string of arbitrary length. + * + * @return hash value of n-bytes length. + **/ + secure_vector h_msg(const secure_vector& randomness, + const secure_vector& root, + const secure_vector& index_bytes, + const secure_vector& data); + + /** + * Initializes buffered h_msg computation with prefix data. + * + * @param randomness random n-byte value. + * @param root n-byte root node. + * @param index_bytes Index value padded with leading zeros. + **/ + void h_msg_init(const secure_vector& randomness, + const secure_vector& root, + const secure_vector& index_bytes); + + /** + * Adds a message block to buffered h_msg computation. + * + * @param data A message block + * @param size Length of the message block in bytes. + **/ + void h_msg_update(const uint8_t data[], size_t size); + + /** + * Finalizes buffered h_msg computation and retrieves the result. + * + * @return Hash calculated using the prefix set by h_msg_init() and + * message blocks provided through calls to h_msg_update(). + **/ + secure_vector h_msg_final(); + + size_t output_length() const { return m_output_length; } + + private: + static const uint8_t m_id_f = 0x00; + static const uint8_t m_id_h = 0x01; + static const uint8_t m_id_hmsg = 0x02; + static const uint8_t m_id_prf = 0x03; + + std::unique_ptr m_hash; + std::unique_ptr m_msg_hash; + //32 byte id prefixes prepended to the hash input. + std::vector m_zero_padding; + size_t m_output_length; + const std::string m_hash_func_name; + + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_key_pair.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_key_pair.h new file mode 100644 index 00000000..19e23c77 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_key_pair.h @@ -0,0 +1,49 @@ +/* + * XMSS Key Pair + * (C) 2016 Matthias Gierlings + * + * Botan is released under the Simplified BSD License (see license.txt) + **/ + +#ifndef BOTAN_XMSS_KEY_PAIR_H_ +#define BOTAN_XMSS_KEY_PAIR_H_ + +#include + +BOTAN_DEPRECATED_HEADER(xmss_key_pair.h) + +namespace Botan { + +/** + * A pair of XMSS public and private key. + **/ +class BOTAN_PUBLIC_API(2,0) XMSS_Key_Pair + { + public: + XMSS_Key_Pair(XMSS_Parameters::xmss_algorithm_t xmss_oid, + RandomNumberGenerator& rng) + : m_priv_key(xmss_oid, rng), m_pub_key(m_priv_key) {} + + XMSS_Key_Pair(const XMSS_PublicKey& pub_key, + const XMSS_PrivateKey& priv_key) + : m_priv_key(priv_key), m_pub_key(pub_key) + {} + + XMSS_Key_Pair(XMSS_PublicKey&& pub_key, + XMSS_PrivateKey&& priv_key) + : m_priv_key(std::move(priv_key)), m_pub_key(std::move(pub_key)) {} + + const XMSS_PublicKey& public_key() const { return m_pub_key; } + XMSS_PublicKey& public_key() { return m_pub_key; } + + const XMSS_PrivateKey& private_key() const { return m_priv_key; } + XMSS_PrivateKey& private_key() { return m_priv_key; } + + private: + XMSS_PrivateKey m_priv_key; + XMSS_PublicKey m_pub_key; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_parameters.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_parameters.h new file mode 100644 index 00000000..2f186ac5 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_parameters.h @@ -0,0 +1,119 @@ +/* + * XMSS Parameters + * (C) 2016,2018 Matthias Gierlings + * + * Botan is released under the Simplified BSD License (see license.txt) + **/ + +#ifndef BOTAN_XMSS_PARAMETERS_H_ +#define BOTAN_XMSS_PARAMETERS_H_ + +#include +#include + +namespace Botan { + +/** + * Descibes a signature method for XMSS, as defined in: + * [1] XMSS: Extended Hash-Based Signatures, + * Request for Comments: 8391 + * Release: May 2018. + * https://datatracker.ietf.org/doc/rfc8391/ + **/ +class BOTAN_PUBLIC_API(2,0) XMSS_Parameters + { + public: + enum xmss_algorithm_t + { + XMSS_SHA2_10_256 = 0x00000001, + XMSS_SHA2_16_256 = 0x00000002, + XMSS_SHA2_20_256 = 0x00000003, + XMSS_SHA2_10_512 = 0x00000004, + XMSS_SHA2_16_512 = 0x00000005, + XMSS_SHA2_20_512 = 0x00000006, + XMSS_SHAKE_10_256 = 0x00000007, + XMSS_SHAKE_16_256 = 0x00000008, + XMSS_SHAKE_20_256 = 0x00000009, + XMSS_SHAKE_10_512 = 0x0000000a, + XMSS_SHAKE_16_512 = 0x0000000b, + XMSS_SHAKE_20_512 = 0x0000000c + }; + + static xmss_algorithm_t xmss_id_from_string(const std::string& algo_name); + + XMSS_Parameters(const std::string& algo_name); + XMSS_Parameters(xmss_algorithm_t oid); + + /** + * @return XMSS registry name for the chosen parameter set. + **/ + const std::string& name() const + { + return m_name; + } + + const std::string& hash_function_name() const + { + return m_hash_name; + } + + /** + * Retrieves the uniform length of a message, and the size of + * each node. This correlates to XMSS parameter "n" defined + * in [1]. + * + * @return element length in bytes. + **/ + size_t element_size() const { return m_element_size; } + + /** + * @returns The height (number of levels - 1) of the tree + **/ + size_t tree_height() const { return m_tree_height; } + + /** + * The Winternitz parameter. + * + * @return numeric base used for internal representation of + * data. + **/ + size_t wots_parameter() const { return m_w; } + + size_t len() const { return m_len; } + + xmss_algorithm_t oid() const { return m_oid; } + + XMSS_WOTS_Parameters::ots_algorithm_t ots_oid() const + { + return m_wots_oid; + } + + /** + * Returns the estimated pre-quantum security level of + * the chosen algorithm. + **/ + size_t estimated_strength() const + { + return m_strength; + } + + bool operator==(const XMSS_Parameters& p) const + { + return m_oid == p.m_oid; + } + + private: + xmss_algorithm_t m_oid; + XMSS_WOTS_Parameters::ots_algorithm_t m_wots_oid; + std::string m_name; + std::string m_hash_name; + size_t m_element_size; + size_t m_tree_height; + size_t m_w; + size_t m_len; + size_t m_strength; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_privatekey.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_privatekey.h new file mode 100644 index 00000000..dc040e44 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_privatekey.h @@ -0,0 +1,13 @@ +/* + * (C) 2016,2017,2018 Matthias Gierlings + * + * Botan is released under the Simplified BSD License (see license.txt) + **/ + +#ifndef BOTAN_XMSS_PRIVATEKEY_H_ +#define BOTAN_XMSS_PRIVATEKEY_H_ + +#include +BOTAN_DEPRECATED_HEADER(xmss_privatekey.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_publickey.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_publickey.h new file mode 100644 index 00000000..eba27fc9 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_publickey.h @@ -0,0 +1,14 @@ +/* + * (C) 2016,2017,2018 Matthias Gierlings + * + * Botan is released under the Simplified BSD License (see license.txt) + **/ + +#ifndef BOTAN_XMSS_PUBLICKEY_H_ +#define BOTAN_XMSS_PUBLICKEY_H_ + +#include +BOTAN_DEPRECATED_HEADER(xmss_publickey.h) + +#endif + diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_wots.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_wots.h new file mode 100644 index 00000000..d85e889b --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_wots.h @@ -0,0 +1,752 @@ +/* + * XMSS WOTS + * (C) 2016,2018 Matthias Gierlings + * + * Botan is released under the Simplified BSD License (see license.txt) + **/ + +#ifndef BOTAN_XMSS_WOTS_H_ +#define BOTAN_XMSS_WOTS_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Botan { + +/** + * Descibes a signature method for XMSS Winternitz One Time Signatures, + * as defined in: + * [1] XMSS: Extended Hash-Based Signatures, + * Request for Comments: 8391 + * Release: May 2018. + * https://datatracker.ietf.org/doc/rfc8391/ + **/ +class XMSS_WOTS_Parameters final + { + public: + enum ots_algorithm_t + { + WOTSP_SHA2_256 = 0x00000001, + WOTSP_SHA2_512 = 0x00000002, + WOTSP_SHAKE_256 = 0x00000003, + WOTSP_SHAKE_512 = 0x00000004 + }; + + XMSS_WOTS_Parameters(const std::string& algo_name); + XMSS_WOTS_Parameters(ots_algorithm_t ots_spec); + + static ots_algorithm_t xmss_wots_id_from_string(const std::string& param_set); + + /** + * Algorithm 1: convert input string to base. + * + * @param msg Input string (referred to as X in [1]). + * @param out_size size of message in base w. + * + * @return Input string converted to the given base. + **/ + secure_vector base_w(const secure_vector& msg, size_t out_size) const; + + secure_vector base_w(size_t value) const; + + void append_checksum(secure_vector& data); + + /** + * @return XMSS WOTS registry name for the chosen parameter set. + **/ + const std::string& name() const + { + return m_name; + } + + /** + * @return Botan name for the hash function used. + **/ + const std::string& hash_function_name() const + { + return m_hash_name; + } + + /** + * Retrieves the uniform length of a message, and the size of + * each node. This correlates to XMSS parameter "n" defined + * in [1]. + * + * @return element length in bytes. + **/ + size_t element_size() const { return m_element_size; } + + /** + * The Winternitz parameter. + * + * @return numeric base used for internal representation of + * data. + **/ + size_t wots_parameter() const { return m_w; } + + size_t len() const { return m_len; } + + size_t len_1() const { return m_len_1; } + + size_t len_2() const { return m_len_2; } + + size_t lg_w() const { return m_lg_w; } + + ots_algorithm_t oid() const { return m_oid; } + + size_t estimated_strength() const { return m_strength; } + + bool operator==(const XMSS_WOTS_Parameters& p) const + { + return m_oid == p.m_oid; + } + + private: + static const std::map m_oid_name_lut; + ots_algorithm_t m_oid; + std::string m_name; + std::string m_hash_name; + size_t m_element_size; + size_t m_w; + size_t m_len_1; + size_t m_len_2; + size_t m_len; + size_t m_strength; + uint8_t m_lg_w; + }; + +class XMSS_Address; + +typedef std::vector> wots_keysig_t; + +/** + * A Winternitz One Time Signature public key for use with Extended Hash-Based + * Signatures. + **/ +class XMSS_WOTS_PublicKey : virtual public Public_Key + { + public: + class TreeSignature final + { + public: + TreeSignature() = default; + + TreeSignature(const wots_keysig_t& ots_sig, + const wots_keysig_t& auth_path) + : m_ots_sig(ots_sig), m_auth_path(auth_path) + {} + + TreeSignature(wots_keysig_t&& ots_sig, + wots_keysig_t&& auth_path) + : m_ots_sig(std::move(ots_sig)), + m_auth_path(std::move(auth_path)) + {} + + const wots_keysig_t& ots_signature() const + { + return m_ots_sig; + } + + wots_keysig_t& ots_signature() + { + return m_ots_sig; + } + + const wots_keysig_t& authentication_path() const + { + return m_auth_path; + } + + wots_keysig_t& authentication_path() + { + return m_auth_path; + } + + private: + wots_keysig_t m_ots_sig; + wots_keysig_t m_auth_path; + }; + + /** + * Creates a XMSS_WOTS_PublicKey for the signature method identified by + * oid. The public seed for this key will be initialized with a + * uniformly random n-byte value, where "n" is the element size of the + * selected signature method. + * + * @param oid Identifier for the selected signature method. + **/ + XMSS_WOTS_PublicKey(XMSS_WOTS_Parameters::ots_algorithm_t oid) + : m_wots_params(oid), + m_hash(m_wots_params.hash_function_name()) {} + + /** + * Creates a XMSS_WOTS_PublicKey for the signature method identified by + * oid. The public seed for this key will be initialized with a + * uniformly random n-byte value, where "n" is the element size of the + * selected signature method. + * + * @param oid Identifier for the selected signature method. + * @param rng A random number generate used to generate the public seed. + **/ + XMSS_WOTS_PublicKey(XMSS_WOTS_Parameters::ots_algorithm_t oid, + RandomNumberGenerator& rng) + : m_wots_params(oid), + m_hash(m_wots_params.hash_function_name()), + m_public_seed(rng.random_vec(m_wots_params.element_size())) {} + + /** + * Creates a XMSS_WOTS_PrivateKey for the signature method identified by + * oid, with a precomputed public seed. + * + * @param oid Identifier for the selected signature method. + * @param public_seed A precomputed public seed of n-bytes length. + **/ + XMSS_WOTS_PublicKey(XMSS_WOTS_Parameters::ots_algorithm_t oid, + secure_vector public_seed) + : m_wots_params(oid), + m_hash(m_wots_params.hash_function_name()), + m_public_seed(public_seed) {} + + /** + * Creates a XMSS_WOTS_PublicKey for the signature method identified by + * oid. The public seed will be initialized with a precomputed seed and + * and precomputed key data which should be derived from a + * XMSS_WOTS_PrivateKey. + * + * @param oid Ident:s/ifier for the selected signature methods. + * @param public_seed A precomputed public seed of n-bytes length. + * @param key Precomputed raw key data of the XMSS_WOTS_PublicKey. + **/ + XMSS_WOTS_PublicKey(XMSS_WOTS_Parameters::ots_algorithm_t oid, + secure_vector&& public_seed, + wots_keysig_t&& key) + : m_wots_params(oid), + m_hash(m_wots_params.hash_function_name()), + m_key(std::move(key)), + m_public_seed(std::move(public_seed)) + {} + + /** + * Creates a XMSS_WOTS_PublicKey for the signature method identified by + * oid. The public seed will be initialized with a precomputed seed and + * and precomputed key data which should be derived from a + * XMSS_WOTS_PrivateKey. + * + * @param oid Identifier for the selected signature methods. + * @param public_seed A precomputed public seed of n-bytes length. + * @param key Precomputed raw key data of the XMSS_WOTS_PublicKey. + **/ + XMSS_WOTS_PublicKey(XMSS_WOTS_Parameters::ots_algorithm_t oid, + const secure_vector& public_seed, + const wots_keysig_t& key) + : m_wots_params(oid), + m_hash(m_wots_params.hash_function_name()), + m_key(key), + m_public_seed(public_seed) + {} + + /** + * Creates a XMSS_WOTS_PublicKey form a message and signature using + * Algorithm 6 WOTS_pkFromSig defined in the XMSS standard. This + * overload is used to verify a message using a public key. + * + * @param oid WOTSP algorithm identifier. + * @param msg A message. + * @param sig A WOTS signature for msg. + * @param adrs An XMSS_Address. + * @param public_seed The public public_seed. + **/ + XMSS_WOTS_PublicKey(XMSS_WOTS_Parameters::ots_algorithm_t oid, + const secure_vector& msg, + const wots_keysig_t& sig, + XMSS_Address& adrs, + const secure_vector& public_seed) + : m_wots_params(oid), + m_hash(m_wots_params.hash_function_name()), + m_key(pub_key_from_signature(msg, + sig, + adrs, + public_seed)), + m_public_seed(public_seed) + {} + + /** + * Retrieves the i-th element out of the length len chain of + * n-byte elements contained in the public key. + * + * @param i index of the element. + * @returns n-byte element addressed by i. + **/ + const secure_vector& operator[](size_t i) const { return m_key[i]; } + secure_vector& operator[](size_t i) { return m_key[i]; } + + /** + * Convert the key into the raw key data. The key becomes a length + * len vector of n-byte elements. + **/ + operator const wots_keysig_t& () const { return m_key; } + + /** + * Convert the key into the raw key data. The key becomes a length + * len vector of n-byte elements. + **/ + operator wots_keysig_t& () { return m_key; } + + const secure_vector& public_seed() const { return m_public_seed; } + + secure_vector& public_seed() { return m_public_seed; } + + void set_public_seed(const secure_vector& public_seed) + { + m_public_seed = public_seed; + } + + void set_public_seed(secure_vector&& public_seed) + { + m_public_seed = std::move(public_seed); + } + + const wots_keysig_t& key_data() const { return m_key; } + + wots_keysig_t& key_data() { return m_key; } + + void set_key_data(const wots_keysig_t& key_data) + { + m_key = key_data; + } + + void set_key_data(wots_keysig_t&& key_data) + { + m_key = std::move(key_data); + } + + const XMSS_WOTS_Parameters& wots_parameters() const + { + return m_wots_params; + } + + std::string algo_name() const override + { + return m_wots_params.name(); + } + + AlgorithmIdentifier algorithm_identifier() const override + { + throw Not_Implemented("No AlgorithmIdentifier available for XMSS-WOTS."); + } + + bool check_key(RandomNumberGenerator&, bool) const override + { + return true; + } + + size_t estimated_strength() const override + { + return m_wots_params.estimated_strength(); + } + + size_t key_length() const override + { + return m_wots_params.estimated_strength(); + } + + std::vector public_key_bits() const override + { + throw Not_Implemented("No key format defined for XMSS-WOTS"); + } + + bool operator==(const XMSS_WOTS_PublicKey& key) + { + return m_key == key.m_key; + } + + bool operator!=(const XMSS_WOTS_PublicKey& key) + { + return !(*this == key); + } + + protected: + /** + * Algorithm 2: Chaining Function. + * + * Takes an n-byte input string and transforms it into a the function + * result iterating the cryptographic hash function "F" steps times on + * the input x using the outputs of the PRNG "G". + * + * This overload is used in multithreaded scenarios, where it is + * required to provide seperate instances of XMSS_Hash to each + * thread. + * + * @param[out] x An n-byte input string, that will be transformed into + * the chaining function result. + * @param start_idx The start index. + * @param steps A number of steps. + * @param adrs An OTS Hash Address. + * @param public_seed A public seed. + * @param hash Instance of XMSS_Hash, that may only by the thead + * executing chain. + **/ + void chain(secure_vector& x, + size_t start_idx, + size_t steps, + XMSS_Address& adrs, + const secure_vector& public_seed, + XMSS_Hash& hash); + + /** + * Algorithm 2: Chaining Function. + * + * Takes an n-byte input string and transforms it into a the function + * result iterating the cryptographic hash function "F" steps times on + * the input x using the outputs of the PRNG "G". + * + * @param[out] x An n-byte input string, that will be transformed into + * the chaining function result. + * @param start_idx The start index. + * @param steps A number of steps. + * @param adrs An OTS Hash Address. + * @param public_seed A public seed. + **/ + inline void chain(secure_vector& x, + size_t start_idx, + size_t steps, + XMSS_Address& adrs, + const secure_vector& public_seed) + { + chain(x, start_idx, steps, adrs, public_seed, m_hash); + } + + XMSS_WOTS_Parameters m_wots_params; + XMSS_Hash m_hash; + wots_keysig_t m_key; + secure_vector m_public_seed; + + private: + /** + * Algorithm 6: "WOTS_pkFromSig" + * Computes a Winternitz One Time Signature+ public key from a message and + * its signature. + * + * @param msg A message. + * @param sig The signature for msg. + * @param adrs An address. + * @param public_seed A public_seed. + * + * @return Temporary WOTS+ public key. + **/ + wots_keysig_t pub_key_from_signature( + const secure_vector& msg, + const wots_keysig_t& sig, + XMSS_Address& adrs, + const secure_vector& public_seed); + }; + +/** A Winternitz One Time Signature private key for use with Extended Hash-Based + * Signatures. + **/ +class XMSS_WOTS_PrivateKey final : public virtual XMSS_WOTS_PublicKey, + public virtual Private_Key + { + public: + /** + * Creates a WOTS private key for the chosen XMSS WOTS signature method. + * Members need to be initialized manually. + * + * @param oid Identifier for the selected signature method. + **/ + XMSS_WOTS_PrivateKey(XMSS_WOTS_Parameters::ots_algorithm_t oid) + : XMSS_WOTS_PublicKey(oid) + {} + + /** + * Creates a WOTS private key for the chosen XMSS WOTS signature method. + * + * @param oid Identifier for the selected signature method. + * @param rng A random number generator to use for key generation. + **/ + XMSS_WOTS_PrivateKey(XMSS_WOTS_Parameters::ots_algorithm_t oid, + RandomNumberGenerator& rng) + : XMSS_WOTS_PublicKey(oid, rng), + m_private_seed(rng.random_vec(m_wots_params.element_size())) + { + set_key_data(generate(m_private_seed)); + } + + /** + * Constructs a WOTS private key. Chains will be generated on demand + * applying a hash function to a unique value generated from a secret + * seed and a counter. The secret seed of length n, will be + * automatically generated using AutoSeeded_RNG(). "n" equals + * the element size of the chosen WOTS security parameter set. + * + * @param oid Identifier for the selected signature method. + * @param public_seed A public seed used for the pseudo random generation + * of public keys derived from this private key. + * @param rng A random number generator to use for key generation. + **/ + XMSS_WOTS_PrivateKey(XMSS_WOTS_Parameters::ots_algorithm_t oid, + const secure_vector& public_seed, + RandomNumberGenerator& rng) + : XMSS_WOTS_PublicKey(oid, public_seed), + m_private_seed(rng.random_vec(m_wots_params.element_size())) + { + set_key_data(generate(m_private_seed)); + } + + /** + * Constructs a WOTS private key. Chains will be generated on demand + * applying a hash function to a unique value generated from a secret + * seed and a counter. The secret seed of length n, will be + * automatically generated using AutoSeeded_RNG(). "n" equals + * the element size of the chosen WOTS security parameter set. + * + * @param oid Identifier for the selected signature method. + * @param public_seed A public seed used for the pseudo random generation + * of public keys derived from this private key. + **/ + XMSS_WOTS_PrivateKey(XMSS_WOTS_Parameters::ots_algorithm_t oid, + const secure_vector& public_seed) + : XMSS_WOTS_PublicKey(oid, public_seed) + {} + + /** + * Constructs a WOTS private key. Chains will be generated on demand + * applying a hash function to a unique value generated from the + * secret seed and a counter. + * + * @param oid Identifier for the selected signature method. + * @param public_seed A public seed used for the pseudo random generation + * of public keys derived from this private key. + * @param private_seed A secret uniformly random n-byte value. + **/ + XMSS_WOTS_PrivateKey(XMSS_WOTS_Parameters::ots_algorithm_t oid, + const secure_vector& public_seed, + const secure_vector& private_seed) + : XMSS_WOTS_PublicKey(oid, public_seed), + m_private_seed(private_seed) + { + set_key_data(generate(private_seed)); + } + + /** + * Retrieves the i-th WOTS private key using pseudo random key + * (re-)generation. + * + * This overload is used in multithreaded scenarios, where it is + * required to provide seperate instances of XMSS_Hash to each + * thread. + * + * @param i Index of the key to retrieve. + * @param hash Instance of XMSS_Hash, that may only be used by the + * thead executing at. + * + * @return WOTS secret key. + **/ + wots_keysig_t at(size_t i, XMSS_Hash& hash); + + /** + * Retrieves the i-th WOTS private key using pseudo random key + * (re-)generation. + * + * @param i Index of the key to retrieve. + * + * @return WOTS secret key. + **/ + inline wots_keysig_t operator[](size_t i) + { + return this->at(i, m_hash); + } + + /** + * Retrieves the i-th WOTS private key using pseudo random key + * (re-)generation. + * + * This overload is used in multithreaded scenarios, where it is + * required to provide seperate instances of XMSS_Hash to each + * thread. + * + * @param adrs The address of the key to retrieve. + * @param hash Instance of XMSS_Hash, that may only be used by the + * thead executing at. + * + * @return WOTS secret key. + **/ + wots_keysig_t at(const XMSS_Address& adrs, XMSS_Hash& hash); + + inline wots_keysig_t operator[](const XMSS_Address& adrs) + { + return this->at(adrs, m_hash); + } + + wots_keysig_t generate_private_key(const secure_vector& priv_seed); + + /** + * Algorithm 4: "WOTS_genPK" + * Generates a Winternitz One Time Signature+ (WOTS+) Public Key from a + * given private key. + * + * @param adrs Hash function address encoding the address of the WOTS+ + * key pair within a greater structure. + * + * @return A XMSS_WOTS_PublicKey. + **/ + XMSS_WOTS_PublicKey generate_public_key(XMSS_Address& adrs); + + /** + * Algorithm 4: "WOTS_genPK" + * Initializes a Winternitz One Time Signature+ (WOTS+) Public Key's + * key_data() member, with data derived from in_key_data using the + * WOTS chaining function. + * + * This overload is used in multithreaded scenarios, where it is + * required to provide seperate instances of XMSS_Hash to each + * thread. + * + * @param[out] pub_key Public key to initialize key_data() member on. + * @param in_key_data Input key material from private key used for + * public key generation. + * @param adrs Hash function address encoding the address of + * the WOTS+ key pair within a greater structure. + * @param hash Instance of XMSS_Hash, that may only by the thead + * executing generate_public_key. + **/ + void generate_public_key(XMSS_WOTS_PublicKey& pub_key, + wots_keysig_t&& in_key_data, + XMSS_Address& adrs, + XMSS_Hash& hash); + /** + * Algorithm 4: "WOTS_genPK" + * Initializes a Winternitz One Time Signature+ (WOTS+) Public Key's + * key_data() member, with data derived from in_key_data using the + * WOTS chaining function. + * + * @param[out] pub_key Public key to initialize key_data() member on. + * @param in_key_data Input key material from private key used for + * public key generation. + * @param adrs Hash function address encoding the address of + * the WOTS+ key pair within a greater structure. + **/ + inline void generate_public_key(XMSS_WOTS_PublicKey& pub_key, + wots_keysig_t&& in_key_data, + XMSS_Address& adrs) + { + generate_public_key(pub_key, std::forward(in_key_data), adrs, m_hash); + } + + /** + * Algorithm 5: "WOTS_sign" + * Generates a signature from a private key and a message. + * + * @param msg A message to sign. + * @param adrs An OTS hash address identifying the WOTS+ key pair + * used for signing. + * + * @return signature for msg. + **/ + inline wots_keysig_t sign(const secure_vector& msg, + XMSS_Address& adrs) + { + return sign(msg, adrs, m_hash); + } + + /** + * Algorithm 5: "WOTS_sign" + * Generates a signature from a private key and a message. + * + * This overload is used in multithreaded scenarios, where it is + * required to provide seperate instances of XMSS_Hash to each + * thread. + * + * @param msg A message to sign. + * @param adrs An OTS hash address identifying the WOTS+ key pair + * used for signing. + * @param hash Instance of XMSS_Hash, that may only be used by the + * thead executing sign. + * + * @return signature for msg. + **/ + wots_keysig_t sign(const secure_vector& msg, + XMSS_Address& adrs, + XMSS_Hash& hash); + + /** + * Retrieves the secret seed used to generate WOTS+ chains. The seed + * should be a uniformly random n-byte value. + * + * @return secret seed. + **/ + const secure_vector& private_seed() const + { + return m_private_seed; + } + + /** + * Sets the secret seed used to generate WOTS+ chains. The seed + * should be a uniformly random n-byte value. + * + * @param private_seed Uniformly random n-byte value. + **/ + void set_private_seed(const secure_vector& private_seed) + { + m_private_seed = private_seed; + } + + /** + * Sets the secret seed used to generate WOTS+ chains. The seed + * should be a uniformly random n-byte value. + * + * @param private_seed Uniformly random n-byte value. + **/ + void set_private_seed(secure_vector&& private_seed) + { + m_private_seed = std::move(private_seed); + } + + AlgorithmIdentifier + pkcs8_algorithm_identifier() const override + { + throw Not_Implemented("No AlgorithmIdentifier available for XMSS-WOTS."); + } + + secure_vector private_key_bits() const override + { + throw Not_Implemented("No PKCS8 key format defined for XMSS-WOTS."); + } + + private: + /** + * Algorithm 3: "Generating a WOTS+ Private Key". + * Generates a private key. + * + * This overload is used in multithreaded scenarios, where it is + * required to provide seperate instances of XMSS_Hash to each thread. + * + * @param private_seed Uniformly random n-byte value. + * @param[in] hash Instance of XMSS_Hash, that may only be used by the + * thead executing generate. + * + * @returns a vector of length key_size() of vectors of n bytes length + * containing uniformly random data. + **/ + wots_keysig_t generate(const secure_vector& private_seed, + XMSS_Hash& hash); + + inline wots_keysig_t generate(const secure_vector& private_seed) + { + return generate(private_seed, m_hash); + } + + secure_vector m_private_seed; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_wots_parameters.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_wots_parameters.h new file mode 100644 index 00000000..e8c3e2b4 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_wots_parameters.h @@ -0,0 +1,14 @@ +/* + * XMSS WOTS Parameters + * (C) 2016,2018 Matthias Gierlings + * + * Botan is released under the Simplified BSD License (see license.txt) + **/ + +#ifndef BOTAN_XMSS_WOTS_PARAMETERS_H_ +#define BOTAN_XMSS_WOTS_PARAMETERS_H_ + +#include +BOTAN_DEPRECATED_HEADER(xmss_wots_parameters.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_wots_privatekey.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_wots_privatekey.h new file mode 100644 index 00000000..2d631598 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_wots_privatekey.h @@ -0,0 +1,15 @@ +/* + * XMSS WOTS Private Key + * (C) 2016,2017 Matthias Gierlings + * + * Botan is released under the Simplified BSD License (see license.txt) + **/ + +#ifndef BOTAN_XMSS_WOTS_PRIVATEKEY_H_ +#define BOTAN_XMSS_WOTS_PRIVATEKEY_H_ + +#include +BOTAN_DEPRECATED_HEADER(xmss_wots_privatekey.h) + +#endif + diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_wots_publickey.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_wots_publickey.h new file mode 100644 index 00000000..796bf4c3 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xmss_wots_publickey.h @@ -0,0 +1,14 @@ +/* + * XMSS WOTS Public Key + * (C) 2016,2017,2018 Matthias Gierlings + * + * Botan is released under the Simplified BSD License (see license.txt) + **/ + +#ifndef BOTAN_XMSS_WOTS_PUBLICKEY_H_ +#define BOTAN_XMSS_WOTS_PUBLICKEY_H_ + +#include +BOTAN_DEPRECATED_HEADER(xmss_wots_publickey.h) + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xtea.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xtea.h new file mode 100644 index 00000000..bae0bc7e --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xtea.h @@ -0,0 +1,37 @@ +/* +* XTEA +* (C) 1999-2007 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_XTEA_H_ +#define BOTAN_XTEA_H_ + +#include + +BOTAN_FUTURE_INTERNAL_HEADER(xtea.h) + +namespace Botan { + +/** +* XTEA +*/ +class BOTAN_PUBLIC_API(2,0) XTEA final : public Block_Cipher_Fixed_Params<8, 16> + { + public: + void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override; + + void clear() override; + std::string name() const override { return "XTEA"; } + BlockCipher* clone() const override { return new XTEA; } + + private: + void key_schedule(const uint8_t[], size_t) override; + secure_vector m_EK; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xts.h b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xts.h new file mode 100644 index 00000000..75de93c0 --- /dev/null +++ b/client/3rd/QtSsh/src/botan/include/macos/botan-2/botan/xts.h @@ -0,0 +1,103 @@ +/* +* XTS mode, from IEEE P1619 +* (C) 2009,2013 Jack Lloyd +* (C) 2016 Daniel Neus, Rohde & Schwarz Cybersecurity +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_MODE_XTS_H_ +#define BOTAN_MODE_XTS_H_ + +#include +#include + +BOTAN_FUTURE_INTERNAL_HEADER(xts.h) + +namespace Botan { + +/** +* IEEE P1619 XTS Mode +*/ +class BOTAN_PUBLIC_API(2,0) XTS_Mode : public Cipher_Mode + { + public: + std::string name() const override; + + size_t update_granularity() const override { return m_cipher_parallelism; } + + size_t minimum_final_size() const override; + + Key_Length_Specification key_spec() const override; + + size_t default_nonce_length() const override; + + bool valid_nonce_length(size_t n) const override; + + void clear() override; + + void reset() override; + + protected: + explicit XTS_Mode(BlockCipher* cipher); + + const uint8_t* tweak() const { return m_tweak.data(); } + + bool tweak_set() const { return m_tweak.empty() == false; } + + const BlockCipher& cipher() const { return *m_cipher; } + + void update_tweak(size_t last_used); + + size_t cipher_block_size() const { return m_cipher_block_size; } + + private: + void start_msg(const uint8_t nonce[], size_t nonce_len) override; + void key_schedule(const uint8_t key[], size_t length) override; + + std::unique_ptr m_cipher; + std::unique_ptr m_tweak_cipher; + secure_vector m_tweak; + const size_t m_cipher_block_size; + const size_t m_cipher_parallelism; + }; + +/** +* IEEE P1619 XTS Encryption +*/ +class BOTAN_PUBLIC_API(2,0) XTS_Encryption final : public XTS_Mode + { + public: + /** + * @param cipher underlying block cipher + */ + explicit XTS_Encryption(BlockCipher* cipher) : XTS_Mode(cipher) {} + + size_t process(uint8_t buf[], size_t size) override; + + void finish(secure_vector& final_block, size_t offset = 0) override; + + size_t output_length(size_t input_length) const override; + }; + +/** +* IEEE P1619 XTS Decryption +*/ +class BOTAN_PUBLIC_API(2,0) XTS_Decryption final : public XTS_Mode + { + public: + /** + * @param cipher underlying block cipher + */ + explicit XTS_Decryption(BlockCipher* cipher) : XTS_Mode(cipher) {} + + size_t process(uint8_t buf[], size_t size) override; + + void finish(secure_vector& final_block, size_t offset = 0) override; + + size_t output_length(size_t input_length) const override; + }; + +} + +#endif diff --git a/client/3rd/QtSsh/src/botan/lib/macos/libbotan-2.a b/client/3rd/QtSsh/src/botan/lib/macos/libbotan-2.a new file mode 100644 index 0000000000000000000000000000000000000000..9166ca798cb23f98a273a2835f092b5d744f34d8 GIT binary patch literal 11272912 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 z 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�TLF*Gi+ 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

    a;grpvB2}ni7FPR>n=`I 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 -?0-dbcY@(QilZ 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ⅆ_jd|`Q_ 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%0DK#}-43Xc$33zNsp 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%0AFdgzt-MR+aZE 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 BWrLUTH{);HfK@-v7dqGVj`%jY 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�gZBQ)B$gnl>h*Y$e) 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�XuL7svY%NMLvjqb6I_y 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%0AxbbM=;a&_kT2eOnqGf!2Ne`b#VN0xFlbNszo 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�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

    Mr(08B z=MSvREiPu9Do|N%Roz9w>N4d!Su!?#k6T{>&c`eEYim|jH6~E5vbL(ijI&q6%$!wK zt1Iw|d0Ab3U1gPIY0E4x`W@lid{l7Fn&vfS`n`9)j~fZIJ>*DjA5w~_ z_Bn(UQI!^~xTq{v^GK`Z=BRov3$Aall`h=ud36jWmQA4roOIdrUaV)qveBuvckrTn%6*bQEoJY z?G^NxXtaXmMf8~H=*|!u9o6!&(NWDD8y(fAw&+OZ+9Kk(+_iCpYtj~;YwO!ZIkvir zes4ZDI=VRVQb#(qEw!aM(di<}>hQ9amsK^^o0DBdEk1}rUnvXs05fKFV^wtMmzVji zJ%tmZ`4<1&RaId@m`v*%*B6(rT|;N}VV2o;hUjQDKSsv*T=~$axU@P-iftNA#1`l4 zg}L-5jE-Lnf8th=;p!>CM@NmpvNcT?C1lB+sYXs^b=9io+Nubf%)|ehtM0kVn`mQI z@tQTIiz~HidS3t66r&( zj`~IGpEi9iKC@Y;YA4sgmRwuY7;LVn zwa!IzE1H_{Ssa$Tvegwewcz4tS(;m>|J9i3S5{qAQ&)!Rv9eli64&4pJQY`qkM0m& zTU!?1AR_#nx=U;D<=WX*O;{;aexGR^OD#Hhv zxpT`_*Ee2T(YQ*bslYDPzpSjdcs7Q8b5&Dg?i}*f*TLm;b7imwLZA*Zn#~-@T^4Mt zs0lXtm!45pT+mpxx~j1XdrM@iB_Q`XW&TnslBaf8OAE@tihut?LD4VpNun;-f2dRi z@k_PVQksI#QWR9of2bt+2PsK@+0uMn5oT+b2YV;?kW%#aA?Jy%_QMI5<%mvZR z>I>m$&Sgu(-PpcqEvBSp{)5Da)7$p6w$yQBBWa^Iy!N#5V$WTYi@UVSb?Yit)~wCt z9a~dPS!FFcqq<)xtEpREujNE@VrV5|lS;EK`C3Rs)#%N)UDbH8=bBY$+pon)j#|iK zB*%%hNRC>xVkF0j4L7VRZ)78)(^@1)EnhK`auAF;>g>f! zmgbfDm(DI*mWvSUEEMzU_UE!;vF2c#T|R&L(KFEJBY)9?1#$yf7UVu)R)G-{lphl` zb8bvf?wpvQyxFlqu_1XeL9=JY1m(pB&5RAgd);>B^J0T$#RlcZ2Ib|($eNjJY3|S5 z6WW7*oAn7m^{@?wMdUU?d><8o)r%<)97+&MGn z78K;q&6(}-%+AS0gpSV5$(fUv2WsZ*Jk4L8Ml%c8)~#N7ay_2D>g&0W-u+}G9>ww) zjn8B8*w^4YK!ykZaq&2E2cA7Ax;%JEg;zDx;4*2*H29zIN$|o0PZ+$=zcszAc=@sj zZT^}#MgO8a>awB0Fz#hgiqS$aFVt*hrKNk9l|{>&Byzm+khu*Hybn+e=!fRP-nJH< zotIr+`Ba@Vjw#f&BTMTiBo6$eFKhz1eGUhfl@%2(D-4rHgUItpz3qfN{&eHz6}*=d zb3q<9<23xCFS~wSNYCpmDepcx=hdOHWslV_y8d3v)+t{W0gI-alHw!ft!b#J43;(P z8?LfIk(G1P37YC-qvGOs2rRD?=UMqGB)WOZ%Brf%RyX45tB$mnm)}Y7>XGxuL7Wp( z-i`&jALDqjS~18UL@N^jx_S_sjQ_aUCwL@1fOO2tb0)qK!&wevOYxr<&ocNQ?-v=1 z@c(H1|FjqF;hFwOuX(2h$^9KK!D$WMsF{|2NBa5~IVl*Z`Wa9imjgW#u9_J%rUS*N z>dx13DGUgw!ffUK(j0$B(G*{x;~y|IpA2Vda4f#l-?3s!Y2lv!kx3eZ4 z!MQ_sm_cymGTltDr?|z@?5EJ?v*{_O`F!Q>Wz`;?ta(k_E6wZup)00%{ryE#ybwXt ziLQ1Ysx#Q5s9Qk|{e*FFEuktwsrgfoJwiguyFu<05=!0%vQLwu<2S^4n+k-M*O}E4 zqd>5A_(&8#CfwC_5lXA2Z!?24<$d)dF2M^ ztmXd#E0I|MahB8@>6Ja`mE8$4fVQQ+EpH}cNNBg17&V*BQL}^2Qp{2F5LmjyC4k7m zNDlBB4=>mK=oe7b=8g$t`e>+!)Y`!5r!IfKx1;%Zx)f`kF+7L$p|nvh z*8T)?hmhTl;O{`{5w4u}(Gis%vUH5A96o5b$8;Sq;E)WmR0i`@2BpKRZ5a%YQjP}T z&JA;kHLvF+2H9?l%C>p*@MM(+ZUZx^!SEPG4rnh;T6?oszz=}MzW8Uhe|WN0-LR$^NYUErI81@c6*rKoejXdLpgbqo6sekfEhe z-gK*W7>&uIdUcV9*fo_WTU8a>i9y76a=1RM{-WR>i_0h6K*8HnFfCAUxzE)eViylB z@c2$$kQF>1i(jzP*Lk_K#IcvY7&|^vdIc~C1VWd40-;K0Aat=CR+l4-A}m(ZiIi{e zdnL+MvNFZ|5e!)u?l1Mh?}A!xhmSCO2C`_rUA5z>3*5nTZKi%7^FSY!Cw))D)vW2u zLoGLbm{(1m60SIRLqbFhy69tE_;vku6c4zvMkF7F7k9GZe(Ir$S{OgWQ&{wsqkRv- zep*eirlJ;9rthKpy6MVnpXx^s)!;=3Plcxrl+*Xnf`w;z8mlg8_H{V7dyf~_X3*7~ z5=S6Mmc}tg!D4@rGRR4o5aI7)@j^FsR;YsxvZSQo;HJDXf=#ozY2TK zli>>;?$vhqTnl0F8t#0b3r>Kx@Slct5@yi#$e|f-Fs_|aqWo6FVs`f5P{^xjvmD+J zm0-9vLvGIDk#Gdeg4>3KxtB1_M8~Y(%D#LlYBmt6_rafTDTZfoqH>gta<*NIazfu} zW;v*dKeX1PTw`*MTBV$^W78@QF%e%9s`Csd!__Xzi_OJ_-jeK(eW7HOk8=}8{Gb}~ z0TqTFDum03M+@l>$80$I`6h-PR?p1}#{X8qn4JKN>&pZ6pLPC@4>);+7Gbtp zl+~O8bugvr#-U4EtPPk`Ty6YdEf89qk14CP1V+?5E`SO0D_eXWx2!`CaJAitZAVE5 z+}goQ?{DFy7p~tIc;J54sg~10IG*M0vroANd&+c~Y8*W7-}^#|<9&1;?T!j>@)=#Q_nw|on3J9i-*&$J&o%!Q&ePyt zH4kwtR5Iju7gbt#zkMzD1^T~WwM}5P zO+b6VM!#~T=2ni>;6>R3kIC*FIGl5%^4zT0q6ubmOpxXP)7XGJN4x*+M|*hpY=_rL z$c02WVn(8I6QnheiSl2k#ld^EtL-b)wc{z@-WLK67}b9ho&(?-44-}(YJFyXXXH$R zYkRmjfIkI#yM^zq0r8>C_8OOwGtLQImf^@*=5(lEN%)ndekJ1#ENKp;k;iumg_Dd^oV?7{C-`^{LHfLyH6)yZs%-`D}>n4+0L@p}(LnP_WO{ z&f$P2+EEg^(pM6y!UXdcd;|n1D$h!sW1hkSqvsfN!*DS+3QcN`IaVpw1CA00{7C*) z?JGp1kY>X`#a4~oX}Px~`>)Y6%|6Ra!|H(#Z90jI-e16PSxX=U4bg+Hee|FE_YbE- zLq+w1;%wXc7CMdc1m_c#OQO7=bC#J_s zU&jvI4|KsLHTu@e__>kYa~N9z+$S{SZsf{d=%up9(%^T%&Ez_FAXM%3XYWT}N6r1! zoHcb>N^~IBhF(8b4ETXIOM~K>J0|Gv3u$$)eeYx58)B2zdgTVg)z+#8#W@>upNveG z*nhIWXRyC#u)jz7CUgg!?C(zYckQK+{XN6%?-|nH!8A7DM1SAnMW0vxp1X8^cS5XF z_4f?v@5n^;cP-9efL@^cJG>uWxd~cgVn^@)kZvgT{v3Ta(%+wAf4{O@Iy`r1pQ^t< z$Ns*b_aV~P`2g0kJH##(OChHJ?0;Ii>2Y8}H$B~43fZSsA68uzCCL5+70p@eLry{t z^i^{iXXjjp`wIAQ?I`IP8VSbSC-)S0!Fk^A@q6eW_~U1ff}e8LX*zxIO-^^*>|~MN z)TMjV#&B=y5#NRwSJ33e|I@kvE?Uq0``nTgv4i*&e5PH{!l8(1H zD9{8D615-4i0|?5f5O_yZup3utjVLAvIt$w-@4z^cpM4=-;qzibt}BD!PltcdHBz4 zy42?wfSb+Jd~mRNac&>>CceEd1so7?P8aVk4p;s0!SvLebhvQAa--UNKbD&}brEsD zhW?=9fq_)4si~ab0;x&(#rZ9env7qV-?-lNH$Ojg4?C3ZThr7CP*s=PXI+0&+5c17 z|5NpRkKgE~2xI?GW&cmbe4om$T!b*~?H%FgJ&Xjwnp+O+=_U4iQlE0diR{>Rayen9Q{ z=51+IFGYu;vpY@|9mTyvkAo?t{jYaOq3(sBZ$4U*KCLuiH zSn7n&+d%gFjrjowe2?Qs7e99ULZfw*d8?a_jotZ$7hVu`lZ(ydh49nYIX^|`IbP?P zsbCDj>Ri!$9$>xysD>uCEu<4UDUBnW$2r*J;qE(Mc_j`lD5V!3ECK<{^sY8OFNFW$ zK*4UmYr%FpKWgh@5T3>cLT7kNI>%x6zR%M*-rqS6z4nEst9+f~9PrW_D0qEsBb2Dh4+H1jsBz>l19 zdDsx-B49qPuD?T=edLa zj_1Q3ZsEV?G;EmQ#g$vx=gh6_E7s-2YhZ*NIe?*aOo)kFk@E1WRBN#@-J6D4K+^_c%QnF)8>l`nF>9 z^(VR7FGp`xZgJ;>F-0XiQmsLv3o}6|l+mHl%7hg_{kYn%#h_#}`9f#HZ!?zqGqDH# z8(q&kw)svi+2m^HV_@z>1EG~zIxZ{4El=<$U+6OUxWdZNpJFZ@dh4Q_{3{r1jU423 zS{#@)fH_CXv z`;4n~JcwL$@u%1^)&BM{@AdPX=$h$p*o&Tt(TFMkx30Eb;EeQ;)##sUZz_D_($Qbl z7Ij6sgC2p=Khx1a;Sw0m!hSsjcSM-~FkqhL-izAe{z`4U;1Jx``9%l!VXc20fCeH}Zl-{EI>F1B!Nnk!Lt+lP1-ySj^%tdH1yt=UnM{r3_F>h)68YZ;bDJk7S= zvF=92Z;IMWHn*S^&6UyLzewM=hBm7m@_yX=LnfX~TzePScHDLPQH|I_GMeimol-xC zfu4bl9M;A6F?^dY_c`99&tzZ0^G)^PYAxh#1FAJIQmuKcR@{EN+KMqw)&0Ps)+d~= zx!RxObe@K!krt8N;RSjE=#JhU79kUNN@N?C&T*QK;mrNu3ca;UmjQ%eJ(|iLpCAq0YT12}8>E?J&H^(y*BL&8@-c9Q9%q>%};M1xycAR9724nAF z#kJpoW{H%3br*X(w%$J6MU?upU*q7#j*Wwt_2lc!J0^BJ*MK{vS8%_tS5sHpASVHA zW8~3{>TvL~&em5eY8O{j+4rdx^|F`gsW!KRh|oTQalb zmEh?Ol4IV%(;Gc!!GbTq z(50sSJBC(3U96#_@#!d*_n8XDFIF(71Ylj>(ZM+$J9)GH>#z@QtQ{Y!`36s--!gBu zTM)wjh3+A@#dM6fg7?<^ze3+CkCXnzd+{yoG|ExligBucDW7(TaToE{d>L=ed6SN` zs(+0$`xpF?>-B<(#};9zwLWfHFX*+K-Ro0nGIpHgPS^15yVXV*8-7Ov)`&jbD_2_{ zWaYkqEShg0elhnI?ee;u+op|r+cZ5*)$8dB#(M$({{7Ggc-n=w9HH}cDi}kEw;!_m zXSUP!^A0}X^2Tb?&ZPUk~7x#?fvWi&>jcw|QBh4*HV z#I&M+BQ!{%Lt@9C& ze*Odc=(8VF0TchL>*F(@2V!r74yDdl;+$vb9eq?geIEXBBkg$*{ST1;rd3eLatc>j4xYaOx z1y8{T?DM{dFwgTk9UH!=vyYE>M|w)sxraZLJ_Wn30e@)46zA|1+^q%=Thcji7VeGk ztWN2NcVqZMjB~h(_xkiK`UK8M^us*G@E`TBi{jGfW$~)%J4YB_a~x|J_c>fQq`=$a z;U6X&tx4%a$;JDdeAKY{9l- zizEF<$;NYzX-_8`dmMPqz9A{?&Sc}=q**Wr(w)3i>6+LFW;)-HIxVf)u_A4a1LAnm zH>QMNf$(6Q@I&OMk4w6k{HJ5g_mUjfCmmxJSLKtd{wf=L^6S4F)B#`|75`n~pH^-h z)&8r35|!t_O366N{I}?Rif46I)vA>hl^1(f;zKTvp&X|*H8(WW!!_M1c>P;=hWe8Q z^J?ZB0_J-I=Gz43I|ll_17l5@`T*#V9R#jkIfE}F(?Q@teE$7E=tXXp`MK0mx?K#r zdCNyz*u26;fBs>93l#U86f-i9QX(IAho$4=SwvXB)iJy9c{pvb`lT}8uP#S8uM4q| zSpBlqPSN3gYIl>^Z#Jzgi^e>}fEITC-I;sT59DwlZNH}HyyH|o%!huN0gI-|_S_ z?MWqy@00X=QfrmJL*#q-A~dcS@gMOq^=sfho7cmT6ED6`3Vu0w;`!zC(vS_V>(K!5 z(hnT1;}fMX#WsMKRAY>O-MGdXCGNjyiG*ALlc5 znfh7EOMf!PA>>QHU%SK)lMM5?e#F|qHz<6Z=hPJ^-+RE9x%1%d@gn$g4#Ia5GWi&M zJuho{FG{xI_OSUYA^%B9u<0y*W;maz%hc26r-Z|ke!q78Nz3Q_q%MZ5cp04-wxq3)eP5{sLg!obE)?b z_~`d*qwvZ67+1f$DDN-2yayVG&rm<%<9wwqv%W3;_XF?^3ZKkdar33$ubsjt^GjU5 zBJlMI-+}6de!qGSK|lKaGUX-8*VNl_S!v*G!?Dgi@>ZlW-0t*|PTGuRJx#&?o~L!a zaev0kdEZ}kfLSjI{9p|{tJ%13Q|X?zrL+0LY7xIp+=s;FxAkM{w+;VyyeRsa=^nG? zV@s#TEz-5TtAAl z^RwKKu&nQD`CONHIZwCo+vcC~Xv~GMraA_QIdb}*<8XEZd>U8@>;bL-UMIK;=mY)M zvC6Ld^w)tGg5ClAGVo#GIl!L_eH*YCrm%fNpCa)yg`OnwwAadX?@!ipUIj8;ACUTO z66}@uJAu@*O)vl~f(iQqAo+6zkCpfo!Dl?0uNO$Z9>H!P_5V7Ma)W~NfRvjJB>!Z= z!+_-b0Q)TBBS7*k0xkwkKP)3)qJFmE$%4}a4+G*;#Od3y&s+lB0wn*#g7*ntjs=tQ z8i0(i5nL&FzToM=Rp1*dcr^wx>2n32$kg<=1*@_DEk*oXAmyI~r2MIZM++Vym;|K0 z4`RWkzV`yj|0BWg3*H8#ysrs;y{tLl? z;EVWXlKffex;(o_>-^sUQolb4z9cvx*aT#{rGke8*}kKJ90z~K#)tjC4@ka{(6vDJ zf1VAo-FvZKp98!T$o_K!uo(T8_H!A&Qo;igJ{`CS;ZuQSz=;z7PfYMk|0=Ko_#zNl z%>NZI2S~plg}?`ZXCeMez+{wf3GjT-g}@7dGl5Kh0uWU?|2QD#hWSSV&qVkrU>5Kr z+~1M^1t9yuSAo;0Rvb9yu;TxY&`W`Azr})u zKQF9zPo^@0tbQAcPEhg4gelye-<-= z`JiV2bAYDrXka9KxJ-{yDWZ(uM>#YTt30wzcy)^(?Z`DB7TRD*R zwj9WMD+MAf!zbtkP6V9~WWD78vw--o>dgaWy&(_f7sL(3lBE1tuzfdST%*ZTdx0xK zcLPx+sV#!#f?h$7pdmPztoi!{HvyGAppqxy8zr3f=o#K3;Z{Em3@?}P<-%Vo{9Xz7 z2pWQe$c*~-33dy%2$l;65bA&(z((mB@b(sN@ND3vL9GuM0@N76~sG^a^?e z4Z%UwH-4t}33dy%2$lsK7;Q%G~X|x0Al5HHsU@)K0-X^s9 zJhnq<^ZDUgq0Q%gl|m0rp=7K{LYvQ{<_m2;e>y^F^Lf(=LVM9!c_l+H+I=^l^Q=XC zk#50c%Ilx0q_KbJ1dQtg#cvqqb3vR$Dt_-|9Y0CvK98nM{wbwGzb*Q>kJa&~3T-~uyHfOT5Pm+pq5fS$KO=OD z(DbFt_yLjUl=>?d{l6#WX%QN8snXwkj()Q6_ep$E_|50w^ObzVD2JZBejs$0@PA42 zH=he~yiuP9(Pu5vkS-Pa8mG4V-zV)sJ?IBux5WPg?chpjFX!A zI(Bj*#I-=^(rKFhCgd`Gmhe|gdauw^g>DeK2#YG^Z4`P~$!js(LJyKZwZ&L^f|mb3 zLT3woHThEw;|`&x3jI}~*HRy(H|?)1lJxXL%8O=87+)jwbm{|ng+l*2O~-$ft@%61 zpVDV6m-1II9{N{H`9})fEBa56@|pH&eyQU743DHABkeJGtd>6&G@3Ac{S>mT^aGG* zrAtOe(@)swkS+ZeFkYR`P)jT*y`uA*x{Fx z%7fbB51(m%3M2bsOEJzV=ge8!C?%~z*VPBhXkt3bzW!&l&#!Y1>ztd{R9&+=Sk?%$ zv`w%eCC0@~lg-w{*+f?SrJiQTwc;<4hhoJ)qSL|6_ebgVuN%tGjXtJ6kVSnd$bZ11 zzU1`zTGWp|F^{z|k4z)y=COr8cJ;1Ub^RjOxp`fBGdMt z$%1vn=(M#;!;Kf$%%|oIdloU(JCL#Zu)u?wdoKvqW7qi54G!ZOGVBQFdm>lZj_}<0c7$i;&l?CuJ z8Wlc>J>h-0hc-O;j|1;}6xI@T1w}*79(xZ0sn+ z^KahpeoA}7eIln;bl-WBdJap`aj%2f>pcnSd2QEV6!Afu<+4}N!R+Exx^Y#{}OdZG7Le2H(s+*xqR2WvjY{0LKM;p#ouAXcy)h!DL!FFSvs%m@paxpLMgCEg*$@j zFaT6;2I7nV9-7CS`WVkKbRC57WQtX>1r-5P7RzC~E@jHljd*}%lif+#FeXscp-pfl z$f3B$*I(SDWVZJOM=5E1s*ex79_3)meL?5jx(^>!dr=%}4zUk2QdELLq)xG=Th#GD z5U=#$gXA9AsmMflpJJk^o4~2fJ6vr`m5j}O(9YL+`*MPOTh|E_j2%jCWsRkyUGa4M zLFdxn?t@?|iaOM94cStbGvg=$%T&Ya^8s24P-YC3)-XleMSE^_sE}@c$Ub~A3hgE< zzqI>{E}A5klJ03|yzUAf{L(z3_6gB9oX5nX` z^Cv7?pi>z^h^`K+QjMZJf$PE1d$uS`-;43}=lSko*ihQ)dwxjRXh-IE zQn#>iOZyqx_%bYIw4l?o@CmFJ?`dZ~xNh6{Wi)948PO+T zaL3g?4g_ZEp{YP+U#VlKzu*t}h`e+8u07sej^JNl@L``4FiZo=eX!YM8c~MP30h6= zHpTZS@qAN6#$AyqTZo}i0H!NazOc*`M~-G%1{&d1MGX|6iL&yoy}m;CSdjy z!{!e)&{nBou%XWgj&nWOUX3(}IvUm4fS<#e=Getd+y{+}p}lGh@4}cPFNS4u^YOmU zF%wV?g_|()p)_nd`T8G6tLtt?D=T*(!u4RMN&@?J&+lsaqXQNfnFlQmxr%nfC`@wm zJV^T8lmklozLKOA6#*SvDD3%NZBP1K#gB(I`sRVRfIt-g--bv&+w!1S&X{X9i4Pb}JOX;b<$U_~9N z+L?x0Za7Z&6WwO94fd`qr(w;p0Pe)Ixsu~6eOQ%*!PS$dxbXdP!+TkhVdj zxjCnx>lz0c@0*zz@|aG^gR24j)U({WNFZkc9awG#!dx!gMsWXUF(iVv4W1Nf*VyJV zrxIzf6C#y;I`!)VS(%Gn@Pqn;F&KRkJOk_yG7I{~43(j6WhB`mtVXQ(mg9G+(Km}p9e zjU|~nX_gqu+|Jg;ez^HW{ASDWceON$tNm`Yr)+Xv?R?R3sFl;G?n5ZHuV82J*g)qx zy>MV^k%a@+4g&@MXnw;NQr*YbaeFspt2&6}6Wl1>=gUKv&!2oFGD*J>VYVtDGv1OFi26R(9Xel^cfP4gx8%z=P0s6}ma! zls|mwa3kV}HX)qYuTfdCZ2Jv}A-?K|7;H&+ui% zHzCb-%mLdU9TY~&^gyT0s!idZECPdhTzd{pRu5!p2M(BQluXxXtNs5G&@8b%6N|l> z$d)@|UtQanvEDbi0-cvO==-Kc4S~+9v5B{gMCTR4gjzhXy?BGOzqmu03o7o!n%|w#U;Mp# zcy{hDzN@aOsdhVVIJXyX%Jgl*(~vbV#@~o!5A_#sS>F(>-(LKL@t6;}YW=XHbvAFn z+yIsq9n{&}9q7C`Gtlvq1`Gvr_5#}`woGe(4h*(2Msd@(hO2!L^7a&W;};8L^Qe)) z(7aE%C;0^C<2qhOUL1Bh{}2oaw_~TdnOkF6yM{#EL-JPgF}`=GnEV~vl+OC*RhhEh zk_iV2{?NHjU%}%r=nGETFKgWA?+8xWhabCOcyKq}zu-@B$}V6389KZEGj@X)H>GFn zQ`p(K3-=(qXjc*o4}u~-L|pA@2pY;@cz^K*${JpR ztxh1M%2v{GJbb#~al#U}G63C)cp8pzM!Je}bcAUehRB?zi2X3HNJGe~GQw2`Gd0$_ z3NDul(uU}lz;5|-!7oCvc?;}s?a!n^{GleyACc~+*ZbF8ZB10#-1EO3p1Ox$Gu0S6 zmy^&YxtUG#hbH*5U-EC+pX__gyu%H+eg<>BmpXi~nSR~3v5WR)KkwV}VKPnn1v*a} z1&;)96z~_{!{_L01PuDYQv5FX8VDZaFL=UrT^$mg*_raLZiabYv!#dO@ZrykJ5#Rq zcTPgHzvc_6#{epNac9vQqogxso3C@J?f`4i0bsSAuRu!GM+yvQJo{h*3*F%=bcZFo z;pqeaFGpussOz(Tp>&3Y(ixUuySWve;aOPy!5x%zhO|h#`a6!MgPxL(g}PmD(e27s zv$U;r2u$PZkqGUyI_-_>3w4Hv73M(>f?!#khOI`!q6)&i;l`!e_efd8_j739ix1Ym zSbZsPkAWdv4lzTkK3#kNknEqfy{|%|Lu~JGVgCFci z6L@N&B8Jl$Og|dfAU!zO>%#wO#QBImBkg@p~ zf@Amt zbD317sYN7D&g-(-IQjq^7e59)e2C}<36GQD1`)5@(V|2fjqFOKZdB38)&3R43^n49 z>zEd3YO(KU-A%-?zjlEAO4MHEe}nxtj-Bx*+_T&4HlKPQ&4~B@YOjwLl_0P;@AExZA zAI43X(nzhu-V62*g0+pM3Afj;&3J4QI$l<;2u!Kg30U#}8|-y&#J5JUPx(UyFxA^>|K_sL8ku1 zp7)ggfBSta3NKK%4O`7A+PtZ^%qKkGL!Vcj7mqmSVfg9M+4)7B|BM?M=nRg;oeV4p zcLeaGbHzxE9Lx9(jCAfP8p*pEf9Ps`H-mww+Qf3FXzp4MbT{)KyPwj^@#cgMk|Ot2 zYJP~S4`1h`1J_5O^NNJ^fkpdJ?(Pz3W6oc3=WDNC^>zP`p7$c7>j3`$?CGO)h@L-} zstNn5oIvQ@<^F3J3Lkr-1u}{kRc4=v0$AEIWbxRkb zuxjN#Ngtizbt%%|s{g`PX^t;+)^cCL7Pi$Q-0N-G#Ae#FsN5NxN3cs`9M4?;4POkcry?xy2fKiMDjK)ky-)tleAzxgm<=NUNTScKL) z%j4b9xSvZ39FX`r&Qn2piZ9aZqt!n|79~w7R2~uop{q0DPAw;J;?-{GkdIrw;8@rq zUOu!D)qp#^p|^mAkEo(8D2LOrmsIsEKvUuYQ)mGSj#Jgn%Q10XIgqQZs6NWGMr;-b z_KZ}AdvoCs>Jzwr3P0#A-r>*2h7?B@*?0z5GJsm?aWpFjQP1zffoW)g53VUneU2UC z05jk3_*J0e;vApjSzkxfa(`zD%;=YF!tEtm;63#e#C68|z7QVdE?vH70h-|0Jqs`< zM)^9MFebJSr=U!we#c&<#&ht?Q9(=L0OkptM|CXDDc;a*6uTaLvj~r`TeoFdo?XKU z1x%R3d5^bRkAF+#{y}q|--Y5D!&|KDt-Q~Hw;xobFZ|TX?e9pRf`wv#X*r%VmULb* zC7+IaeH0P);L9JngX3;<#=1FT##TR3qZ4Q4)4{QowrYLQ!Zcq?+8cgJ#9R&dKF4-{ z=yZ-zSk$GfV7SrsMY++nJ+%%$MdPax^wXQk#L5S+hl#VI5}WIuc?*LZ2YH?z?%!Db zEbnvR`IhOdR~~bQ#z*Z-A& z6m$g`(1uGZc>|&4%3e5g`YE+g4UScM3L5^3U(&Hnz0LH` zqK=YB=nyJ6{H-|~ zGgyy5doLasUUirxK@)->&k~zQa}cXlh)>Gih3{B&%6!Y*5-ZeH-fFB~?uWwli~aT| zp@ro=?q*Mqvw3BL$GAhUs8gVY*iWp+eqtLJqJ`K`;Kh>*vr0PN@Mr(t-}=wpuGS~O zhhGyeJ$FH8(R8D5Ln@zO?1wwNKQ&)G^mQfWLN}y%tf_92RIcl;L$k!BbhUHw7+MCd zlFlpL{?@m4n{yEykAi;AQPOc*Nk^R%*|^$hTMasRT-TnBJ`*SyY#IZXTUow>r(M_b zx1n7u?cFe zbX#0FWGN>Nt(8s{h8GpF?d8J{JUNjyM%hTuFjnI!?+IUb7+nsw7;Kw&B{|xXvfV=y zjq}n5CK~OI3C~V6ZgpG$yL^sOznExrC5^g!qVYnK^Y)3xcaojAOf>c-XFh}Ql&OaC zK#FT?rg7s4Cj$14D7fxO|@kYpf%+~RapSwrBIo^22o%Zy2;|=%dpN}{G?k4|@W1WwUH@-hM4g8Oc9o;+L zcx5bkJ{UXtr{j(NWADb`y=z?BJ>!kdI8Qn_+BB8vE@r#yv@+TgMo`NZN%IcchF(_^(n%ca1S_ zOdWyP@29#xOgDa>%H!b=Mvh19|2SQU{bUqlzmdk+JJYs7oj226d((}-r+Bh6GOTRM$7jdRX4CY{K93mtQgO#fDrfbyj>GWtWygpQ9gaUZ zmKZ4T2)sjmZxX(v|7FsMr;;3fNqAgjszKZPZsWHgf9puc3y!ZlF2P)@-mLfVwO(Vv z84C=)R5aIEuxzQZ9RKkls=*^i95))~DI<>;KTjLl;SVb2Ej#U$Q-rF@YO1-csx0WK z%l1sGo93xnR|ym1O`bIs>uT0CuknP9hkM9pm|tMb4Aj?O+}u!B+}K#(7`8MW`Q#%U zl$*aa*jQDurc9UrGg!Hn??(#s_apWC<3jv}aDGM-?<heY9azW-ZjdwK1&S`@ani zrq{#J%xd@D{0^p1G(H9&Mp*4Gzlcec*C4`q<>7xkyV4$)iZ<2)U^hNIAL>wiXCm=K zSX`{~cd3;ZFSNp#6|Y3{2P7Ugx#H&UmWGE7EM77B=SV!i1Bn;!m3U`@_)>|Vks!WB z;uGoDC-G7ZG5QTi{836dM@;9UWw}8E%Ax!-*b@o9ErzT%qu4UQi)GZ5MO=}`3(n&Z;^QErZM^V zN_;kAto?rl_8q(izo3z)WAVmMgLLex62$M8_!|<$x3FX3N;JOuBtB99HICNlFNgl| z`iE(c3j5%=@uq#QLMla%?UW@P_ z{kKpN__IyobJ+25aXN}uzH*7@-L5tN7bSh)6qVfIM?=>5O!1NnIwN#cub_i0BbM_A7P8;d=xTeZnW*7|+&X?d<;9=hFyfuQhzU6^g9sW$KY#`a>)E2 zktg-UcAJ8Gt7_qsbpXa)W9vBpzH;G{ZXc0n(JyF`$8|wnX1j^KeCB%__{{c|^&uip zl97-1foA<3sD0l7pV=M<+q+tC1QIE?usn_s0vW(x8z}G8$Tu;ns5%{u%Pu8Kh^;`?SoVRqn$o4hDC;4*PzZrb{hBP1NeRY}o+3dwL z|83+K{|Yg3E#v7O@R|1LxgMy?lq>n0^XS3+4didt`aLXSoNtK&ro6?isW+&ZUo)_M zSKxo2q~rYpFXvWUy3*E>H>7rkQ!*XbgKF_R!21AR&O5}gzL}rRe*n`xga6*&YdyJt z;^lnBmd;k6OqT-QP129JZ{X#8%$6=re)GV)Tly9E6Dplu&qdMo!uF=^%pKByxX<9_ zyw#SUv?KMq3;daH=yGvi!OMBMjX#cluY%Y6rcTHGhDvwcfz#Ds|A6|R?gv%^mrgT` zTY$T;FCmTrmH8Kkd$b8~Am>PT&=wuL5oaUIJVL ztOR0>n7%;hQ-GLzrXLN=1-^Bhj{g;K73gii%V3&$Gq4KuwZK}S5BN2N7XnvN64e9bg9VR$wadBJl4&7JgfR`+#W(e;4>I;7dT3=T|_ce*%cLV)|y_GT_a? zE~L92NIu#*W%vr8`f(uZXETuX@s7tZYJk52eg(J> z3p?xkZQy#~>q0*R^g&Lqgx@LQH%Rz8p;rU1M!E}uc*ZgPY+y0cEe2BF0wCp|0Hi!8 z&<}hY69mI|0-1gQ$n@KQOure(^bY{Z_gx^3#!L^$leGJqTO|3<2)|Rs&g|iv*_tS+769{nItTJAtgnw? z#PfPZ_Y3|Uh=bngM*`0QZo?03rqr?24ua_Z^Z4u ze~j1iehK_8^t@kaJlj|KeOK^C!Bv8fjx&slk^Ti7KNI{a=R_OR1~K!!hy zjS=~O1|zSr!lWMfWgzSQc_7n0B6zc4 zyI_N09+3HG0hxa$kok`VGXD`k$|)J6@!fQdFA6>+7!qs{JWP;wt^-KF4;x_Oi-J!9 zDffQCZo%s$e!bAE1(ylV0d_*a8Nl<9egcs7nFhQ8;WV3qrkwsZCPjvC2Qr^~1#c6) zPB0)iSMaq_n*VWN2ju+{$b7yBq`d2aA%wRAmxHd6@Gk*xLipLhFCqL?2|o!)eGU_P zuT%R)c@tQH@MnP>?+*d5NBW-wDR(1~`CSXV0C+y|M#L`zQvQ629}i^tQh{Z_{*hX4 zFOYJt7P?yK*+L&J^h>EaJuO+Bh4h<%7XrT};pYf06r3x#XN2xIZv)wHeg|Z~`8AOJ z=4l}HxrGy3;a$KpL2m#q2DSj_1G&$g2`mTB0xp+uFK{mCd?4yj z`O~0YS)fk=dVr?^Gl2|u0}Fvp;8%eL@Mz#Z)cY~O-N2)OyMW_?gTUi}JAqSx1Hj3^ z9l&FOeLxRz6L12s7kC7)2bc-$24bmE{xqfnyFecg+yER0YyqOpl|Kz^0hB+D0$@49 zrvaA(vw)?*Y@iQ_twV+vh%Jcnqj4$_Jj(Bh2Y5PYl5r2Y!NIM^a^?e z4Z%SqR_O)11zQBm1-*hEK|^p5?Sr4GeS+PB8-d6omHkJRN5abmy@L5b^5p=@=aF#s z2Zp;P9H8UaPPelkSs%MUyn$jmekSQ|Q0+?=YxF4CWG4AZhb?{2kaQkT%b!)}!pC z&GWEg$R=%`&x{zOY4g14NJ(#=PhBFkd7j0WRhZs9f17}IQu5f4xV|Cr=K0}UqOW=0 z_&xMz@|)*B=ZJphc}|AJo992p>6+g>@7gK+ZcIwNFc&L%hR|z;KS$_p;r9rAuE;mf z_f}%OQXlg?kmj>Ud!;-xh0YP0>n`KnLU(|sKMnJ|;drzQY4iLhAMHlE+yg~%T_?2R zQKZ53nepa%%^xu#k~YtW7LU}ld7e~;$yvou(dlmye)GI)KiY%w9_cR+kJhw#p0We= zqw#YWL5>-eX!h>*^b_@jm9;>_#MSZo+?+CRJ# zivsD59Qe4NM82fCi1T`v=~G&a0&Es|9mf1pS`5=3;}0c%lEi;Z`G`MD=x2l;CG`2s z5Ai=2`YPrJx>o2}D*ryCYlfk&>y-XzA1UAcO8-71OXzV*|2`vA^xY-(<(2e>Qvc?8 z;E$#L&GW^7xO9DYOMM@X`NE;IR)4E8A6V&ou_#;VYcM}p>BYAA7e+U)K10Fn?L;_iXyyW0OCG`nK{np#NIw z=WY6r$N09!^9;vIzicZ{nqHs7E${M)6-|%b(AmtnwDw`WyWfS>y2rW)$6Iqt_urD?c~W zR{EPZn*K(u@n5#luiNC$v&C<-#UE$uzqvO3pTqiK&9A^#|I=*s)niM4fsI~mqhGSk zCvV&678^gvD1Am_zhu?#OSb-YoNfG&*UF!5lm9RH)6s7;=GW9WmC^D{UQJz1u())s zvW#!KnThl2lU((DXz>f(^RBI%sv{b@`*@!xqaE}9uVxMxLPxK8-0bxfi|oJ{O_9bz&# z6wouJROTV62*)CI!N&Drr%FqMxihUpHXI?7P}D2#w#dkf?%@cn${aLwMQv3$H1ULH zvMgJhQ&u-KugrWi{gBFHCjOTa*>n6XZ`9ir`8;JsI>V=%z{5J}%D1#tv}>z)Q<~{C z%U(x^)+(m_Ptz?E<@lLu@_(`SF7Q!R*Z%l9NeDwoID>*>i!y2yq6TL|fJ8wP$jBL) z!Bjx01t%d7l50qElNrEPG@76p$FaGswzSqZeO_+c+tR8Sy?Px4Lwr;MzVIF2#IYJ* zfPm!xUHhyvbLPw>fZ(tF{r)|lWWHzbz4qGgefHUBt+h=VIi9?}a;u0ut*ly!MG38P z7F}T;fWp_6#Mit0yH!mM2o{GR>53~}QdMd6)i%`YA=OP)RdK#oEdskjBi&WU@60it zjtdvgEneVVP`vk!ae?6bDB%RiO?_=T{g{082ao=1BO>sI70VYVtW_+>R-G z`PH@cmCm?)VG8y(`h8wHil)2*XFg)}{O|s%`iiO{o|DeYN$JQmF)Z>fvU{D*g)_aS z^B3lOjddSAB1!Y-Mots z$JY_JY(Fl?FD@+f;!o5bcWmS9xMO++R8Z0T8*qYIO%t|8j{U4Nda&48VYUS0dYI&A zXsLhgi53<+i%W#|?*FM29eJAOuvQPpFI978&cQ3&HD6aE$FhbJop<4Mt>-bL8Cay0 zSBl-d2EPx_mZ26W)P)KgH1%jazr3}Wn#z3*O)h)d;j5DP>)Nz+uy2FGb-C;tJ?ogqzS7fcEddr#p^;R?c z>-1QLUb}K-6^{L_D6U)4&{XTIS!rtTp(u`WQ8&F7Thvuz*7Ne7i>Z;4tU==omu$_P zklBQNXcG_PlfV=?F-ULb0@#0GLkP46;D<^+`Nmo(X}2%MIL#|C%vc_nlPE2(ti&?T zgH8R0N|6a>8BOPyc=3xC*K(o1xeBYfiYgzy|Jc2GwVb3jK~1mlUE7E^Ca3PdXs+I} z$Fd3Gv}1oP;bp60VV+kz7<7?KPsQ{;mVC0(TZ$*u*lKv#7YQxa6?#g?R30&ZEjoUz z79KxV(W*T50!Hg9R>Md4zM)llv~b79CR(s#VzXd~m*-<&^$oScENpCQSViCMnvcUO z&yYxL=L%14z5gVwH7r9d^9adzV+xYUp@y zHXr>vE%E5zB&PxAOXhg_NxY^dP&pEO^68l0;6@u75F`&BG0?}{~R zyp8Cs4fWW6@?Gm)Wltz>qEEgZ-`MH=V!JJNIcDU|EG#UTX`i0_{9;F5-pm<-TtB~< z%qvl!&<-!&zW?usNE89$BjWo##5N?A95(#pf>?&s16iG+E|uk@YA6ma-3^`+{Xs{nrvPchw&Ia>wv)5;k zR~V)k=vrt9tpDpAGeitCzdq(y#{5*sPf`B#3*s7lCh%w{7x{==@&}c@s#9*g- z(L!N0c8@FYlq=_1cQD-@Twrkr9(U(#hC$|6)KJ6hw_UmQd|E4Ta{{gnDVY*o5L>R<`Z>P;VX1-5u{ zp7G$w7_=M?0NeY5`}Ef-5m)OMsjEjicJ|W|^={;&_05CTPNjY)e#&-MyOjDTt4ox| zH%hAAO8s7Ve)RWhr6G%y?Hq#$X&7-EZsEV`WpZWRPOj(~5oE^~R=D747(jKyF!^K zsg51$s29cWW*mievAP%T?J%E;=>8|&r*CsRUWYY)%|NK3f<#-v(kdG8(3jMJKL{I5 zxyQ~`D5i7bV5j$Kas0W~g->(iSQ~fXQFqQuurz)U_H8d9`|#s&?hQ;mi(%;rE|WY# zC->nOT>%gJFbqLc9Ljypr|!_DI2ZIurR^~!@6OpT`r!*W>x2$@a=fUH`htE@q+(m< zH(~i)b{9Uav~_^EcuzOZ0rCVFqZ58iMaRg=LHFHDCC4xNSF!E7Z^$@SD+NOeMwU~R zwkr|QBOmbOpoPhfwkzmC^u4O%1swS`O?7;#jygcUn-5%Uo9Mvl1F|c)78F#su29J| zS#|7ENA=L}=6x62N@jw6cM9_4zfUhK9W}6bhg;t4Y|kDoW{;RfSDc#^KVGVMyd2G7 z`Iu^o2MdPC78)YEO3+*Cx1;NY(Lc|+6KgOYAwR_}jgXyUg#3(L(GF1E0pic77Y^X& z1KfNR!Oin@^9*iY!Oek}adU`n4uJbB=;*Hk4*~aU?t;8=7+K^~kXMJX1#UYLN~7l4 z_i^(PZmQwaxDz8K@&viy-S`~2Z~(D33f>T-pq@s764{L4o&~t+p&_uHhQJJ0&ZE@- zQGag7E_C@5xU)NU(2$_PfL1}1sC#?WQQNrZ?}+w%^y;YH^dsu;G+#f3b6`pW@8&#@ znb?Jy81t+Cb{T-JR@j+D6$_avOSMq@u1x9 zc5HVC-i&+3Dw`%+itL}-p21K1L`&#;87-nQ@^6l|NUXi%$NvpTn40ERw|y}11e)O5 zK~!$w3HzhPfz8EJ9(M+MitXVN%cJ&3i!A%Y`$uA?ebJS(1qXy4qVeDw+)^CasfO0b z?or~Adg$@I%yi;(=yBT)H07QhXwtwFC6=9Z%HJquQzp)%?}=MAKe%FmL*sd?4g=8c&474nmg_|Ao;ajA2EJzV(Tnyh~rW8_NV-d`a3~=U_pbnKTYLFwnwc%;-Y+p3NV*fJGVzXTch=9w4;yp0Is;7KCO^!{b{&xWgSd zKxcPYB2~2N^Y^;s$6PXw^}ymlJ5t3Xe~9zydexjQFx`*C_O8d`_al{#$-vq`Kc-<9 zojvZsIjR;qqr>XKQ6E<7$yOY*A`Y34p1L89WHQ)Je@}Zc;B`8RJ9t;Fe8$UQCrgkx$!^D&LcG+T*G6j+9P3j`62m!`a!^X>`;h(fcA@I;Lq({q>h! zu|#w_9nJK5A6daxvGp;7u_94-pC(bKJ@$*`+xD(YHz4|&_8)i6GqUz z`~fR!GyHI0xb*0ShJKR3#4)pY!9tgJNnzf!#4rc?Q=)I)0zYJUqPdCnfRDw1k&AU7 zeg91#0Iwnd_D1#Lp_55{+~My*NHTk#ojef6X)zMwhdKN*gutF?Lbw%rRdjt<3rPs? zz&e<&q4<-%6S}(bpDh0^773b}A|TpW$C+I+`EErKfMQgGlK=h5woXjW5p^SjZ;YefUB3IAmy>A1fprMm-k zolM8`Qc}8yK)2xt(tR6r9Y>IECN`?qFx_zF%?DlM5v02mbW4sP-8Rq_Fd$>Wji|Kg2OG@VhU6|=?Tt0LE zr}F*`bX`n0T))~1x=yAWs$bDuM%PewVrjflniJUGD6NO+viy)MNN*3eJDZQNMfg`a z-Kf1*Greh^T89BY4JNwQ0%roNfzyE(0*inXfU|)(BuF6H(?eRhR{{%wmjf>XUIM%j z_&lCJgg;`uf-#+u^zctd_WCx7G|1N9! ze~0l^MzWhm<@y`r{{W}Lbk@DVS@7Qgbin;fc9T6de2+Wzc6Q$cw8Kqykcs{pAZ!-Q zu4K0dh%dXjGl0nI_)K4X0_fV+U`>%uM><}hKG40EWkM@IZMBK$ny1|ae41fr`5dt~TR!X6o!T55+snNVs0 z+JI|-rve*+X9LTC#BT}k9AGJs_^H5LU=gqoSO6Rev;!@`DL|Oc7-IvT1e^fG{}?L} zCK!ZWvTWc!R2sTm`T+1^xch*pg7h$BCu0j^8DkNnjZtEx_Y@JIv6Hcdv5c{Z(Z(n- z_93!}&)CV>!dS*w#Asub82eB@+@^;aI~iLT%NUCoZH!bu$bzubMfCuu;6vjTZV!EF zCOcdD``Y)}t*`Hu4;{i1nI*j+-S)3u1*VRk>uZhc)jlim6{Gz)1_eCjlGHFCKA z9&#>+>+5zJ-$dWS^c&e-%I*`{UBqs(=Scb0->Z5t7%9H~p7aN#N$yUj|2^tK(DTH9 zkkjwu@LzL$37wm+Tk%iv^>z0;5kD;H>-hiV^r_P6I>_-mK}Xk<_^0^#dl}iOr1blk z{t(9xGyOT3M2KF0PyIW`FXQ}u#_{#{++T?NV|_T1QiH8TJ^yG&x|ZW#($H6z~XR(xGb;_$nh>qzN?Oa4qBTF440j=^=L4F#UG~J=%laqo_Y2 z{syN1JB1_7|6+dhl}br(k;H+z;9o@i5U$Ik+{Nw?(-(0326n$H!doPj-8(t`7Eb?q z;SNi?*nOs+U(U~W**%5B$8-E%4*w(9Pbt?=3+fxq7rmC5+^3=LjNxa1(&(mUF}gnl zf1`V=$&EQWF8m5pdLEPeC#LwnLV`yAbZ>MU?6h13#o(y6mM|tzS*M#{(ZqsDk!n>{ z1#~8ag_ff*`oRL-$+oAG7_D%`Z963+Fz!|*3y1C9AK zhsEd79GaLvGexq>)K%y8{lK`2GzZ3IPS=m;lAAJT3QdwZjUuX-e*Cq{9m&e;a6r!hw4l8}cQP6hNVA$v=PC`jL@#)*qH(RB+VaTRskxEgEtxG{}y zn&ZYcu}zN~>troA-CvJpgFYo|<0oy1p@@w2IuuQOH4R0TSn32yR*6Uu15c)jX;#Ec zru46uG+C`UrfVAN%Si)IQ)LxW(0ZKsZh9DEV=WzyaeQqZjykc{hKgYxkUYI4ACv`N zZ+Rn*e619U_enL4lPeZ~or-VCnn_o}80ImdE7Tm8L|1`|e~_3`h--Hf>m*@Op2jX< zVwo7E>#{i#gQ5)M`-zEVvcM?QWPwq(i5<$sdMJV@`=JPQMZCj(K_l%+o!Jr4>JQkj zTj?SX!~e+C2k^}X*O2-GPzsoCci3z;O`X7Dx6jDWhilqQN4&nk8eg-fDu9)uBqh@q z*oQTzWTQ|`UtkTnhqyZNQcu?eyywuRyRpm``T~S>9jU&+$!BZy#E)K?y0H1Pg}jbZ zUtj|Bq4!t1>^ZS-_nJ@qZ=(EsygdHEWQ~3|*M;R=v5zD5&JpJ<#502n{D##R*o93J zy7qJa2CzwDyv$Xen7?@W{+;J(v0q~*@1JkvmUw?S`TmWZpFVzX?Xhd+UGKyeuEs7d zi-(i%?;v4&TvqN78?ebqU8ZxM_P&DG*BU{wMv<6Vwk ze@pRC7roliKlV+9U25!q9rZ=>IZ^o=we;0&wVC_aixZ}S4RDhN&gFD-spB*3w|VzD3&|2K)m zpS{P~A^UUNUiQyG-AzD!`P~t(8eH2Y5)y1)fwPyLVDt=}ox<7nvhN8!X+8Fs$mvLd zUB21`@o&)jgB7vxkDh_w)M(7XvPP08r1T&= zHbD){vq7#+$lpPhA3fV9GO-Fw(%m8dF63Hth3UH|Q?2jS@*(=cd@$yIun>J=^bifX z$GJr;cC z-Krc`<;T_F;sI6OsRmNjb&sn`3Hs}Ng?noJpu z@g0G1;I=)^9@#$z{r_aWC!-q%*X|P0(ZT!mR*nV7^{=noKaKO}1Q%2t0(*rNBj(QM zF@Lp%m9{U@t*L+*AcLi)R4)@;L3g%ICFPfHHRtJ7C%8gOv(f5WH&KHZMlzZ$s=Ut? zD9N^wc;cx-R5(Oqh-8M_a0AJ0cih$2(Cv7+8u~Q8>q>OVcP|F6vhEuqs9O!rEzmpzPBe(K*Il@6 z)rmsJwRLMj?5PW7vb8 z=VY4pU7^*3F6Gakt1{~5eNi{=z}hZP4xIjt+QiP)^f^_NaudF?(xbdsi19id&|aeX zO$|0veNA=C@44l7bylvyZjbzdr|^*fb$8Ie5yM9fB1=JMkJ6S4K@rTOU090rsPfZl zaQ=k;8RQq5{pRVSBflqL{BD5A7((`FAqTaPZUI@_0L5MPdKWj&w*|)eJgz<5!He9% zY6}VL=RB+2^sA9HMp0rE-W_bPdkQ~LZn{@^KI4*Ka0mLRr+iMW)b=M)0}wA>w!t;{ zG&UO=_DgU&8juxJ8$LD&=c$kqB@ zpVIads@%|(eWcgA`NI+FV7I9ApW&%M`c(a4yWh?^5lCQPIYSV(OcIC<^$}s(5`XI9||$_{m2${!th-g0sBS&gEoiNK5;Dcht$FC z{*P5s8oP;JGI;*uaAng{t88C77Ai4Ittq%kp_^3Pq#|=^uEOX1&$)t2P*wi0J6MG- zKr1b*?je(pPA9shy7yzZ@W$hv+6Vd`gQcn)L(3H`)+%=$Mw-76JT4I?naGXUh>+?@Hv+6WHh4+v|~c8>^RIcTm0Bd}FF#SL?p7T)*y| z50$neFn5GwYeMRiP|nJM#+21QP9`UAWw+dKhYqVLa4@VE4)~w)pt|RW#!V6Znbrn> z08>n`=*t7@=H007u)1!K(ne0v&br+(4Z$tm?M*rTRRevEk68*RfG>#W= z@7DN;-hI8OWn=Hgiy`&yQ$)bNSpQA2PlSpR^hcxp8+#LIp%0-^p@!U+RJXj_6}nDJ zrRS-#sbtcZ_L5V+q?<#yIYc*uxEX}r-6T7-mRq-^sfDjmfB*JZ={TuQFT<2t?#1ZA@(D6K)G(>1#|2Z3tfXyN_^V?5gx|q z@kI!82X?!2_PIiCCDkK;G(WVcAl0!4(@5Tz_N5Ng_tLyWxIuj{%^SoG>U(0I9XhG4 z-Kg&Y|8sZ^4%5?sA0KPcNe6x7X=#B;qc`p~Gyc)ArTHV8%>$QNBJVnO(iEz!dtm?I zVE=RYaqPsHSJqh$!kvvD$KVDy*L(@*9r)3l{fFQjp*{5ff=|;}z3vb&{t5wEAE4J2 zcio9n>MMYgG_uJW+4&mTV}gv9;yT%>8ks{QvuI>L7i8@*vbAABADN7$#lr|h`gdzF z=-eh45FjY-YSLrG-ly@bMxBYODoR>aksSTi+dw)*t@6u8jC-QK^yk`}j61m6f;FBi zXPX+l+M=F&8r}x5vV;=TX0`Ce=0Nw5Fl@jCH|# zx;7S`N$4h)xK-*lQO&U_PAea##ed%Qa@qey>*c>fk_}z=egWgV0QxZK)(ck0e!ox0;dyiq6?CFYITIfsVpHW38E-!wE zrEC}yZ(H$>(4iP^!fJ5S6ok&()u~B z)@eaE#Cl>b*3Stw9-HlGfARmv^-r%JVvUVYYqZAZ{eq)kUmIR$l(t`r&Y$p}xD9LT zxc9_Kv?{6YIYFEodY?~72sFG2n`O%$CLue;iMdcXO7W}MwV&H*zx zcGhDQ^aj5-KM%=X@qtF|3>R(?K#T}!68<6aoZ`{n%Na_L!bQ}Z4rDgEtz|1$t;%0 zXVHqem{!cZr2Y}Dng2>_X7+f8R?V`uYW^PNO!4TyOTc)WfUHgU8d==+I?AQ51Nz_t zvX2Ff|3X04_XXM02D0}=!1Q{J+fI$FMv(1{kr`Lbw`eg|XfggxOP}B$v1*RKLTl?w zWpr!~UX1TiX17CpdePDJ|O8Y60y=4 zzn2`}^!04TeF#jzF$S_i@p=%6O^?@&&%l^m<^N3@_#MK_IXe-!uo%s^VSA6L?N!)f0H% z9bDGa{~`k1u#%RuPc7V{+zvH8$rCy+4Hp0K0a4%3>(}>F$F{@z)n@FsyI_QDz!kt( z&vjwt_FEAP&-=(IL~{qWdjg-kLTQs!>@#Ck4tr@iFCy2?MJg-pUxbY!iY{|(T*iSvV6Yi36HsOoi z*OHSrl5be}775={^6e$xKH*y?d>hGkKpC5PvfBE73$4@qog^)Q-8J82Z1Y>yy)O## z0sLkn)v+bxaXZ#MUP7o1wdC(}7jE%gI6veb0jqO;6cZn0TscpBa^CgiJdf=i$Ie*g z(s+k0t%=rl@d3hB_`H9>6Fd`b=FWN39fOg^z;;$(fclS` z>I{2=%@$YA9(=gF-iFr4=LLNFb3;N$(BmDc7yFe&?2$iq1-|Kl@PjMZY;^_ZV&mv- zpVgi7t`JhuM-lca@pPMD*c@`fqMqJ5MQELF{_0a4_@ub?O|;KGYM+-Q)t81!E{L|z z%V>!S9cZ2joyyp>NvNwyv<*ICBYA~Ufs<$le3G5~ddaVk{EEo0l>7!z(G$q4jJ&`$ zqP5Eg4}IV}hx&Z$7OQLTOZxL3kxrpVr%)tn%Sj-xxdtEgzjJ9Qf25~yKxr$$8V%<9 z`fY@|00El~qWPBQ_fN5?P=gn%tv2zv*B`gR3)R*$<9x&#U<+&w&6cORul#wM^lN#Z zB)u)p6d$$ltRTAzA1M#X(;8N1TtN77E$<=9}WXi(0SCP61l zStU)a6z-EGQi{7>&e$SLKb0r<$kJwcHcCviCrJ-rs6LRA@nMSeSjyy2Q=|`4w6MFr zC127ZXZ2d8yJftuydhf-SfzgXdy@2a%GS}ie`ribk5%p-^E8;>VI2j+Usxx@|2=EQ zr&jp~V>5m?R{q&oY-S@|yEMBiN6R-!*8ZuyhAPiLRVI^U=6L6OZh3uugU^N|O>B~FHBPIs z;rt!xeERXNt}4HV4p5(xBjNmoimK*jsky1*{JPrZ=aZ57=JO#sPXALY8XKkN@7m6? z%~@!hJ=f}@dF8tlB-?mU+INsd7W2_DyikGs%*{RR$Ebv1C4DW&{nIZSx*J9;n2#a zYa4yU4Dps<>#J(ET}0VC`)rMz{bt$n&Y81Na#vORY;=sCjgkN>Th*FIC_YwI+L~~( zUDc5!Sy`ne$;D~7M)EgS(m8m`{k3(K=hxO()cGr`&R^c(E3ZGlqPDRH=W9|mPOXvZ zkvF@ob|ub(Lq3uE>9cM1sJTX86J;33Tp4^MSG7%x;H#;sx8c~zX8csys2M4eRMF6Q ztrw@vCQTUr-iF3zB&usP%y89fI!MJ$D{xF-y)SBn%y`C;PFlVkoN9i3i z^+4AZ=CJ5lRxxVhK@2h9q^Be4spq3@;|`XJ3y7T@_Cq(DeYwpDx;5 zk|iNfE!_G~Cx??5eX{Ug4#)NiT?r44J`Vo@0%7+on*Nfr1-;Zl!tS^-G)Rcw!Qt}} zo-F;o!^9`M2y|s>kicIkQy}aR{$ZCan!g&(9~rrzYpD7u;_&|hXJh@gar^;1S%-^n z$44Z(I`E&&u3MPHM+vIL`t9X#vImkZekn&Bs(#Bj{7;tn{C9Hxtyl=r^(_94<@-!8 zABPW>KM6)b=o%`2E#tKCt)}#?lQsX+Q#IsjOlZHd!-O|-IM~yb5WnRx;T;@KGE>Ro z)43gV`S6eaSu7m*spS0IPt$z-rtmc!zLCSt@o&@PW2r`$IesUHhdDeSG|9$?WTV)^ zR!q|HBAW;nHq3CBP(NiHPI@G`62cp8!e1J)emUH1SM6TC{HJU2?P>A-tCz$3&eFnR z11M?!x%(v8Wy=OV>9=g$u5C+D{fNtCpNQy6@ZZC9tS*FoVYV~Ic8rLQ1nPR3j_11= z9m41$x;yZ{q*qIq$6Zpohd@`vbTq$-OHbF?DrPR?_cs1(j({K8`YB~Pp6`;Tn-98z z9fz-%rPSKb3{OY()dso=Oh@yWxb$+E>^f0-?gjlCrssJhA)mze70{J29nBx&()oH? zN8Xkm8gYBt_oMZciD%8mXAfWR`JkKfnnpKV`b$A)Wx69t|2ELucWZokzDg*UC_m^X z90A=cpp%%6$5&E*X{dqS?`i1{M|U3RdYO*rv!whMfo@m7#&5WBa~mRx-C!6BUYfZZy<)L(L!++;f8a=H? z=(6nnQ1j5!nctdzTeR0}@wS3)!{0PAT8GeOdD#@tls`)EApSde9-!wxU6w}{_#4D4ct?xp6S0z%kNX?ZKMVSHrl;p7 zT?y$J=+iLHcA5GA+Efn)dNF^n{ktgtTawdLxhuh6<#9*PLAos0nCO$#*Uu2Ih{r!Y zA4R;&Oz}+Z`U;+xm%_Bzv%tl`x6paNMfTo+Rlpk=&pZ=)b8uT3)ibaM5BG0R*W%v| zr1&=jDgJkW6u$s?HSlD{&um(}0^lt82=2U`uiP_=^*>=B-V><)x`BDXKLII! zHvuXAML4|-G5~FuYgn^KL%2MI~W6uH!)rdTnxHKAkkN` z|J96FGL|yBfJAo@yJs@m8FLuV021BF?6xwFVoYKDl~pT88<5)LjSQ_Fe#+=%oCu`) z_yP+Pst>YDN&II4seELoj&LgDWJVis5$L|j?s1G+j5{&kQajwjNP0x%zJ}2Tr15zI za2fC*7BDW1&$oco4le`Cf!l!;PWHOUe*>@r*a^g%Vm8^~DgcuG%*)_k5A*^nfmDuf z11bNPGtOr$VLTH^`Pw={o1cCNq<(7$ig^V{>1P5dfBV3U@-YCU{JjmN@E6(tVIbx2 zKHvn<{|Q(K{4MZu__qQne|5lxK(Z4@SeL5ttppOkOBgeNSHPVD1nKw=%+Zvun}9@D z2c&$_+VN7jF9%ZoE(PMsy%6{! zEZ_zpKE#gc1YQJO4_peQ@}3232c8XV0cHcq76zuCF^#};fi=MMfMviO;1b|Dz*693 zpb8v=zak){aK;n>PX*e6rvRq_bAdMCRNw?4rm`_sAcoKw3lKwVj0Btx96WK+10!kn+0(h^bK6H^mey?3>O27QjCrXa|-6rvNFxHsA%o3BcJv zEBjl3bK#bN-vRDJyP`h``=-Uf-EdR}3D-K&rP6Ak|wtklMKgI1#u8NcGkTqdg+M zdYb~Idb0tk-X;Ji0j)sz345p1zF~B3R6%+d5KW)H5m*WTPWE5V{vGV!!v1B9MT|B^ ziIMgZiSI5T@$CgxQhMy)#r_-Fzmxsfvp?-q5`7E%uVMd2_Ag`qB1Rjd#Mp;KDg7{G z7m)I?5kJJYll@y5%NS`~;V+%W710&3KaD5yr}0GoHufh^N~aG$B0a`V#ui5E*A$=n zHN`Ju{~|`}zZ6dWSMXCfciFA) zPyUJB`hK6E-TMCCW$f1X^C~%i`u-gqKT7%4_rsR6Ti^dG#`BQurt15om!jO{*7sHE zxkPqO?HDX{{Q$hkt?w&-JVK+__j%9c`1-!_WIaCC$8|W090e07m^e{e|-xLn-;P4CzAJHPs&(-)pMCl{X zKW6uGc3;o#TPZ)F*X=y@5I?w2Z^bf0U9cfV#zZ#Md;ksfQ+IQMo_eojUG80kMX zr9ase|3{|yzc9JUjsfO>lAi}`73Uea(Yu01OqsXO<~49M(3}tDUSwf z_9ljc8zbQCYL8bsl5@7~2Nuo%Di6UBHlfT29XOl@~5p2kFe6S(U@d2^qOa_?6 zsAQYRRo-Y-lR3$XHRaywrmA>fSidwj2@Pdkm||vSRg@9rMH-r}b(XGT`^ns5)6E3& z!KSj$Wbq+qDI5P~E~Yvdifl$>L*2FB$_D@Px+-ry#uWHO?FcigBw`~oF^7233u88i zHQHzu7B>6Jn|$7t%`1i^apZ|^Tv1b1>8Esc>%}Hcjy#^)gv^w%W_#5F9$)5;;Ftz^ z9*9TjbHhqe^>M_pZZRxzv>=WGO@b$G&e8ZDgFW78e=xP?3{67o=&WxW`ctX>ImHW8NGg7V_})wT7N-pi|+ zA@e2DI~KFoGivK8lg^dM+OacZo6zyRVm98nL6V!4=A5|561>CfUENgP=&i*m2QCa< zG6N6)!m9dmnn`M_T}#T#o15}xdcC#HUI;NdW_qg|npT%LRf;&mc>E%-(@A!>{Z-9P zju}MPP!CJ4{t90$m}n;Fr&9_V{;LsL7$oxRjb2f+SR;yzV<#?WEf1R7zKU%sZ4=atM9@8--MU02O zW-kaEj7)<^owbF zSi9tz_}D~Ood!}iKI#}RGjH&t=VO$_>y5Wd-opH7-=41Z;78>h>PqAnZ->1X<)f=c z18FxlVyH|*?7>NqFd_`P;rD$j3R|9^$^%+;>!`V4s zgO6Y0;#eKn*e8Dbz>ku^wws=HL6(PK+WXg%N2tlpIei?;M|ja0kiEsG4k+mRvbboE zhyJm(L*Jz7d(%;0qz7lzn_c1zJSL1CA1V$xe=#eiDWkaM%WIW&H-mG)^AMTjG}#Ce zCwuLtgkj~CY->SL?|`;v+W1=k&U}o$FId+E@Oh+xb&yw~oI6ykU)beZ2Ydj;Pt{ z#qBUa-ZF&UYS?2qQH$Rq*dLwob77d7iXh@9n(Ed3`>7tGvPtI4TV&s9k(umRFZ)i8 z6v81)_?|$aWWRhp?3crGb8f^1+ZdXXr-%q!-fKHVN<`x$`{f&i6Gnbd(=!nn2YwL+ zKWKuUSdHpdgLOUhBhqu%j3D$Q`w4c)WBupG4^(vIl7RC!#et`aLnYY%Sn44mDRw*8)1OM zm!Sr)fLiw|YXo}C-Rh3_Ve1p7&?HaL36bhNc zaFk%*!KXrDR_&^)!2_+TX(3z|wd=Ab=v3Twn!eR`J69YHEF}*4VNat@nH&%8!;g(e4>NqP7ApLA?Tx`p-?<(q#_F=jb`wgo}=+1BCTY? zWPE5JN*d!dK(0V&H$iev%BIC(G%B?wY#jy{_e4fgQ-=JTQEe2@$hdX7Iw=A9SHa*xn)A`m^fbv&Pjd++5WKS#pr`2~ zuMkfYVr~oGM*~LqjG(}nA)02-I!XaXBWV(#0~VBZpVQqsDl8m_goDZi zM+WABJ?p5N;W$Y+sP*7DLpZ3Pz%f-gr~|@r0Xfj8m35a0Z>m}`9vC z^buU!PR3eJfdPgNbe#1tlBsS!l=2|0G`NBvZbTwPG!YZV8oCeqTN3GR+)6W;;c=q| zAEwF_TtuPUMvKV$@ey45wiMy}Fg3PDyH2Z#wmrx@m{1Sn0IgQq-q!-C6LWx8Lv62V z0sCSBT5YxM)B>!rG_;y)>(&CML<6W6+a46Y`eS3As7__wf5W%`UJ44$J`2kS42nVl z<1Ye;oUkQ%rL7h9*H7Zi`mpSA8N1j*cp4_L_k|$M>h|UeL3hsy!$$+1z z%LpAkpxZW8zotQ{uV-TRSoLmbvdap)FH6KZJ%?^h$N4YC*@tGWQPxqF6}McMEoUq1 zUg7(cJY`)k->1QUE8maAeHZRsSi8uPd{-+D?wF;l`z?6|OR}vk1t9n_TrF#4un38} zRQSEJv6Wxxn$VIOfE-UN$aI ziX?T%hp0TY@MB-LvMFDIRg#n1Cn_*$qHOZF3#;p|suy}X$Q;(%^^sT95De9a{O!VM zh?bM!GT3!q8P?tcI$=nEBPC7t;&Wd2sW4Bgw9mr`)y>jk1+oGEoh})x(6t-gg%O;% zfCy2$)uY>C8)*y7Be@D+^$)0EFQTk_*@sg7TcZ506SYm*U)-tN!Y$sDmM#0nc!HJL)<}lqWoOMJ@cq|2kH68Mmf^CN1CMe4%CS3zBlj7LnA5SOLh!-^Cbn zc!p_9`F;nvLVOYtb$&8&+)2-{IwFdc>%+hhGAbG!v|U7d27I^{4F?oOq9+j{vZ&7q zqQ$d>GrsRd%^@q3#5qF8`o3^P@wJNidhBXN&pi@}(5XlLT9?H52s(F*#edMb3ybJJ z?f9TnWm769loRki>{K@Os5|;wW{sZhJ1K(0A8@?Ty2pJ})!;&F%XJxpv;AkPgO6)( z0JJ33j@j9hD*JvzCg((ok)NocX4$dR9m0DNo@i&s#zXIJWz#;gPhYs-cZRZQmKBx` zGe@>(TJbg`GU3DcTxg;3IoBGYLua&;m1vSi8h9JvG-8vcaRQJ^MFzwVCV%Fl>)wnmiao z>PR{9MyqsBO6KQ^^hiqPTZ*(hW!!V4r3X{TKdneNr=9qKBE6rM`5Q(0?-3_{Uy=5X zICcLR>B02OjakxX>EnV~(w|0-+B;ghdsN0pqvgj&WxO|9-ad+C@&9Vg*aK@a){GCW z^4nHyj!_0g9-Q(8(o=9fC1>tPmv+gw;QsZL6CO>Mev)cgmoDv2&H8eLd}rDzkr7hg zh*9wQQ+mdO>2g>4^e7i$TPKSSkXvEhB}=QX6TBDKUsK<(y56R3AKG9Zq8XpzY?C3# z&71Ff(CUV!Yi!lnRcdIGR+e8=#XF8sa~b+h>wMLM<>{N|MmGaj`EMCW>ogsEJlz)uktKA*M=rh_&(D$SDO=#M? zOs212#QUSyTjJxN#~BSnevYn{*iSL?-^k&1+VsRV6#qsJp9Pv^>2Kt4$oSL6vy0}S z-(C)<{Z?EF;e8yA>?aK$;P6ioYP1KkkMqyl&O_?+*L;ALHZCfkxOBZ(gT8SI0vh)n zo{skN+nJ8)LtIJt-GP8krsH}^s+ar_=+-kG*H2Qqw?Ws!bX-pfbb306(@S2$deGG0 z=(5cHLMyml4wHT;)!S11mqj!(>SuIWE;Pj}jn}WIcvKG?KGot;|D(%tiz%Kdz4Jix z6#hH+YVoMu>9YLT6p!_w@$e*lo7_);cHpZ(?C0b@2L!L&79bvjr~W&;D}Z=v}0%!v7T`;<1EG;#?e43AFX)^ z?*S6uKQMlZ6(TQ5SsPC;?dQY&Ga&J$F^ntMi=U}Ll^pmh1ET8-y)6tWp|^!8c?^YT z0*ip?;zDl=-~Yx;ft%0<#HUB0uXPTPrtusgx`oht0|j4h07fT+UsMj*v6WB(=WU&{VP>~CYlSQGImUlb1@()lJ5gWGcvDv9c@2+Zm7 zVjPe@j{dyfjxY+>pIb9ITz?+lf`X1gAL>PA&_z3k6kmTH&(y>Dd+&)Hu0QX7jebt? zH*$Ch`mciY^ymC$@FKToMdcuOqbM1?*==X{2GCHr{#1JR5rFGKcI)4lZRAdCk@WA^zhd`Yoc~(|eONR;#s3NNN%{{1=u~u(J`S=N zy>3O>jc(G1HM;x3&*;7x4x^jq0i*jnCVulr#)p%A3?qFBa$h-HN z31^o28%}6lSG<6DkC_T?R&wbgPVz<}3zzc~-?Ty__M-0r! z_aY)GN0{Wm9n*#gJ|>ykm>8^4l)KQ^;MF8{oXKT>(Jzlw^%`iiQ0l3&%gErt`F zwkH#vwkL>AL;B8}=eWGQzOrHE0{_b8RZa7>G#Z+mK21cJ6OXHIhr_UYGF&!}P=cF8 z{T$wy=rCmdTtW<(^KeY<^L5HRYn4-=cUVV$b9o(fZO9sHRHXr8jw@F#H%Q|}yJ2OO z=%vF*z#m~VYTUJ2YOHfr2qEE$n)0ZibA={R&DtOhO)hu{FO$%{kiHb+mZkF{1AX~? zNIn~Lo(Bz!ifee=Y`BI$!i+=AQ?Ngl1{SiP=rJo-BD?vO(N2qAWfWyRys1_U@XKka2>TgaQ+NOo)8~4$OG%!@r5yw z;O+bWPOtJZmbqe`hvlubj~q7qMxU;@^?bXjczqO!o)rV!VW$^&=c zWtlGGM=YmgOVV%2BTZ@{&@a?pMTJ4Q+$?Xa^P%HD=-Ply1-{ihOut_5Lg<^+R=DbG zeH3Ko7p989W!FI3g_nQIUuh1#)Z$9W-*T7@k6m7Gy!@_SPxQX3U&d;VTXTZ|!)I7| zvV5_5SY*leI{ss>Ujy?6|BCGv|euMPE2SB(Zz0r*jQTTp-4 zZ%DYjWFs7EHnl!)wZEQLPVxNOnIB%a#ns9D`oNFsZWR0LK=~U^{<(wsg}LH4Fh8;b zz*P}fg@==W*6mY-IabZ-T6w#$X+lY0Z%3~RkwxtJB$a4Ezq z;08318-on|66B$2i-L-ECjO81ikFAJ@q;cffWR0@4B=2!$SyYGE>t|I+#jAjhyp3C zX_z{kfo>r*{W*?#c})!o`7##FgHX&Gij1>++CIg|G0L~%`zNt)-E0Np0+B?hOn{Jz z)kG{>AY#!$bdOMf5eEzHCMTpMT5z^JVrN2Dup=swNnr@|w7Y`JgA@gl7&yjd@LM=r zJgnqEvSFLEmuMcL_K5L=m@tGdAStjI@)j?-LuGPFyWK@+8{tf1!9$ZYgcL`ZhffpSp%KMjwCQiYTJ#*SKrz{B7O_7rv#7vSX zlv%CNIF$#2730h&FjHwEKhWzce60C2E=O^@Q!l6*yqjvN|Boo8JLpHTKF6_0Bzn_M z)|T8k18QiTq!vDbgQa$;59q~G3wuz`H|hAEZ*XDW6CHqfXhr!XGQv=ht!hy8Qms7K znaZ<=I}epdJ5ih(5mm+6qcei`2x%L=(jbBoh73@Ph^X8zT2ieIlVu=x(Ak1RhuS?j z?mCc`jh;^;qH5?q>ctPzcvS;0YVkzhi;4>&u~MQu_il>dD@7+#+JAvTE=s7&`3TuE zO?*g|aqQl*jS#05DRA_hPZ9BYoJj?F>z712F8MWgzz-Q|k>^gWu$t5i(xhQ5j#A%% zhTIr`lzLFhI~w+z81N!@!TXj_Ci$Rk=A~7-kmJ@xb2f=_yl1nJ_Z?5umKw~m07&+> zAHrEQ(nyjgPRe?|H7a(y(4q!L4<&Z%?9_yvHtK~5lUUDqi1mo>Xv*H&7Cp2bW$ZA8 zuG3~2O?Wma#NaU@)u5EfAq1TCa}bd=O-R-tjc*8qklBq}X=*eI%7$j&GmeTm{Rsi% zp9hF6KVk!=xT6L|HRw}gX#C59)KoDZ%oi3-9vO2{z=IhJ48S@%#}!c>Q&RV8@xxp- zDkf4-M=W+boGnAdF1}x;Uaj|Xrvp;DkPrdeAUP;R$SsoF=5Mpz?7BG4cNo z#r1C$QGSUidRF@HfCC&mI04A2Jr}uMmjdh0q)Ylc<{fm&AGcc*OAlh{6MPS=IjA&$lnJ^M@?F^|5LC*q={)|KS~<+el6}d;uBQ6kaF&{f_#emZnyKpWN{5WZ5fJ9-t-y6vDxG7k^PoE&OX_ST9@uL)IzbeRRlH~MHfzRV#!F^2N&Uh|tkX|uSz%b^hk#sJo5Z0TZ zWhqY1(HuXjUsdYDX^(+}IFi;KTy60L_PTPgX1m&=o_m^GKA;9Kv#NLy7rxlsh_y9GCp6CpatH6Iu~0 z2S;26SN8hGn^!#^kbrJ61f)F{D4FT9wr)BEa;wGogy6X;Y55i{#3-=20*A1ILJiSk zVy)JjUE3}Z(>>5aRp{C#UOcg`?7@Py*PZj0PsK7|O{1y6+gyQ5EUrL0mJY7K)m8&N zEgHsZDu}Ul!|R^F^%h!XO%SWvpnq55VTq)R2zkq;#a9=5m*FT<(3J_N@E6|NO{>5Xhbn5;_tSN~CJ*TLb!N6so0A zZEJlJ`hMC{Ty(WVSiXxIn%kXr9!jlg`QRY%n83PtEE~1tG#Y*_6C&f2m38}2Fy;Pv zay7lD9e|^HbJ(KXzw5>WGIFG}{tff7vS}tdWtT_~y%f^bpnaa|v-U|^4dca%)|$HIPYtyAv~ZyI3L@KcKy(eJmK8UefTs(urQa!JTu! zw^po@(~uuiPlpBuR0g5yr>&BE4Uwp;k3&br$kw|$juTboT@(dl+Ha3s3T0IYpRc35 z_dkgrGy}b(=*5BaKj3saaO^15r|{Y!p6cd#KzkjzkKT_V_^ybe=_6#;AOzkqfe!O5 z7Bz*XjsCV9w-$vYJJ)TTcT}efngT|hu2|y>ZHP6-IY?j2nHQyKChh$eUArC|3uvPD zxaB$&Dx<5?4Omxp4zaGps`N4~zP3_4IyGW#RT|bSZs=8Mvh^nxl-Uui547babR;H5 zpsl(ka+!F>VJ0|9EG#FHyuW`6mY4qN{i)iL(y(TI0}Z9ES%qEz#NgMi7hO}VN1s7g z&~w+{P2GfN^%x$erNOV0nh{f3lJ#Naq8KA>@kz)tMqlUeA(_SUX@9ZkS%8b9i<1TWqeP>uaGwD$9Hli@f>l^r~0X*%$@_OPQu77c5@fF33i^UWFU*~lH>zr=) zxKfwlpBa_$w=DV9 zQEkY@8yTZN$&^0GIN|L~>5rqW_hm|dAAQ!|OzDoyQOLkAGDm^&?=wds?RzqJfWB=^ zM#mWWg)teoD)ON*89z|uE+u2DBEO|%ylRziv}U|xm4nvhlK4C#=6vX7ouOvkl!^oA zvRYE1YL#^;MfyU{g6wTLC2N0*^tY5oA{_p_?&uFi~_9c?^3puM>mLHNW zaK9~Q{5(azDJA1aDe`S8_|AiTYS-XhcgXUsvUE3AnRlm*zkRfHFeUT34C&F-NiY$8 zb6VD~MoB+R`>rH~Mr8eTl>A>KvS8VG`-qGmjFMj*f#iOho^kVN`OoQC4nLos`4@}y zX8H-gwn)DkX}!}Ty*2WzO%~}^%P3-E`5h8{U{pqAl>EY|jJHO~w`OGgC_}y@<7!Fz zBqQTchI}vsA9*-uRMsOoznk8Vx<_CQI+%`y7?o+;2ps=Dm|d8SowM2G!OF7B`pH55 zx^h=3+m9-=8TGrO!cx(%$cbuR(V+9AcS6}K%JBkQaovgrSU|2>X{)WYNp$)#9pDQ^ zs@nRhO6l^de}}$1~bZZJTY$tVGAgBPn#o>zTYF{-VA}Xa}y(_ z?Uj0RE*cFI|B9Wa)Qu z_)z)lwLYdK8zg_hZn9szX2@(@}kjD+%2l z2-wGTRIlPnLiZ2?texSo^J(f<4Zr_1%7l#XPX3l3=M+C}E@ zqvwy^dVUV4H)VfA<3raYdKq8j~IqpW90Hd>j6k zu%6YkM2yQ)VWLlR?%!4-5FLbFMqg8Ux^65Su!|HnW){c?W*oB>=0#FbkDglt3ZEMOk+93bWI48{pS z%HM-yHGk5#Aous#eGB7S_V+T<`ESH$1|yyOHWTg%KuU+sc_ZA9iJtJ!K&p@505K+W ze+I-ja{y##@0?;2y#5L(rE%pUeFSh&IZ72Y5E{Ng(Ch z&v-fTG`MH5`}Hwe{r?$A^}H4cmbvqQ4y2zAr22XlpJpk)PXjS#a_WV67%1JxfRx|w z12K2xmH~sq-=+gmRkH`Fa{@mHQorp2P6qxNNI~Dl&lI>D*j)oW7w)To)Ne^2?+oC44k!I4 z{EeT@NayrXz5Ng4-9XBBIWPx!1yDx+qjQf4=Q7S@r1^^U?j{0>&*zXBA?yWWNaQ{Q zr2Y~BQh!+lr13D3!|ALWqJInPdZPPJAkoqJS>%5r`@bY>{+9yD|1==c@4;Xq`rk1& z0BM|gfVgtc!w;6*xn~0lX&eF1K{)!fC=U%susRjhO}MfQh$%(r;hg|1g&R|&(8I$J z98&~0;s`xFOtC@_kI)8xOvPg+0PR4OQJnXOZb|ZCV$_pAoD%%R`F1FJ`g$aaBBs;Y z;{y1%0P&Yz##qE?W28X*rT2jkVVJQCNPIQ|iBBi{uV?=b_HSYTHSFKW{$=c6#8?0% ze#o=nXJh{f>~Cd%fXD~wNg`d39i4U@gfHoQN7CEV*TGLxq2Xt>Q4I8P(2<^=zFwyJ zf!zA~ID+v{ZhgJ`BD?kV?KXDn>)9{at*`%jk@gr=u)Yqw72}xn`1E!0Ik+diyi%k~ z*9pj*QO|EXyY+Q4>8%MpK6DDY=CfO0Cx43ak)B-#^IML*3%x+hmvnuMe~}(K6J3A9 zKe_dF@cHbvarjhpNaClja|^*=8QCHgV6vm@9(LQ4#H zO!=K@a{EmAs{}J6zXPW5w@q&PtZ1ain2&RxX3FokQQt=TKcIga-IGo6X}&Xte+Y-s z{iw!so8m46JveD!<=07wP3KI7wkAouBu)3T$Yz8U?=+ANI&&0A6 zuXr_W1@srSW^Qb%c2ZdV){lVJy=UXdFqrXg*%CW{tNI)(RWy%jiU#+TkLZ1`6>>0COcmxFW=7RvHXA3y$gI))wMr<4hdv{z!?w}AFYE@1vQ%CWl}{a zkbyH~Cd3L#Z>0&3P^dg|$&6wvb!ZaE={TBNwf=5vo7VPMZfi?y)uJLMM3acGL@i*o z5~W4Ppa#?srG@`@t-a2?k|=8b_j7*-GVAQU*Is+=wcq>fwKnuAdA!C4sI_Y*+nSW= zdX$*XYFjXe)m-?)L!Sxgj{AWg*E|){COEbm%M{k7r2PVVPF9cdHJ`#Kdc@1Yt2FH~ z^6I0f2uZ;R!YcQ4j*zYg*eP^q{Y}pnEQE-j{qP2Z?Ew5Vz07W*M;ZY1Yy-Vd5DVyi zvfks9MT*WVLhsgM<+gv*X@8m?V7+YQgoVJ05~a7-cr7+3lwS(TPtyZ*+58B92ZdfY z=#dwe>nkKF2G|Q@{XT_`(6oC{dJ&KIMAm;DpR`dBwA=?teyCjNj~FCgWvPv~lYdgr z)owgg3r4~lax;vox6h$7Zfxh@tU8`yYUnhs`sg324p;BN?OWW%kA$7YjUQ zG?Vrnpv%>6Z2kqs-}tevg@JS@6MMXyEc;e%Fg2t4|H3C=Js+@ITf7Y;TfGm=^cNJh zdLJzEPF~XD-A2dk>*$-c+&2KNrRajXgG9Z@Tc=K*sdI)s-Uj7ts`O~=7|!V!rWJAiGmrQ zYQw2hzjXv5I2@W98gklkC3s>=lSdPe%@pe8QTjK;T&|7i=kR<51@)btyFUHHs zSo?e;sWe)Q9I!s{=}-EtUsDvE;!7M-|MfWdbY<{COFD=LmQR!*b#GoYyM~B+-G7G! zJyy5-#iNJKNxLBmQsXn54rG~+h4F^xY{ga?UcnX}fn~PFzaRYS4hJzPrvmvHGb>;D zqf__#Ep=M9X+IJMr|SGEd`TaRSn9!1UH_y`v#B?OYg^MBIHKKVeE(J#oxyzHANhSQ zFrT2x&nJSpcp#)5-)mbbx=BZjPV z*T~{JE=5nqzkkj7jND6XniebaLEj+kb-x3pN0N>EMe}GV4=0S$C_Zeujs80~`5DHz>0MyHL@ zEg01Qfz8|K$}Z-EJ`~^ux#t(>CYNC3+88byBUdmyf>B~)cx;Rk!6*}q3LB%$#;6dC zuwc~L7-1WuPB7{Pqrt|gw=o(7qfs#0ZHz`6qg^mM1*6->=(I7q1%vu+mIp(s4d}#` zJop9j5DeNJV~M$Jj9kI+2u6vG;juAF1fxtaDr}508>2!n!h%s}V}xytI>D$Hj0PK{ z-o|JUj7Gs|w=o)RjCR536pU^gqtnLd77Vfv!17>7^1x(B$%9`Y55dT_FoVAKmngN;#dV>AdxqhPe#7>zbYyI^z* zMz@X8X=8Nbg>=L(Tb*ZAzlq9%-lYV+i}Z-3C1Pw{)NVHI&oZMC4fTsV$9?!b=(jGK z@Ti9NhGW<0$)MXD2>YWv5_sKDt8Oxy`C1^lox2`0-`jS>>OlT+qiPwNt-En~oiCCN zRn;*#o}B$MYuP`oLuIPPVd}5=tTE3juR-MHO!3MfuW`0lRb!@14{Ck~&ST#LOX^%W z3Rv}jm@E7ZX;J}azJ?$FYv>Z~4p1fIqOfcV%jPf-5QQ;@pjNXjP#Nt15F2`F+>9Y|8eNa-gZNkOU?q=q<>@<~Bz6r}bzlJZGG>J+5zIFj;7LDHlj--52k}DIWia3(;NkIw=Qe7NL`J^D#3sOTIN%^E8H40LD97*}4Aax2-HzAEs zu2Gqp)PH0`Ax(P5f=5u@`sp9JbM)tLXfrk~?7`(fQH(zhbj0~BM%5g6m{nb2cca}u zX8fD_$I#Z;sEG!}Y3xQ_*<7LxURcv{Q4UG@ZD&1XqxtR9)so(SWIC)_F* zP!#ety*mgK(K=G`+1SiOg0-kVWr7Ta!h2vdB3u;ByaCGvx+uy0bc_x#B-AcpQy|K= zAWk&ldK}ZJejFeEus$4Q+}Q}*EgV$yv~g#XtEo0{ySpbw=kpTLmm_}7dRp|s076x7 zX0QQqb&6Yce2{TR^Er!d$0a^={pDRuYUm#5Ak~vP@tsYkj*w^_M+O4y85mnX!Xm_^ z**7jav>qbDRR=QQe;A6qrcrnVbSN9R!v=ITLNp5ZIGSr0-DXB-LW8n~u98Ab8ct2? zt}wZxnUfLFfLAxNg!%eR%7Q&#hkjHZBX8KYBaDDYQ76<25iGUAhzVQA!P{k66-Vx+ z>!OV6EW`+JxDBh^f1$FaEk4o;3rRMl6jGxUl9;Tp6|NScUewT9)U*mGIIvDLSy{Lh zmorI)u7hSJboG=Z!5nliNml+yl-4F(GeCj`dYLzDRE;NMlnG-iS)Qn2dFgEsMlZ>w ziVFgHc%Ay4Dz*{=*AAM^vk4vON77)KC~dk|leCTfk$Z_kaWwl(kR|cWjbwJC1~eUX zsU?y>|4meaClFgh2^}*t9_ONfBG{cx4qVC9WKL@JM;5eut@c7=>(04R|CuPttvzPb zyDq?^3^SCmlB2s#9Xg&^ruvQ^DbSG1Vc@twf(_~r@De&rkm(S&$8m)0BoNH}%^NhCx9PLd@4G*0AWM*wzh zw$de!Eb%~e!jOclUm}UbWxXDf$7(o1Zh2i%)PEkTK%3drnI*YIk@JcaH*7Y2oMGng zG&Viu#EmJ@?DNb>W(!u>ak-n9Eodu%ikvl#;pLBabWK0YAe9>%r+vPL1{)M35 z>NO{|b5(2iMl(;PDq%AReQivxQPxx=LgCmnu!nx80xWIghGf;$;=N$IVwtas1n0zZ z*GlfssBQqyZTg5--#!|4@<2amDIu! zXfh(8#8U7$l@-*=SGN~h`>Xcf0#$vv>JK%zW)(yX>clb(MWOBT8@h;-sm9d$`>VsJ z5z#8X{}Cftp0sFDS{d(*luyY;k^a(4y~oQ`LVho3PgK}UB3T1qdsln7q}>x-Uc_@e$VC--07 zs{fLfg#HVo8Tv2t=+V^v%hp_{p6Rj;s2XcAc8`XtWWKr zneN2>DFxPR1yz5SqD5g!(b5IB)aZGO@ni-mT(Cy==d4(Isb+u@_dl3w(w(vQV5(V< zsV44>%}AQqKsy^oWYlK8Y|f@lTGIDgG2)jIm(km3rWuINc6i+{#zsKuz7sqBmo30X z#s_ftt=*Wow4+7C5(6v;9`!Z7mF0`h31d@vm|uV0m)~Pl%>`mn^uc2qI%Z$~VPg}H z)gtCjReol4>QivT=t_38)mrt|_k8Z`<7U z!a#Pvn3&H+r_x?R=KJ{ZzwfL%upTdCdW>t^0SkLzE3gR*hB4@=M!{u*;i~5|!E8#L zn?Es5)lLVD6ZVGg-R;BH_wC z>UQOJZYq=T3JF*4QMW5M@-N|a60Y3Hzw+NyFX0UmuH4AKgf~ifyM!w@@-N|?65cK0 z%8mR>xQ2-X=bz!I&B~4ZEB}b^r-XM)xN;-^60TwS&G~1D{4037Q~9TF z;%;_Hc&>zd6uhlO`EOQkB*%%($>{u94wjifiBgh()tea%1 zZD{Lt`aB8*_+YuxjX3<35gx7HEu1~N|MeV_8yh8worc#ZJP1ktviB5(kjL1q9*B>H zGEtyQ;5dO!fer=f7dGJ<#+lpb3p2hh zHsI^=di+&jD5A2($a1V;-4v1NqaNgq6R~CNt7>)mHa=;mp&0PvO5Yz-wG6EoFrxbW ztL{9HJl<)SEmwl-V_3H$rux9nwW0cm@~USENVPC({sG_EAqr9z92Yh#5k<$2%b_~Q zE#dQ4``0hxYWoGN{o@m97Bo=Jrz@OQ&8HiV8=7{0NeQBagK!6JaUx#*0ZNmK`>?P4(YH3lPG00rBA35FQ4>n}hY zbO9qyVlZ|lgAs)Q1>3AR;{8A@Kx9}riq3dwB3@3%%VBzP;$<)e;Un9OJiH*)2M_=& z3Iq;v_M*x7*Pj=f^GlDP9{c6PvnGT%<*Dw_OOkJo(os(hv))gf8&0j zRr=x38B`NP=TR*TeN}2;XkqLCdSaACN+S*aHAS$&j;^6N_dqd&EeJ`GZ)j}nK9Hbr z)t?*HKT;&)eR}Ns@Q8g!VIeJUGbuILs4nF=R9$29=~Zk*FSTh?CGxPdPadv}jQ|Ndk7S5S@<_v0^*&U^II$R+BT3HfOB|XQ z!D6KS(nTmS+5@t4aBn?|CHdG9MrcX0n%k0QD>^h}ul>H8ZUE|66DpMZ#(*pJgKY5M*Kij$62c(iM ze%c=qaQqXu+ZMOu3QMOjG8$;}S-T5*TCOx|EluvwA%hV=0!SLLfMzJPr_Ukm zv8O7uv*9Y(b{Xih}XV89)QPVt%<_%u#83o#LZqDJm z(5u;D&m)XWXOGW%-nShc`w5hq#;uG~Gb2+lQAPYK{MHRvgOEwi*$^ZZ<7`Y!$*k>c z7a)W>dm^9hs$t&GuIe(sxb;a z&N(jjotJA|`wVX%t+eX2W+*8A2-%TBbrPRA?DO;k!AE zEE!JTBr%+Kvy0N-R7d_qNBNCX9?s463crED-Rxp~_F#PW8?{McY;I&k-b4X?b}@cC z`7=KIjoQQ>&dr_V@8nGt;IoVIyUCyN*>BV)_Hgnp3-FyN8sKXL7@s{DpZ!K{QW(7J z0{mQs?~3EI2jjEfs7(rEvxgCR69)9z#q>)!Cdr5WMr~pb=jJknU%}vRb}>GCFn#tL zwMk)Y4lDdRh0iX=XAj0_KggdkHrFfs28GWq#%B-4XFtea;WsM$c7@L_#%B-4XFtea z;dd(hZiUY-#%B-4XFtea;cJ7qyqpZ~W*6hL2jjCJqGKa_$~sB&mN4=evrSy z_b}j1Ad-I^zl7gd{`3aC506+XKdpFJ3#{UCpZ->LAs6+XKdpFJ3#{UCpZuVpCt zGq{^wjPE25#%DjspD}pXiR7>FU5rKTojn+z{UCpZ?_t23P$d62ehI&^{OJwyXT;5A z40uzDGCFh2W1{tCZQ z;kPS%b}>GCFh2W1{tCZS;dd*1b}>GCFh2W1{=lHGmsKYQ8P#5>Czuh8nv;&;HW8W+ z&mv?=y8|Q0knrKGP z0;&Bt18Ho9sZmfmGS?cj&vfr3E8tBBoo3U{+_~0#(2hK}i=Y6NBr5;XOl8%ppaezLWe-pL>_DgI_0- zG;%3fELk&=EX3D@lp(%mQ-6k7tT5esO=~ByM_;DrMuPiF%xLy>B|c>MFpCevKXBfL z_!=R;sUUU0!m*mIyP48Ub1h23-AteCS$@rs-*q4!9RvBj$@1HY6v^(qd#|sfvDjk9 zg8Rl%DMM)_6DcMN_jyx)p150Yy1VJfT2o94H@I(MQFIJ&Nq`-G{Rjl;b9X>n1gDy$ zaG80p)q|rHhyD8Ve!XX|g@jBueM(jAwd5j?5Z)Wi8ES~o@pUv6Ti|DIBzqrt0`Hw( zYc~jW`*oyt*mOVdL$zsYaUnUE$P`BlP&f9PdN&FwVC`0%?4)W20{aywsAoiAt_8yG z!>Yh@QQ*$GNN+t*QDLPhwxO0I>kIOB8m)+;CW2Mh%s&m zsyYG(#oW$}HKr6GGsXq@5;u?zO2Wa6?LtiiV{bEK)BwPklr=NPs0;mWn9pa%P`&*7 zoK$Z-aqhSo_;E-}@0g3WyTU|sv0hS5bSH_83R`i9uYK)4cT;NXB(d486GT`Rs9tC% z;O=cS&n8qaKevGXxI^=NTDU_=`c)mHWT`w0(biaYOc-pV1t{532hzeFh>7+L!px#y zhY5LZKjTH<@ut>t!ISM`!Yk%D8VUCep)8MG6K{uwE}fi4A&m@nYiO&r&PmS05pHVUK3 zRTSBNMlF$vPQ4P<5a?*A$3dU_1?siXX}*n4^K#I8i!1aVMQggHiM-Q&}r=O85IbGP_9TG$0nNn{#{Eb`McG`Jz_KHVs>&Zj8duc*=o>u-bg z2hY$rDZ93#14M0a^U=LzpVXNaS(29f8C(^ngxw5b!xt+ux)6=JR2l}+JySofy3~1= z&Fc0u9L)NyXE<1PnUGzgZ$$~cP=stbh?u)Kse7dg=3th2U_k=t{OJga&wbdB1e;<~ z`^SKwaNyUOo~6<>-E{Cv^|7tg$8s^#=!u>RZxmWbfQfFB zIt3>6F-g*FYIOkva;Fg;d49#zKjLydf->a_VE3QWASr$k#KE*FizIGT*+xiFG9JAg zEm&#{3PmDNf%!4ybTkqoS5?SF8X1l7@$nOdxhv7i&@;Wjr{Pd%6Wv>DQh~Sd$cZru zjRl0>;_mIJAH%8JJ~aO3j=I zk?JPbIA$4z#m!5N$~3&8?y+#F9dT8Knjy~6fLrv^)E-sGVAl&&L(~h5(AZ+Yu}133 zXsV)SdeW7F-p8CYCFMRsM>sG7(`=7r$gNA&3z`}pdL zan9d@EfRk#h7&*ZX5tDnq32_NfT`5J+e4FS8zwsK>kP)OV=y8Jkh(n-R%pL<686~d zD>Sl*SFnvv;P4C_yGY+rXjKaB8w%|eoTe<;_Mwf|&;FgYppJXLH?soPPG8fT_%`x$ z5{9p-a~Mu-4k?aS4`Jany)n#;R*&Sc{N4iN$Bn-HR| z_&aNhBG+}|xGv2{4ys|>r(+y^x+rpU=Rv>w1=WXg$5#aWHVl72eHV2SJsbLf<6L>$ z(a-XLjo}o*F*TQEO6XycOq>#`cq^(nh_ey_cgupVx@8mhLl#*>u>$&-wI!1>A3|B^U8M zI)P-4KP;lgWQnO`4X3hs&{-7q=V<-l64UokF`xw6h~HkM;M1Q%B3P{Xt-C5vedYma z+dNc`dQ^@x%|~pu%<*j`@x}t{2-w2{^ZkJS(!9u+&Vc)`ibc*$ryrx5FP@pe_@lr^ zIxk?!=nCk2{BAl7PX&P*bEf%3g8WCa4#IE>;y%4OP8b==zOo-wT7`ln?z5tLoWiO< z!rIz}n0BGU1oXqG*#Y-1KM!rLBD&)$nP4xln*91fV$!d-(`?P%uBY2c%_^5%&Q(E=s2^H4-n7$!2-Vl!Q61q7T_$>N(yQYS6kgl{-sGWYy4m-H{ zY?Jz~r%W8$3udH}zgxw$iegCdjDeG|a!p6AeraFteg% z@h(+!-G8;GCOp}XW6{t#AI(+fCG+hrgnS#R7E@w4N~)OS$_3Hka{_HUfH`bC&~T0Q zePjXkG}LevbLc_PU~T4#c-!P{W)8C?=rim@*}sG#+^0XoW$kkx^INa@nn-q7pYSwU z@F^Vapjl9{;C$cL(M-Nu=teT%#(&<9F59U24-Dr4>pf`g2pA@taX z9E!c(cs0O82y?*dLp;r=ou0U`v1~ZRQ!*A7%|1TzLnlISMcqnS>e6)QBc2Olt3pkz z#vCF-wAgKj6aUX-pwn$;{o@Pc)!kBVELZ`W9xpO{s9$+Pyc7Y-5Ic&frf@kdkV+B7LI{$eVrB- zieQ`&@jW4dK?Ohr^w$s*6%H|Hj^mXV*&Ro zvbz?KOgn2mRQ^oh2pGeT9vXT3T&wzB&NbeP>76PZ`;U3obbl=KZLHQ&1y86I5KX?( zl_Kh$?~yQwA#^(&>CSf(D+b#~)nVE~{aDq3BYyM(;MVSrdC4gGM-@Rw!P0{q1MWBd z*doAw0dfKY$JGv|DtFL$30)BQxbAJ#U39~LHMuK!+ZLw6R($;QU22YgeLwXRh>69y zDmeE`+$sN*>#Uj$flpe_fKS@3LmKFq(Sy;_1N9W!Vb~d?Q;<UP<9!?^ZMtV;0qjB#z7F^W7# zWq0F_$V_wNaq442f5bi0NC9Kc{8lVT3QstamHl`wqR(^UC+!(}OUBRjG0lE$ul}6=qkz_y zG2)>j?JpT_+!&QPwAQb^k~yMhu67`E0c?m3HgF(y*WfXl_WIz#VZRn0GUCa(T69R$ zP)&Q@XdL#lV(q`q9JYO~{;M-b_ZI0-ok{pFpScHB@ONJ}-YV9QeA#%fSlf6uj^6$5 z>{OaawQoqS1Di7!W4piQl zY;+fC-IL$X(zN|w&AxT6_TE>=#(dfzFLVCfr+swUm={g0_413~@oOJm?$WfoW*9%1 zt65i!dcvn|zv6r=pgn%&1wRRBJy(vy`yP++Q&T(O8GCGw_TL50SLbNm1*hFHM{AvV z<}Xa`&6!g*?e1BlQRg3+HTwR!dfTkgznZHbn>FmGbM;>q4!d)%et%&lu9Wg-N9Sn2 z_nu!nN89bCH2&rF;4Yro=Y#9m>}*K${yV-#c&Ewi5lsykU(cx>YhKZZLVln(NoBy>X4JfGyOyR>K4&u2WjKcy&1}y=lsB zUE=O0GG=#)@)W=(cB9IO;HjEBgy59msKVuk`_BKa8NKQ zXr?-lt!Xnau3Y(@@`;mNSIlq;@e6RRleTir%3$e|Rcn`CUzvjAo}72V#F?dQmoL8% z7dk0kOTnw_E3WBNT{C95ay2u!a_RNj8rK!BT-VCg6{}X3SGrcNagCqhS`%8esv@|~ zb>4X{#7y$he9K)bLU09WK}MDMDd!8TD3Z2xZN*KctIJnwOF}DGExTmpnx(5k%gQfV zvNpJQ%_Z3 z-(%$ZE7nYSD1CnH`*qUplOcRR{wiKo_{0xCpMZZe5W?>$eBv(!-&d7&>yYT++cIxQ z3sbxh{Iq+4oDV2^Bu{!A?_q$U$L1sLUZB$;AM|uN*?`#S8ar6vaU8ZH_fdh}fQ0uC zalbBbkHB_;PXiL(4srikV1vN_7Puyt?|aC(65S@sAg2T6Nby<#DcvUoZWH)`z~2H6 z1>VoaeUHE&3jBeUGiOyIxHQ*_@H*d}lpAdL6r zTqW>IKuTw_g#Ys^%6&-SK0xC00dfCI-0Q?$E^d#w^91G!oG8#GaGXFLkof4Fpx|=? ze=qPy0;>fU0}clMDdLWutKz*NuuyNa*6>7?@B%@IMAf8d@i0(8JV6KYG;z9$2c`&@AwfFy^5XrwyecL4_hw&G$4f};V+{}*VS z`yDi5f^^RaK|h$F@HfC5x!;D+$bBCm@v#Ar_@MiyDE*_TbmZR- zNdA8WB>#GW!vOK*yaOQ+Buy^D9|}nLyO9XFTL8(uN!)aQ3Ax`#;uKCt^vP`jl6=1{ z&@XVZ!1D!;5tt?L7!s#=?+NS__#7aW(++`K0ja#o01Uq zyvLL~@Bku>#GgIxw!oj<_Bi`B3Ae}9d{hRyC&nJHCn7xg9+;;f2f8Q49*_P8H&Eiw zCd5s4pOF^6A8_bShj8Rm+-ft)8-SPh5Ek|xP7mSKowZM_6EA8p>*jg zRGZSJD8SNqU55XHH8-wYv#j)M<&~k;|8LypkWv`#Y3k~M(zWZ)axyV^zsvx8a}Ah`K3vMKdBo6PSP;EZ5KW-VHVzH+l9}~@82%GJ1;*^ z;iuY#FIBB<`Rd@sYthAN{n>}_MPH`5C{)>pC-Y7NJzLIKA>+{h(qp@6n6>}N|77jM zFTy;99-@aXR%^UK({_>BT)ZURK75(bxl=mj_2YRSL6rJ^KFyx{ z2bf>cgRLfhvd@(l0qG(ld+uv0gK?zN(!zrI1#zcV;!^Jw!ruzeBM~~?d>>*0QQrE} zo9|sXKY`YW{LxdZfVOvnybJ({-s+0QxbP;VnsTYXFd5Z6N4Z>*u`;X|h`+qae9t5W zreyik?9Hzbemq13PZ;%v^E*Y2o0t==P$B9U$$X-{`EiK%HQ?msY1+$}D0{T3TU!dGE@@n1+Dk&sIn&ufIWfObj?%2lx2 zN87)_DMsxYtekw-2e!sD>C{>HB#Q4Z_*MYrB7AkU4W7f<*5v@Q`&DQj`6nF{^Wf0Y z##aF7up+UEoEV!aPqJoC`ds-&?FgimNa!h8+G6c$N$XzvbexhLTM6$POv$}d_=6BE z!EbQ-Cw1YV2rMlH+5(es`0C~fd9Wo!c_*WO_(Y;CLg9U4f$?w)pv#1TKbn)m3PxKMscg%m^}oNKtbf%$+&Or>fC| zY>@po*a_fR$hHF%2(gu|2E&13m_Z)C=p4kX;jMQVmq#oZ8}Rrom58O()cq0EXW-(4 zD~!%_x~(+}flI!iUY2-Wk$A0;*H*R_Nx3WtAJ>Ctd#igwIIT17F)W^t8%pz0EHc$8 zrmo2d`CY#u_(n19CrKe#u-GS`rrnn0PaUbsH)>9VElVnAblO^=JxUD;g&Ie(4L(Gt z&F?Qb!geKX3eyOMdZ9Q4vg;XH&<5oQGrA!xc#Fa@Ea5c!#F%*kUw`+xU*u3+LJ;=! zwCJJJJ>lbn)}3#5yc@oGT6l(0{TGx=4C^NP@>UD|ir{d3Z?6mAoO@zMa67%Cq*!O0 z>}Ezb;ONrhtj=#m$04R_RADr#I*`zehjF|Dx(;vmH0fsaq0@n38s2XF?GdTld0Ko{ zTApAC3WDR7kg!4+6;*6Ax~M)zl{ax9t}Z=)^?mbKpO(KZcK#X?`D;M_Jj7=tP>=j= zLH_c{X+?A6`Kw3%8v4l}E8k20>=xa_CJkWa*Czd}TVuVN@6AXX!#tJni%&G84Z^1!THDXjXI!$Yiqi2rE)&IK-IUQRi z+)S#za@z+I#Q9anHwwO4P`Zd(PErS8r(dw3VE)zS#zVbaDj3vhxLQHNwst>C!L}WS+R^u48cPCQG3Y`ZcwCmPCk>E`U0$X&l zmp2CoMtdE>(XpQs^^Sw&GHUK1M|8wjnUJF&ZbFq042qMQGj59>I;HDksJ7Vbkyr3b zAnyXf%-~sFvmQWxg?Gl^uM*1)O|qhX5>pjU6-P(3WBaOLTV_8=2G`ORD~d({-3M$i zuzX=N&!{;C5m2@<%p)-YI*M8vxogEbqdlusC z;l?MaRFgX&>s}g+aKnr0bol5XI=ozzIrZ0%($^s=@O#Mvrwj8q0!*mxMZQg==AS5Y zC{^UYZ&ZJTSM>kX`}i@ClG$eN_4uU(zDeT^vVzHxqK$D0)4fM$*onbPA_fod7XPG! z1=~RreQ4m46+>v^UEV%2B`2|82zr=ut61i#iV4a3`J=jJ0l zG`oK?+sDM&37y+@n&0|8$*n63FEoC@MlVShR{+6--g>-^YV1>X7D#ergkuhiFaKb0 za=5np)_@A}XFV8WBk$(A%u%2GI~PjG^&8(Fl)oOBHKzcMRfma`{z zfNI~hjm9J_m1J2(RxxVH%$03ZiZ5*PHe!_X=~!C8S~ab$?2DRU!8!sdMFO>0#z5{o z<-lr%Rx?yM_G*TUg;q1h!!^`1o%Dj{Eu;mr*3@ZWQR4y-!NOcA4eC6L{+RtPKLMk{ z_E4WP6GGNyZlo$1Vuo#>T8@i8Fc-AZ2O8Cf_@EIRb0*uN20D(e^Ps=+Dg7VCNB>8? z6_bqpis;zW`>ru~t>=KQq131Ft1-Omw61cD%R+{;y-jHkRpywYcw__{_`NWi0R0vDb|79qt~LzhsqHflCgga{F|&G86Aa9>w8 z6KC{b2X!W>fM)*Q;MxA@dewixs*sE~u)a{FB}{^WU%hX2AM~Z_?jQog2hKdc>$9HX90v45D24Bh_Pe|;iJ$*J=ie+us=I0P@Z|KBJfJ=I$@1_=Zyrz{X5^$+0|RhF_eGFAQr058 z+Q{me<57zZHF(=ONncGUd7f1K6dn|vc>1K@5&2%OKXT1NU;f9HS*G>9g+2>sdYgT% zP1F>s_K!2Fo6%INFr^w=bqubD;0mBU7(KH+dgv@O`b`h67U((+rY&lo4xND+yxwt> z86#6uX5^bC0qZ5-B!mPHRDCokcskL!p`fSHLDxfmWL{W|BeWeio!+$s+70w(bS*R^ z#p4j*gmZn7FaMdFXPbyVjv@uK%&PB=(}Gjsa0Um{pf-v9u?)Ee5peSO8raCX#>L^o z&7~b?#x)b+nM-OYt)BH@N&~DAxI$o=z=Z-!1eyXp0`mms3Y;j=C2*WTr$C2-^ot2j zZ5ZGii<;y8*VQEjuzEqw;jTIanUNvxr^#+A>`YMgUDTZD^SJ(EF@(L+c?-?_CMv5r z3(=`BOx4sJjUG1X0ei;emdTT?P z*Le6qA#S{=dU9gYsu5e@J#+(V#Ir)R|D?bZo%R5K5ZTqbn(Y2w^%v|JFW(gT!}c5u z&r@x~6?yiQHoT!hGphfI? z{s+7`Rk9^#weD~M|HM^!wX}sQA;u2xo&u|Sf~w;i8Uyh%k|dz!u8}mgveWL$P%eed zE_-Uhq}Lxb^?giWxk_ z`k!d=WEo(vd7{<&xa!Re?DUmY-hlON2huy4q?$ku*+o*n>66r5pPH0W)q-@8+&Mrs ztKRyjd2}E2L7)yY1)3jIoVaol1`7STPzx!X;vz3N3v;1>?$6C7KM(npke`SAO31H_ z{3^(=jQlVOeK(A)rpyq&dAw*;;~PDaYH^xJ|7!Pd6ssF*B~vI;Hxx>8f#5Pv?8LfA zZ^OJ^EzqFwr|gRx4-cYp)vKIb6FAAN-?wb}U!x7r;LmeLu*LDpx zfceDmp`gBNcs6M69{wBpM0nyS_v`vEb!|B|y3c%MwEjE&%!5w-1O3cSr~cNUGxs|6 z+cHP}$A^qly~Sbg~N3tkzd*XeuVC*JTc z(5Ih~{o_IURZeS=zIgmGU2o7wrPNDz54GhGWoJMr# zFIil%HX<{Yrciw^2MutOX+l8-!ol(j&x}@m1&BKBC;g3{NyRv^4gGQx4NZ;zvYc-!!PysjXcMhJy_gDAdU~qy*Drngj)LcV z`0Fp6&S%qeEB^Wmr*qu&OvRtB>3#Swk#MM^^c!9$;on8f{^C1nnSh6mYxEcHk?;b> z0!rFbC*j{1AiP_`X;TyO6Ecw3*(ySXG%y1;q5dE;GtU>lEXVCJoii$o`Vj! zzw(jnLm%jCn!ettJF~MKb)ZF`7IBC{>wQ!82RA4(s0bsSn+DAqF=TcX>lD!!sY3kK zA5wT!5BRb1=BDZ&5#1pE>O^0O>IFYGzR)E+`rh3ucvL_5=?Cvg1eCn1(x-aDPd|8v z5U@?~rV3g-KQpUnh~j*YK_1!#kLnFSHoYXg%Yk=L@TmTz;1wk3Ekl^6Tk*%oeh9H2 zdba}46ubgOErBO)lFNg@s}MY?SAFoPTwVj-K^RG*hsvKHJKeN$p|Ymu)AYhtyrSq) ze?pJr&$y6{9-D5OUKq*wI{f9nA!z7F=yAON>GAFa-a%N3qKDcCJ&x;pm4}^Pn*JQ6 z_bmQ$4=XfkH}p7)K0RJ0a2Fm?@u)p-q+C&PJ*7qQV6gJuovx(;Fkc=1arm$ z&IN2dL%~geSHWEdNO(KYenBGVK|sR49}u&LoL>sO7tjOuZGZv5jexm;m4H_QUM=pq zfHUE~7|;MbihhH_{|1QZan8$tS7_Rd=KwMP$+-jY62NZ(76L8-B>Gs{2k)%L4Q6A@!kcT0{A8%Sf24J zAkljXkmU6!Akn)A5F(uM9r0fQNb$=6rvT0er1$|qith!a_!k3Gd?z5q@5VSp@m>d< z0{9{z#d`*j;xz+Oyx#&+yjnntw+wJ1`~wnxE?^1VBLMw?hcNyT+yzMGIRlW&a|$4p z=Y@bo*D3H#Oc==BD)2r)!mASZDnN?AOyG3_{StnuK+GPQ&K?vt;lChotH3ZIr87q$ zRSL?-ha(kyTi|Pe%#T1z;Ee*y1qJ}mLHv9`^g%gKVBeqeeIFp@``dsJbl!nXom3|I?@zBuPbai1yf*U&%Bg@3ES?*S6sZvzsY;o?4u zc@epH0#f)N#Jxe>E5&^QAfl>S&iN`E9Er9T9a==>!UeK24PAkzgz6UrG1coE=12y;B(Gl1m3 z0}%hm{#o3U010n6AmJUwehA^c4M=$V0jI+KviP@(f1~(6B>r2({}z>J~j=|2?&-)Isj3HM{0n1fW1g}I$$>-n(D}dfN0_)I{|ToW@I~{7qATwL&C^L zK;mZ`pb6Lj=mXpWNO*OCZopc=$$(+;UjYcYj4T6$JVq`QSR($QMf1&(9>6aF<^f`A zJkkZ|1Vq}T7djH}O5YHfK^BJes(cOU2AqfRPC)YCEB@``-zfgu#J@rO>%~7TuuPyw zpi7`8uoLOybx5PYdVyhqWdbRGU~vfLkNEP4ze^zHhr%g86b`_2&x9x3fhNi<-pkOr z)AN7CZLhnks1U)3y*}9_;r6AgAQ`u{8YK5SSbuNONPiFD0BV z8B4~0IW0eDr=>pu<(-WGMw&Yh@=6XL4|yiLThqetN=yImY4W%*Eqrbo|2IPF$@Dj& zJ|(-&H20Hf?&pD=jIXEhw<|6EZE5KT)9|lI``8(QMGX4+J_`@6}C4635{h6KSrukMfy`QAHf0tGt2{#%4iZpr}*_T;baTBRL z4y@;_6j}3Du7z^$;>z-=WG4rj#jGcp7B&US!8)P7#^+z+_IfAhLXDCnK{kY7@2IqV-8yJH|9f=GRe2<3 z0xoK%?^6|2UhIkMLkv>+`S(4f-{~bvG5dQ?fT5l3l#2-1eP+LvHDs$x}=1rg3ta zPbKO8Op(%4{36@zb}nr0|DCiFMf2HOy3JF1K2J_axhaKpl9H83=_!68X{0go@1*s) zCCfZv@IYseaUfxfV$F@oRt`?y8pPzu>a$%bOj4AuBO3@6H?Dx;1+sI%b{HnRzlPCd z?dsyt>Lumt<|r(5n=mQ?!xB6eiH!>?-SX*EOUu_Rg>5D>r0iHIaJn7h|b{O$LZ|wDzC@`d5G*IH7 zt(&>Dvb_BIwab@#*F#3}p_6@=tz0LTJklmg)0VC(Uz{42l=;t*e#P2K7_=yzx*RV) zH|8I!msG;2NO@_{o5I28P9+bvMAWQ_%#HLjf%|Ms=T|IQy!3jqX5uA!ea)9BuX36} zE)FhT!8rdTW=!l_y)-$SpR3czuLxDHz(jEA^xX(cnv0qJLc+gasnIznrf6%d7KB@t-=@c>D9B8%<90q&h#Ds1eUsPvPkEuPJt8 z!oGC<`o&9D-r%Omd*w#kj9N%nD$(joZ7Ud#00F_*#7fp*;VR`%oDu1n1=Qlq?TSi8DkXX zb-vF|<)p-#7Uv`-q+(rTr}TyL!%WZr_mR5#-$yDg$}gV5xU3Qq{%pOn5_vpxUyMvV zV_%4jZQU$iCWuQ{lrOzLWp+4lCpx*mPIPjgPLx}(>YK@2S7^#)Y+n2uI%jRptXWCc zjaHSrr}y=m*4JxFAFs(^@w3^Pnljy$c-+$`Uz(qvcWEw+NlnXjBVckag}QTdr%#;< zICY9!;rDB2N=?O;sVVFz^>1(L9_(#tE(+yuS8V%9x%&Qg;^PE8+b9km+l}o;js9rg zjh>UWH}#C{R}(#KxoP)|*R3O(m}{5_UwCjWq*+RzfubpGt`8p|czlzn-dM!GEf@|S84t4F?T{6Gl&A&s6* z*M>yzlk8!IQJ(aKMQC~W$V#u~`TX6Mf>K!gG<#U|k(QoL5&SlMd?R|b6V<*ew(D0g zg8blH-Y43_szba0aLRHtZ5j4<5kGDZ%WfMN!jI_SJK$%2NdL`@4yNj3T3Mdj8=*aN zEp!g&L4RwGYflj5|@`JW=5)xcb|g z`gf4n#2IRjqEGr830oXTp=4k@d;^Tp+}jJyds{C7CY3r-H{;HT2`&Tokh)8x1Zgg) zgR|CbWeGsH%)x22dbnZuA~)h11<`~y9$rx2vy+vRaM46$!IrKp*dBr&(Jz3a6thi5 zJshXbCcjLJZ)h4I4KP?h3`P^iC={6}E7jV3-lde%qYH5!Y5+>$76vpnY-2Hj+ifJ-YxCTJl!!=jO0JZY#;KH?1E&O@Uqz=3N`w@rWZ#6Me-GQA(v9jx zDxkzpp~nk$tFKZ-luj7zKfwuKt`W-cib{}G!x3<~LJtcY$V~MV<)t*Xdc4S0^##i7 z9*N7@GitsB-`E5Sf~JxZZm3cTmU?MB2Q|NDhX}TrMMZ*roxMe{AF)FOdm6@|9xn;@ z5`H7W&Y`y&Nx1|LyF-A2Sehh*HC-cE&k03beS=~>O{ipZsSEuG_@-(Jyl*gGKVqJj zKvh|&o}p0F1W(qzBwZ?pa~Mf9@Z#k_Ce9>XDH*bGg$%3!NG+LTWPL=jsKinoqh1jv z8IsDXlaN$qspvWsMsm@$B`~NY>DE8cNG-|g2KIeCURjf5OCnNIul@m%+H0I0Mp?!6 z!>%@~4vix#alvW$)q~?;P9`+BC2M5s9K8Vdg0#-bT)SrSvaV6-UMpMXIJB;@Em=-; z8zHX2vK5N0ddr-lG(?P3R-Brja3L|yF{~^m98f^*G$sxng0I}LC(>>{VqZIAS{NT5 zQ3PETa5>CJ?0ZT~%hBQ)r~L`W=0Y$9pakxI)z+nt@RY#zXVYR`6QI6GRXQ}X`qdE3 z)g-JmNIR{5HHg~+6{$pUlD<93Cv~8OoH8nh517YXJHwL4$r$=o9`WU9yWE) z$nolxt8Q|U(2{bzyq_Gq{wH!gpgz4r>C=znGDO8<6{`OA>BTp$Kg;^{G$oL@wpw;y z{m+eu=o}ZUP{1PDdTvoT-he(Lf^Nc#qHd)7n*ueBkJ6+YmbTh4ZwT|eVdF<+2_F6W zAg$mDtqzCDjCs8+-n#5o?+>XKEpPSSwPtdQ_s2Bw?4@=R4b@2ttW&0m>J@tt?wFUG z#+t_E#*)DitX!5G*A4y=!-;Lnjj?S+Kk8~0mnRRxPgmQA>1jlmN(OFK0bm*sne(LF`j!b*z+SYFJkTGc6!wio7!gJ<< z4SMeIAi^UwfkjRBTW@>ajb8WDcERi%Fpt@R+% zP_4QPc1og7Dl%iMn#RD`zzQe21v}^j8})?d zM$-Dy)_n!~;FXw$6plQhkP*|&Z#9isy_i(`nhs=x`U{V-7=Sq<3DatRVq%<^v59v^ zMoLsKe&C;gS?O4$gzDt1H64Dd0zLD>ahPtpm}ul)u60(1j3=Q>duqB-mU?JbPYo5S z9-3#0Sv%Cp%e?KOZ;+XRjZad&P1etiBo9GMBKSDQ2Q4u^FuC9Z@H_~@EXh>T!Cxy+ z5i>@)u8H(>E)R;Rw5uVz`mQD9hr(!Rw-yKMe1>Y9!u^Adb0<}l6c%UpH} zb7Gw@p~=lDb=_&#gG75rUzvvn*M|Di>g}Y;t1Qi$QCKgH20E2ZG1Ps#TK0H5_0WhO zZ<`KtI;81L^QsNqDl6~}z76MIcG|(DRgFkaj&!=+tY{XI9Ph0}yg2)b)@a)^yyj{j z8&pVCn}Qz{r&bjVQolf7WQ_7Szrm&t^=gDr^bsHTtC(B&3G1j$tArBkhNg7c&33&1%HClJSqFi&39 z_?FIpdjAdE661gqFJHKwX>P1EQ^TpFh9BG80F2*gPVz~o->?0Z&oJJcRD4x=QpPQN z{K4Y4XO4pmPE<8Q*BPcaV8Q`8w!`Uctd?YtLmB6&hG$~_r0h{v9Wsv?qhJvb7qI#* zZ-dWzmWzoB-*|Y?7Cku97n$uqw-_1~`x&B>=|!^WcL%-0K4a({*!nY2(Uj#y^xttK zfSdvJr{Bf`>Ie!HR`4)Rz<8K4M*!b_&w|Ck{@2$9f7US|;gY*1 z*oyQ;0**jrwX^GVwBANCBmxs@DloL)cj74+E;QLXA%+$uRbIRn*~>SW=fHY?_y9?z z*+TGEpMVJ*Z|V>n{Vv*pZ63o5y1333rak~00P`>ydAC5$vpldaVw$b9N+3OSGP4#6 zEEBjwV1>Z-3RZ;);xSvRYSkOP)+Ju=v0tm6G?RPvgrzdJnbwn`2QPvRBWKrmo?pTi z1k8=eBD%kvC1#ekK7I*Hkbf{X=!K*-HOctRaP8Ye-yH@8^r6oV({|~n{AQST&!D0I z915N3>^(!ZZPe?GRln&S*hv4&vJ)~>5>l0vI`cLftlYs7B=X`L8)~!35hiG>X`g+?C?Y%*c$1?Pz zgZ!G-oH6*9L-bvl!+twN+nqUV>kw>@b)iu_GbH=LEPc+y5f`c@mGEMoeX^~jz(I#@nMG6qmQi3)bk6Sy)xUg8o;It`<_zM(DBg5{M#&HjQkUG9x61wCAN zvL@)YgYv!WmzG!X1uwSObd_iv#XY$MpL}mzyKWiX2b1ugqVP&*GuH|KykvAc(3Xiy zz1Y>w_SVGThJC_4f+?_1cv!+8!I%I&?*egZ_IC{r+B-d8M$F{!G1wNQr;Ik4@pR)a zIs76CFL7}2fO_I}5{|8FdiwBJFX7lGN1${7jH-SbC7kq^lJ&3)CH*?A{OP$5e~2H? z-<=Zf8NtD%`-8rLv@cShItl+ey!+GR?w0Ukg!iW>?~xBSBE~-SOC)@t{Fi-7c*UoL zhd(8}PQnHB;g9qy=oyIrhEJj2DB)831H$N(YaNlgE#(A1&?)fQ9(mdlGo7fY&Z~ z9=!9@54}4Pa5DPz+kt26(@Xv8m%qO!(Gxi*@RIcIvmw3Q_f>wWz3^l6H>)c1HnhQu z;5ij|3k8qb4L>$sn*KY zl2pzgB+;XGIS}4iC~up;KJ`YTQF#;sZ=CQa?X=(gt^%GWc+y_`;MwU6WG{j0AEnv0 zU)56@*XVI%e5gF^{Q47iH0C3GVN32vJ=GzLN#yxua&=-7?^Mm+X z-=*+roTA6kB?cmFe$wnWP(BXf&nb2o?xRR}`lRDk_AV%$v%q`1*k7Rjj2_3nv~<$! zHnieX*_F_T-3f>`o%2V)$$-BFoCSEd!2bkv!~Gg2e$a2tX$Pe6?E=Gq(2va-1DFSx z4Tw5BmcAU5K5`HGS#oy)LT@(bWpU>L5}gYGuK+wp+}VJ+h}w+?LjG?865g|bSe@8xa3*<7rvp;>h2n1j`ryt2L>6Zdu?c`jG4GrL|K9=5)>nF5%7SODOzaKnnjlAcd1YD#afy z;qRf4DV+K^3cnwa!ha2jC+7zIP`x@Ikm@VM%8>T6p%Tsd^e#a92r(Wo7jQHneT%?p z3D&1aT-Kxi3ZMi2lK^R^HxsZI^ezPK1}p$P2zU-)C*VbZdjScr9dIIG8zA8|0utSA zfENHZ021C7Ko4L&U=H9tfaG5XI0mp5@KnGsAie{RTn{)7umbQjz!iW)0m}f$hUF>T~TKx|-)bOC-D5Hwl;-U*1VcccUGJizrR&p{Az1>jt` z%K#yYAs&G)fmCV9zZ1v=8wJ)23=1q1=n?1=s0r*uWR5SeUSL>YnZSjBh%$sexf5R= z@uzYne=1kySo)+W-l_0g&+P#s41huM_{U_^%iL3h^%!e~&evsQ;lhTf>z>#0k`ZLhxq;Bsy}ku0cH8Tj8<0<;@1o4% zStM@d!rh5BJ&cp|Y!eP{GgSB*aog*;+l8LJK7Ji&l%Bnwei8i@x$X7w@9<9U zdaB5HPLupMiu*C4=iyLIdmNDRS0?GzPYN#pN~G=8p3%iq{E_bqAhFG`C~_HdH< zxh0LiJJQ^lY4I1Q(I>ke$@EsI#h;#*UmV=EZ}pxwf92}(blUxJk&}6tS{YnhkxIl)#Z8e`ttwx&vT}9*7?aht=!$y3C`s3K zi$Z>SHr=_bug}UqsU*@eGj+}4)&C!R-vS?1akhUpH8(b=y`#1BA#P&jB~|4YSFNX3d2%#=-b~591b)I~oG?yCn3*fr zP|bXalg0Tn#!MH#+vGaWnnN2qAvx&nCmN_p)7&mDqjhn{QP|CdsocMkkSDjO>l5u3{Jb1WJn$f zJE|F>ebdTM3w~)%aj?An4AgSL5_PW;G4ZNixf%q>y&Cl%Kjg9V4M9Z@RM{CB=c}zC z7loJ9E>jT;^Y>@#5wSM3#Z|K^Ilm@Y25l_jia(WHgz+gW&dr5BFcN~(eP;Pt3os|y z;&%8Rp^#@glj*{<&2X3W3=S;;?nUWEgZenv_=s;U!ylKl6B;hZA&AkeB{_?X%h(|F z5i_GY*j9Zfp-U&>S%o*9+t|n-Uqq+7sX3>6v|x^7(zrq;(o8KU6jwE<;jxVGK;FQQEI6cA7i74+#m;`sEP6k77oHEIAhvO?ceYTF0HIxUxVe^(u zdssGOWuv*Sn|-#Tn&vP#G7 zA%9>U!p%XrHgv!p_@+eo1pYwgb0Qw>JMOXJeM?-&#obcqTrI^_I_h_-WH8cV@q&A#(GBp|Uy%dlS0UuwAAu^Seow=>>i2`W zq+a=n%WAVc^^4)A?!x|gtKw$L?rc0CM{Z~Pi}N}gFTk(78NO*-l~QKj8g55yU`O+} z+)V}>TpTvcFzxz|ozAi_?k0t(r4J1 z%SzB%s{Nh1l1S`qB*T&N*Qr>+j>z^fcf=xt~u|_W=>uk&yPY-!PQH58DtCDL! z^&MU$N`HaQ5;d>^)kp+%GeRH%Ew31`bo@m+{<6X1hgz|lp^8e< zNvfI(0sQb4Y&m3RuqEq~U`yKFD)p9G_bg}`kE{6C`q?pC#(zlXVB{(P6mT50EMiB5 z#_i27r%|8Zl=t`-xpoDdPj4CjM-_!~sZk!^^KX77U3*za2Suvmua@!s3tG~yM>blO zHSHVtxdA`nT7;i%_=&e8A8>k0+IQiyQTzKQezx;xq@_Z;WW!|>eg>i29DoR(hf9Yh zo{OJdir847iFI)4*2LfA=XU)w13!C|ziZ31zq8=7gT%;#McU6paM`JU=HursMZC62 zyU@GE=4weJk(^`r$!K%X-`u$CUuZX| zcP`xNX{g4w*RXv>zbXFayWPx0^R*TLFDc)kK+C1jxpp_BRGm@3RpC~?S$M}Z$1GTP z+A$)u`dgH0=U|KKMaqA$`Br9?W0EU$I`z-%#P0K|{?ISUK>6B;qYMme3*QSJ_Q+^1 zqV|02d`uX~JSzf?d@5DVeQSwwYn%+Xplg?MTA`itZBEtNiA`#JU80@XR>tWH?c}#P zHE5?rHm7FoRAzJ18rK@xv?i_}YhSH4r#9`h!RGXH?bK#-x>GxCv^nu;63xBB=JbGe zYPUH(qMa&iPL%PAfSYViPidzPo6~mf)MayeNjr7hoL<*X+igy7Yo{KY6K}{+Z?etl z6YaFa=9Gdt9KLqioJMP>T{fp2?Zmgl)arrSiEoQ>I!rt9tuanVYo|I}T-=oorarh1 zPUumd`rm(wmuV^-@iH}V7y^@0i8ZGw?PNy>tN$t9h~n>*x|*_5kmbp-IO{iPN{XiB z+bG}HlvGVAuu;CFDQTKgWTVt;O1h@_ZIsJ3B|}pd*(hO68Ko&@Hp&`JacfGGjdGEu zjMkJ^8>K>1GBss`jdH%GjM0=f8|5rb$HJAk4g7q1Z5 z8aVgsH5L_$gL=ng2lZWH>X5-u2DZfJaFc(^ZvW=pDfjUkM1nk6fw-tM z`EX3KEBL$l?ixa(*DG4-ZvrC2dM?}sA1ZTZYHK&tO`t-bZalRc>&I>+i}m9Gb&O&L z%mJq%SKxM@l$O~`@sSD%4K1_p!VmBP)hd{<4xm#qT3-90QuhkY^%~>iGwgfABYE;z zAWy>&k%y#(>RqoWojP6cBsN1yE<=1%he#}FZ&iGV-kVwC$RoYK5j;lGV=>JbG^T^& zW9lzS_O0M);L)i4d!hGZN$GiDAJhK-t4l>0BZuz+rd>4}{y0j1secRWM`+-_#0`e$ z4)gYb+xB{V_rWUKrG+hRM~p442W)BE2jLY%U;ZjTC0h*d=bkZ|ZP%ZQJ5*bYma_o>7b}`Xf;Dzi%yR&-HK8 zv6ds&l3#b0+^b?Oc@UMPs{ek)|hX*#lmF{U!?@zOmghM9x&17;v*Ucr! z1?d+mjA#G;18yde{hO$n+&40hEjOwGz9sMP_^d^ngL_?l4@l+3bGDNK80#-fjnBhz zrpIUPe(Vr3YmX?5&)Nx+H6pWi>6K2dbg)d9t^k%8RxD|EaS1aE>5mMl)XImesQ$WkXc^1i1t}&JbEW!D zj4#_hIM~Kla1oP#Jk~3tae!eQJ9<%0bnf?IJl-?^kl$tamvc+;B_Ap64n#f;HXi^j z;O^iQ>}zEPo9DO#Q@ZdTWA?O)@5OgMhIM4>Vbvi5&7-iB=4sf?g55iBJecnM4Sr#0Vy_S}9KxT6VE+SUw*t)`54JdS{5hVSah~(KJvqfWp7S<) z#^oq+07}SBlusYaunRG0W9n*DFyX%xjBNuHZ;GIZs>00o9^1>_=E~j+Ul`Chp3)9} zdpG<hb>L{E@#KM{5#_D9 znZM0-J)4{PdamoHgEHF>a$Wg_{oXp*_0uoxcl9Bz=f05HaEPn%;LJ}CcHMGt<_8D6 zHXodM%^|MG4?Z(`0T46c{ydyHY}`98YjMsNm$jPL^1=IlzU$0D4paqpyWBUYTd%v0 z`gyt)NpU}w;`)Ay-?ILilHQo^`cZ0TOS*M?YUcOTt>2|)elOkHoceQw-;qZ5+tRas znBlr7y$W|wGsuR|nD>sy-p>DS)~H-YPR7lByIm~hWh7d{YVED9hPIux-sRP`UhUbd z=}T?r#@5=}$`e+tTzY~!MLxk!inC0utf{dUR#$shhbvcjwczl?n0ZEo!yzli1ir?5 zsyE-eay6u`SFQD~T;n}rws%c<)vB6Mt#{HSMr3ob0?WNRKxjqP8ZR#Mti``7@0#k6 z3S?DQ*R1EwJ!@%r<*H>TtXxyMD!i=fgr&IAx8?-6msi)Uow`DEo~z2=hyOUE+l|w1 zr|pa1&iI{nXBy@@$28s6x-Z0d;vM%tjPF9b?>%CqHwyx@OfZWFv!pQj15Xx>ei`&{ z^}k4dAA-$~IDTPutc3ggaHq*cNbr*vYa4i6d87ej_>qs+)`a-m(|rHaLAx4H>)YBt$1fW9R~-J6 zq_YM7ns(}N9M@>v-*kkt@i~70`bO!mQ9fs9I*xuuee2{yq`vjpKuv7o~iNG2l=@$rkf#lEpE#7my19`s$rjy?hI0N?U#NG^?3VTTG2LKt*Js5w8 z*8q98*Xvi`~h{ene;1%mm4lYq>} zDBxsZFB*~fxL}*$YQZlF9u8!_GXy_C;h63lK!(3f>^F*?eC?!PEcW?gKUHw1;8ej$ zf`A$2XScx}Lr(SvAchvjXN;mKK4TOu zyAJLc;}w7L7l12Z$9=u*3Lw*21jMIdb{UZA_<`sO*+oFSdP<)+y0GFi#w(=wjL{{t zy`bZjSA53U`BwV9-9S8wPk9mQDHY40GT;~CUIavyWOxPnlF;6Rf5Z;KHo-c<3c(^l zub?H^gY@t-qeE~LkmhlMC@iAeu>!4y6=4qK9nucj>e>+Y!~vc zn)UE0VmIsO-O6rRMannUM?yF2&jZD7)~l4)!1&Df0g9sRW<5F=c_sg?F+UW#S#Qq= zjp5DuxmxUIz5RyR&HDMr%5Fu!cPLwi@tg05`&Il{KcJJ*jK_OOy7~TiNWz=%p>m;{ z@1HAK9<)h2UM`wEWv{c^#C{k$swbn)%8~lKO4-qVVy~iq)VI0sJ5Jf_tn-BaDQM)U zy;|&*3=g+8Vh>3A=KgV!#NQ?9pN?^c{IV6fI)6)HN0FlD0K{dtPelFO?H{AOcKa_- ze|GyH9rPz1@lAziyZ_6OvfX|d>dtNtJJNs0;h+5IcK_U5w%fNl!e8ackKd8s`yA;n zaisSQ>eC+oFC6xd9rjvB_?sQ|#fxb6_$E2>U+Azuh4<6$pYw#>UhD9m$QZKE`D^!r zrPdd>eKG{|Y_g4$L0D*wVrrQfRO$LoT2>Y1 zlGTjE(7`U6Zw+&5vP6@!s7f)X**9D5%&B(uvc4J4gdNGoRfO+9nB8^Adi-pBs>zyU zUvsM(*3xPDbHdA)SJhT6E1wHKmoW6dg8Q{FT(gXdV3$^jB3NnrlOWF&+`jOkxL(6h zZVc9B@YdZ>bL$vEx_Cftig`$W(W=A!&2Ycg-w&6(IJ7KcWC}w6HkMDEbPK2&Je{w{)Xn4 zU4~5|n)fwW+;_GcXWYZ_x1NXm(3EJfs^$AstO<}9-@M|5#W8PYKcY^YHX%MXN$x~^ zFUPz^e+|bkYxX0Gq+mv$W-H=5QpXZkb&G&bm^pkbyH~iUlwEmvM9@>g%=I~=0 z9#)BNK2THfz%Ws|Z$!BHK=-jYv&9}IsbzR*_?r)#hcWbG#3?kQyy}5MJHH z-HrRM7EVCS-C*3dEl}1McQA>5#YCr71?IqAIR;xEEW>ZlJz5`9qzlSE>Rxt%kBpZm zsbbSJZ>PV0cSd*?lzzN{jhNz1_$ucWD5ug7Ps0`vJohv*LWv-jbYd~gSQ1Me1t z@2*Q18ESbvjoZ;qye#Tzd>Oy|&5Jkq8=vNSr!foOP>8=_L@>9=-bkpBM#TsQ#)c7RHhdT}8a_rc8Oo1k zuy?(x5xHfqF2DYjmtR#u#ecY4SAo51aOZaxa!Eq`{r2s#`|aJhP1!a0{q__cUe~GI zj_-(thTaqCJn3Zh;kFkyxfJFQmv<`W6{fH5*6QZDHhQDBUy;!?MbSnIs$XolbJVX5 z_;n$E`I~RdXE#9GHCDpj+oT+A72;_)9K1QsO7S!v09WakXx07EtyJf(-!;b5I2VyX zt07d}C@Z(@(XIz!o4a@u-_v9ry^))|$vS60OTI_#Jzll8kCbZVR}%`< z@Li-6>luFCb#V*2Ii~oOK|Kw>wbuu=P z1j|v&q8=l<4lb>ku{TaS`^Ma z&zR`_cA0PM-|_|`&noSYpQv2;>rb&lcqyo|%p2_`{!T6+tcSe#r@SGhttDNVoh6U) zCL-pmKhD>xGQqhH(F(5wBmY$X5>OQ|= z%~A3hMp1tlbw7PQS7$s<&sdDzC#Fx-+_zs8fB=ZdZWEhf^l5Ws6L6}_V`_W9s(sl56)xR~Fjoo>gn!tf>R3avJelcNy2iNx;OaRau zSJ>%kz-3|#LLUSpSb9Xln|isdrA(17dJfcg<_1r>qTSQbsixH{x}Y%)!cL?Fi@Pw~ zgq|*KUIX5T`8k2YM?*&kBk!7)4b(phMvpb_-cu1c);%FFA<%q4V9K8ZoBx&Sf9Uqx zvH5D1bJ{?2mvTV@rhJfprTQw8!h=B>5@Er+0OUNYH*aExW8 zEoqP&a(1prcL{*g&|kRK)36Yc1e>ciiGD72h)rQ11wmrnl-EKeTU;g39le1*(?`%BI~3b+E+?T*&CQa_j`2nPy9k|4O)!`pY7!@yox#HQ zIl+(#ra%GKCMqAX5s}|Z7!R8l=Q5>m&Q~qU>3}35@+8%7aYK`5tn^0TCdPa6aQVT~ zgyzg)NsdMR1tZfZQmd_7H4G<~E^mg(#4YHmdsXl3N_(W7HGk&UI!d(i+J^(1*v>KUJiK9dR#-)ag z1NwaI-G%t4bWmeqilOjOXri8E+E4MC_NZ_w2$yPlXu(AEoT=`ZZ!iNju$B~m(7v3H zCi^4LKpAQv@~=TgDSzYBp};!mt}g9{hD(e(r5#FkkeN#Yku8Bp343Y4^-^i%3UmZ8 zlS`^ifZszL|)laFX=_<6%zO18jz^w)u z07YJZWFfwrMWJrA&Ia&`mSR444OMU8UN)66T)o-6Ca*Ws+%Y)s(3R*OnQ# zVAnxs+b-)XI&4PkPx0q1q>f^6W%|(#3U`I@;qh#A4vBpgsOjZ}@ZST?U+lwp`bKGF zl1d@EcpkXE!R5M)S6h$q{2|-AbzFOv)t8$2oh7+d0O1J1yrgW31n%AJ{s^dMV?u zyRuz3j@l2G6Ym~1Zey0!=+3+<%j$J!{wvdZ-~G>Yv#+Q4m$I!dTh^D4y~<@ZxUie2 z+zvTEb4#jqN!Bk?q5IU`oNC?Z^87i)`lX9vh44W#Wx1y*-D-A?=}ohKmXZ!F2KS|m zc{a^@H05I~DjrJnbf;NQr2PQDb$nm2&bF+xGe06<7B;1BbWQx!Wo>pLP13LTxh54H zgzMvHq9Lzx?e~()y3OT={c%_3vo2S^EAu-kte04}b(mQPZF5=Y%(ATSyK)ir!!9@M zuevhdb-BKql6iBAYeRgP0aq3;7mjyNvko~9`<3LU5_TqkY4Ke0T`4!8^(CzF%T6oH zJA2v!?PPJ)j}^alvez(RMdd1cE5V8tvZD62-r2LgF&986`g{Zk8S zo89~z%-zsGE3U$lecYI|ViVq+J5a9?&7FAc^cC2WrSZBoP6s68|EUoAyXc{D{6!MJ z4ELgFdhkBj={E>HUv0IjyTHlg7y4<4->wgIn}l!2WMyff1o+I?r;K$A%wh-?x zO@+`oU?pom-n*wM!-Muuh+m=^l)tD=_=Z^j${79+8$ZxI5SoPVgkRyxB=NTjgdX9a z87jVO;BV0`Z05iW{@Z)g2pmD$92)7_H9NTM?gyT3t<9@^u&cR>9^tR!t zk^aT;gT{UP(BW8L?8Sc3OUZGA#(j$;oK2r1+sp9(aGX&7f9UX^B!8>mw^jNz#}5_m zdqam~{(c6(i-cW@?=6kH*%40oT9I^2A~)I>%_fQ+%FLK z(|~BByg9%k;7s5Vz~h0;$3);{V5+$P6XPuHe*xy<4>EWaKhP53(Xj8v;V;8~0A%>L zfb{>kxRXzY_WuGhd;<_i(|P9uPX*2fGM*lc_bkWLK$hbHAj@$Rkn#Q)SPX0t`ZomE z3VlBC7|>4vvR4%f2I8oAb~AYKjSh>u;0Z4x>g4EMU_jAR5nxGqqBINzUt@H7s z;6p&>?=m36l>ylTM*4O#sK40)eL9gI`zyf$31El{C(771j z-vu8A9tHdDz~g}HfyV=v0`WKDDEy;;N(m))rf7a9o+z`w)&S{`{3AZt^Tj>|$oR5> z3^(A?_zxiS@icG>@O~iu-2`O1-vKhd^MHl$N`5H%KN@%xkjJO=|AM9cKMJJ(R($VCzM(7 zIZYOKFYr*%5tnk$0nUUS-BR&i0hGHJ^?fz;FRCDFt{fF_ zzZ>;!r@w*n+U?6wzjix?^V#i`Hfp!O;fQ~$BYd+Xd@9)2EjYPY}V$bX6>z5jO5 zPjuKfp}*MU+vbR$FO;2L=ZODFhkZTj+wQ;5VLuuD-A+HuVgITlzQY~qzwDr2=dl0O zVgI|MKJRtVVU5er$rvx_X3WnW;k}Of<2}>LbxZUua9D<5auQaG*k(Xvqt$uW_i{i)Fz08KEYPG=#dPX~|U5 zO-s-qMpb!ns^11pZm7gY$d(XGOxki#)~CH;HaSUYp#i_m>X@cI>C#d-pRUUgbbmsD z-oC2FGr+NuOgG-NL3HDtm8{<5vbK+^oEp87Wo$5|eeoG9JbP~O8Rcg{+vbVj_ZUQ@ zU-a_-XJvc(cWK~D&gB&3*r|D4>_ZVbxHw7-s^cu#JLi1mW+o{8^Z8a)U$hdMthf;m zjfJsP;)fz=Z8Ic!e+p`9tCv=lDG%aHsZOlobE^b82Pvs%29LV^DKuCLbRnMlU5;)S|}lt>qUc=UY2z z+BETQ^irzzlh0_ROvbOr z?5<#X#&Ca@dxSc97DiVPgVWuOaD2zy5Lz`JZB1$!9va5W2PDPMnXLRE4QZnMaOaRC z4)>Q!BY%X5_yDfUMxNodWOXG8N+qfK5O+}9mF}~2WRDlB-C*}Rp#NcYy&9Kjn=i@f z%Loi?^*{9{{0Adc$ELg~+wNfGO*oV`hbH1mAN4m5K+JlFXG%#2ZnSnYo8T7<6?mFT z8GYnYxp&yPgCt&Xjg)i*BYl1sZfGs;#w{&~iB~jOyLi`dz$k3o&8wxjHK?e#e(Gts zkx|s|2FJrm_{Cj!Tpyb!rBK>=n$PK?CP1p;F`0(W9$LNrfky&`FNUAt&0v4?Ina3X zH12P13LT`Ui8T-?~hO>O9_^iO$FX$Fej9OH#}`}IeZw^$W8 z@X&(uuPXS^^+N`2B1yAOu}HJ+FCT#D*l}dj1TA%nvH|{ z3*&C=8G=%a)S>E#*BKw_^Y%8Wrqaq@$Q078s3i^1Wb|E-Ovv6VwLf*!8jMt7C`FR? zwCQr{yD)lV(A*qUnvputJwkJm2Z^%PD1}5O{s~Dvn@(f9iy2koD)+Ogng`8;R{Jdc zD%2;jJMIc(p!pl>l`oqNj=mgK38=ZbxKF-asnkh&3DVrhjMo>03yq>OXrQbJ9F^%9 zvQWSA43#_l%}5V7yd&rI;9Bhv3WJ`&*nkV*nior70AG+34ShCZ7&FNIZ|VRd56=}l zRAYbc3WK8eJ8?fXT8kc~q1SMFqJNCS5VLro0-AZF{`Gy>mULb3@POgBbFN!8FG3hq zVUD}74W#dr`{Mu3`?$9I#i~3$^=$*_Lmnv9ETuF-$V zuzr}bA5KSZO)0UgH&ezwk>UC@b-(&i)(_K;=}))rOT&b|EiLmO>DEK(M}Gog{pq6- z{N3~gP$-v?xi!P}c1GquGh9Czm3ikV*Uv`5x1N%bD(BU_K!>B+wmb3_f?6C z-{bq6(!6^Nd^haIX}8n%=J!1qt?c(8&3e0o3ojVnyGnLX&@AeMpxf^mPL%a>T$b+dkI*@LI=gg(=QQp|9R5Xq`H#?F zj>3JF9{|yod43>Pw|OT6kK{cTu^$4&cg}1}+ zkX)!oz~5RR^Scmu0`MiYDcv^%rvPsS;@(+a2M~Q($z9F@w!@B3VI_ANO_$vU`zYWB zAilGeyk(5x*>$jE?#*5YoCK@^Vysa2l#T{gz>ZIBbx#RZpzbLlze?^h-ihoY(D6yH z?kiz0B^zZ`@q2;zlvekY7%%6Gi9m$my-2m~LiZw+3x642L0V|7T;UaBU&8od=RFXb8Dcm4K;LC}Jd=eUV)*nr z%j`Rq(m(896#AiJpCI;HNxx3)=_>vXt4Hj=LI3A{oL0&2=5{B5_tiTbzOZ*zplhUG}_uju0w4v@mX>ZW7!eGxaN?;5lUZ{ z`8QpFk#nlSE{O>FGu=3Vh~L%KmsF`9JF=?>dwJ-e{GLJLVf<&fK@gL-nQ)?~PsYpv zq;C-Vo*aGpa518C-MS@9S6<@torK@3Am_H67sDVGba{3BQCzH-X?Jrr>vT66bh;b= z`s6IWFg7>yy_-I>o1nL-U-(4VDy{9*b(0vCv6UDhFX{G|>-|F~^bkdxs zh9@SRg-+vZbJ4nWb!9S=0?kl2Zra3Mi!=WaQth&u<{n3U@v*bK&iLZbFT1(Gg6Wb)Pt#GlyzOWY{3RI1H`Mv% z2Go}_Qc-0`>-ZMonCnzcVRJ{#aOamB5T0fi)@3wh_^4xh_zQJ^!8hFsMUa2PonMwA z90PQJ5xf5QAVv7-`6aCUMkRlUlKDAI)xuYzah_imKwt^PUzN1`BabV|o)mQg(RvU< zGZ2PQGYHXWxdKN{ZaPY)oEmxBH1?EW7I%%3C=Ix9VqkT$PNcx z5Rr04_dL%%sm1*rI0y|kw+{sUc(|HkUwpP1;1AY(J9qNB#;SDeXG-SiDB6 z4ieW&w(ZR`@s=`A2D_2W8BSl~H97 z<*ff00xX|nD~TkthrF<;n!^dyLq*0S=Z)`Tu+!&_D=&d2SV$(ox#47-FfRAvE}WOA zk2r5!TeG4TlGk{`i1WtEs+y3uX31LEsJ(m*wZ<-~gpKEoN|1vWHuv(*qWr26pE&Ac z#sg6T$0-v|7-MqhbPte{B|F@+$x|}&Y1RcJjY`5`q=mx#f{~VWfYQdtJPps|mF1y* zE(JXI_q%+TRf<-*evM$`#(m1;;~v?ZZX>`mHJ9U-WNwg^otpG=xGl2*o&| zIeuP_jyoEkKccFlv=E}KZe&}9E)L=tj&SE$C>t9Bt z{uMvliXUWC_cE^{k1a6pXrS4$aN3&-}Ui3%)iTt)(yvXrS-u!6w+;a%p=MddKe_;Du zu@RN^zUN!-p$3+NuG?=!?c-_uBhu;Jgpfwwm#z;bTeh*3#MSs0tDaWh)98Ah#w-5? z(oOgW(Rs7bRvV;6(PpMaqwR=RW;?dU+Hs?9$G+_4t)~6veacsH*!BxI1qwe3{eiD! zpnkwx>p8t8s{j%K*M8l9O38+`VPrq@r0(2^t<}$~H(WZ$-p8c<`w|vXoqz99{e_?E zorRF9i98KILpo@qjlRch^@UgT^XX3z2zm5Sk&hcM{mCEs2kOkz@B_4R?~C~7d#t|% zLNXujqik1oM`S|sYajJn*2Sj8N8+bGFA6L3hq`K$Ho;7N)oZleAWUHg`tLRJfAsWb zL=4%dx0AiY|7(?&@KfN-cvA^P`v5#Xx6aOQh6M5I$UZl+w?7p zU88x#RL#7kRnwPeyi$@c7eqtXWa1oa-Z!p)Ms(l7CU-2>y%OcU77Vrig#6D^+${@3 zkRjKgd$It9U^j${Em3(d?LTk5%zYAo?lg6XG~Ask)<=guJ*U)P*yky|^Uw zeFXo{xFp2>hx<~4-oNrkZw~Fj{VU2_R`)rte9O&wR<9NPk!!jBP}Pq07zay`ApFyG zE8H~7z;e-ati?_0##b{M;$7VR}U(^>s40Zu$55H#(vb8jQ40aNhdoD=dU*Y7g<(>&$?|ByCxp1rp zZtr<=(uvDGQ#X6AdJqK&>IBjMHU?X&I%01(zn6??&d!o{Ro2dujYK09wzH&z*86b8 ziIGqJzqcFvJ;)^r8jQTGieMsf=CvGOzs&1J3gh!y2{-1IsPg*luc4TI9y9Q%i2LsF zH@CRisGeW7_<{E`aew1up>ust`#*vZ-_4>2V&%>vs7Quf-%DrtI<#tBh-{?gu5N_JvxC4#k3Qy^8WNW#?GY|{r z`+;zA-$H-0QdppyPkRhK3&&mXDUK>o=y5pq7)OZ!vh5?#MbQk2)>CYkEV1N3e_Vv` z$!OoDXzBg@S8ib+w@s8P1x!(A;w%hP)Hw_J|dW)dyhJdrnFK@o!-5(o`L5__n@ZtL~1p zk5*|Hs-gV!Z4xuhzHyTE1lcn7Vm(3WQ0NK&0hf-=`={prvOwfXwF&wm*B88M zqFNl)surPf$`c?6UH2xpZ75B8&D;LMN98Ax~}{>8sKaBEn|Dv|I1{`UEEhSl^!N}U2K;&@jr?P+}OU@=A z`hPIJy}keK>)>Vb1~u%lKMZI8pT3{|Kb_v*e&3BKyu4YThkR=CWff>OUHIR_xh!oW zTNhd{y8JDrJ;j^2Er)e^iSIEP@q1k1u}YK90qXQ%F~5*^3Jr>Kz@KGCGafF0%&{AR za#Wy$VuNgaxHn?qqTkfX-%sHu^S|dASF+K36bB;P)LZ)@K0-YAq+ns6O>GSLwg`{w z{V$dX2PXW`_yK=ITUhu=eE&R`#x)!M=^@RWQ_)NMmeS`4~v9dyC3DjAHPXna(I~O?HN-b{l9vWya1#8>t zoW6rl`yCL^=NmA@@T=HA^FP&#xuL^{<^G#G>1G@yL`KY&f>Wb77Nn4;zob>WwMkLF zj?MAcC2mO5Z^oJ^vLGMW4lKZDLdizd^V}i~u70qJl(7szUOpsN2(A#U5nQLSzK#gv z@2qdqzxcB?_H%>zskAg)P`p?c9I_O|G|_i7{`IH2LdWBDC#UZS+De8kS!|Fu<5ig| zrTRy{iyU=9@g~<{@4KvrT$Ng;_fb>Ee8n~0Z&{aTZb-5I;X3-p6zjT_NtX3MO8Vm| zshhQMZhVl!u-6P+zr?l3LSfg9{cx<+=sL@?o^>7HmTldazW>j%t&iRN-<)mzV@&4T zV_lz&!DZMVWo34bwcg1(dfQm*hhuR7`oP%H2>9sO({QIbJ99&}>;CM_C$n9TW@DRy zZywWNUT=owX4hdKxU3G9*8$i5ykt6Y99$}Mu<^cD@rl51JU_|x>s?8Vyp~~I?V4#p@OaJ>8P*Qh=xrHRcZ&PJM_K(Thu=QRx;EAQa;odb)FAfaQ_~;F za6Orxxh2E(*Yp#>=$vs3;`nvOXhbrQk@?+Gt~*C%b-P_RxijB%yKZ;q;qJOS{S~)M zXB>H%#0$m8kNabqb#YF6nstY3^mS=gw`=sLsn)ksavn^zev|?c?YfMEmk0MBj>|s7 zDm+%zMHVlwPE9?-@=X)_iI8WRT58QiTB`iuat7sg&wyS#kuW!_W0`H*S1^x|d9rzMlCKJ5fen@aiWI!f~S9B+lfYam)h zhtuvBwLn?kuUL!4qqou=LYkvVb6{zXG0ov-Oze8XEv2DEug}y8N4?;(4(?lBT3x%0 z@=0ROCu)D?^Ovk%xoUmPy}<6>Nwi;PnidUXE>@XaRRyvUUA~}deR)vvMM(?g=!Qx7 zKbU)h$GvoLrsK5lW%LQbo$)*E2?6%d!5N>^zK78zcpomlBk`)*`KQc%B+Bii!G{%% z*tCWJi-w_>30B!sF<_6?)ECMYhOqV$c5;p&R*_t56QRod2RjbvQCj z&^XgyCG;Ge7tvr!jf=lQ=yf)_J^pKizEkK+5#Fu`;b%gxpilxBC;hiV?-qIi{3NU2 z95Bn!xHU*?Y775+hoR>WLoX8gVEv~?=!502eVFh)!-V(d>aq;hzbb@23*M5|Pn*!C zJ0#RkhtQ=PCeXWuK3M(s2>lkFezDH2Wo?o6YvrjfOac0zy?=HKUAo_({C(@5=Nf)s zKwcwEh*rKfm~s_DmYzHSm}7nogJXu8c|7##i_N2t&ro&&w2;!q21i$zjs=Va=DH}mKehGgoMiAeh;IC!`@qG$^ zP2z8;dM2+~oA_ftS0+h&kjG||_>=ygw4Ouo*Dn5~-zW8V1N?0ee}lD$NoP1d%DQKD zKjAz_<6iK-b};2|@KLfpF2K{ZU3=sFMB_eY_;BpMJO8S~ao(bFA2ocqZSc3~WgU+5 z6^;8#Lx(#aeyA6s>=hl3^9YUmI7c|)-=u%`-~3m#|Df^>|NA@q3x6o)}rb*DiWRIIh#U>mA`r>Qm{?bkguE{~et_j`K9`a)*CM|9%$htMkGC`803| z@L}M5;C;Zw!2cG!5{M;#-dp&}I|tYUBz>D;D{vv~6M<&}4*{lwRdWLHJlHeD{t4!x zFTwsAkn}5nOfL*%e9HyDBJQ)rK2>l(AeJ(D8!+F||960kfZr1PDj?>e*=6EBN8FDW z_wizX3-f(3SYz)K{27q(T@IWB_tOQ_#Qg=Vf9Asd0U-1HTOj>M#Qiehg|G*OK2PWe z2|ZKje?#UO{?9;${~3_+UI%3O)k3cldI=C&$jcXcrqEM_zGJ+O=WjsOZeqV(uo}qr zSPo=;`+#S|evH`raW|0R-T^W{PYC{2@F#+Gf?**2pDOkf1igae1V6@B3*);5$n<{# zWcpRWvtXYCJQqm89i;Cbr|FLY&xZXWv3~)Du1s?_CHJma z8IF2ehz9`~Zk*u1@IA5s{@w;MA1?yYIox+xJ-@?Kc7$AN3wEA9Dp~ z0kM;p_bwKkbpNB^?}21gf#9*}nGg`vMr zU?uQAAmh0SSO(kx3;?MghWWfo@SB3`1gn9|;O`fF}WKfHQzAfCaz`AmdpCJQY|5{0h(y^a6{3c=fUifOu82^MQu}Cj+tP zsPvGW0L+1XI?xR~8E63+?=IvYWy#(NWV}0o6M;RzNx<#Eqk-MP$-pk)F~ANWh9D(R z0YjXUr{Dv&!95?i0r*8=E0F0l0Ske3K&G<}h6pjL}fc*$y1@K7VBH*#WGT?DQ zKQI?q1jH1nAf?h#Oko!1{uS2j+uuiZ-ut?A=mXy<6Nn#C?;vw~Kq5xNi{mR&lQr_jTf4BkmRAzDV55#Jxz|3&cHN+`ZzSEABbs zZi)LY)Vs<*P~{&8Qbvd1CLrnUK+@a9eS^5O|Ioco+$#i&1igZ6cgDkZr+K)CWb|N=qB&gbW}k@iTu3+j zN|eh&dy)7j1BhK4Sk@#5AFla+XH~TJ}?(n(i%5gF`8m=?wzfQtGgn^Xy4zD6xHwoP<^ik-4jIToI|CIO)f9b8v z59**v;y;JsGwQ5aV&Bd9K|fpU1q=_m;ddP;{_hm}jmm$Wb+Oo6g#J^pzbEM(FZP!u zzJtUbk^0#o`F&ZH5Bp+b|C`V)u|KBD(_#6gyp(rCIV{}=TguFW-KBr3{~OT0cKhAP zpWXf^l+|v}cKCnAVgI?q{{jTIhyONGwcE4NAMN%r4*$P&1Ao{<$8t+rQ}uKgv;G4>;m`)L|zRygk1C9rl+T z{+Bq?`vm>n9{yTK`6;*BP6s2l5kE3xA#}1(2gVSZZAK_CUh9rnzk1nv#6MEGG+L&J z&c%$ip(VAU5s9MF!Q`;kmv0z()~t;W?TbIA^-W(^wR}l1#vPHI7Wg9U=RCOncR;s#Po3t{&3kG{{V;u3fM58t+pIUKpw_*9`yh_%JJqy2@h_3lwVx6UPn`@qOuKezJjyYuU=gRu^5%b zt1hapT^U-j`lPj0AsqzDxRl=od!tSznf|N2iEpM&c9G8BUd0wue-x+x%F$7MGgL#` zMpApywvlG2NT%}&PYJ~8gib6k_w9)aEXInlY)R$C<&`TgE?>T6`E7C4tO``(t@QaSS1hS557jPN8Cn~tr2ZDY=-vQhEl%ReqI!eWrNry9IpY*u+$l@GLEKx_N zG`f*!?>Z?#5?vDQT{99rB|0Ul`0^!jN|ca?o7B#XpXf_)@{L?^S3+!w()N7$_zeGy z^7itb^7byODPKG7ViCBPOuyF#>;YI_rZ~L3y>&R`p)vCIj2+tmpGn@{M%l+R^7isk z@~4@=9?IJ@@r=j*3rz(Mo#dx>aQu(T$3u6bamt_Tz#$qm_QiEfQy< z@fB!iXM7X}PNNzYxC!yG+KsWtO*hJ)8%jQ2zQjj)=`=eW`O~hk|A=o$`F(H7e&J&h znaSBCn= zc^ge!7Kf9!*M#siJF(wKQ*^A3FBgY~%rdsuS15w~W1iVnb#Xv-=nL~ATqWpbMd&B! z9NeBS!$ZTq!UyM_JX1BV8h(x3_^%vrq3CNz`TC1I_iTNn=$-*M4Gg@Ldg&SDHN1~G z14kBPB!6xovXi2^p6YF${$0u;`luUX2K%ATELeCjl)Y@WNk08ygT?-4GkfS`D1CA?*%77p=@OpviF1!h%>vk|xkZ{%& z71x&=h-^tN$S=l|3VDDcHUi9a-8Qa!#MBPSfNfwx-x!zU#xqdETAW}ovTUL|7|EK5 zbqjoLmZw|o**&q_p}&+0b5Ht4)AX}YyRBn1qJ!#sLIWdqCx$n zTT8Z~%RC6aAWHq{xGx%mgM$owZY`7*=NUhC2HpWk&KNse;pEMb^066GKJZ+aem>mb zbu1B*GrBxitz|Q{+|2|G$C;9+(>zM01u<+|{G7_REtMy67{yecRT!Vj`*33_M5c1- ztxnk-_b@XrDDrs_NH_K2OQwqe5J>B2qyP>IErEcNrDK;XUl)vBqj2(5D9%$T4xS6U zA#3Fv^h}8VL8IhQzSqk4Da#{R*t0e-&@wM;K#A&z#`Oh>>qs3}v}*d?$Zq;V?Yg*) z{-0plZyulv`JTeKv?ol3@Ao|CKf`=5^duen5AS&{=z7oZIexSMUcLe_b$;Jwx;%`6 zcJt--&sO6^dWo;U@4VvQ55SLqwi+h__vihD@IyssDjxrpRtN8-&6lP*eWM-OM^9 zwL-%pBn>?u9s`+fxhbCduVMUfh^P#@J_#+PzQv}GKnzCi=8zzwhh9>d<`}FbR&EWr zUJOQ{eUTDvUX<1hL)@zhW7686qG4zCEiUoBCQhNZ{q+y>1%;r(8?idV9O7xX20wxk zFhJi;3OcQd4`D+`X$_Nhj{(;U@T)`s=~==Izj%Qk(FJP5@Z8RRim5L&$J2BYN|U4* zZGp&(0oPU(qdmSD8<9s=o)tc*H-t$S*~hzP96b#coQUgH_e3#xXWI9?Z=iI_>%nFf zE->Y#(!!5Q@p|d})FD5uIzK3#5>@GsJjluoo$P69#;OK0s;z$OP!cWLsTCQsiFIn~ z#o51+59xaz`3g>XRmu-GX4D);Tg-7Cn4Y_Wg|CMe1S7Bdr@W6hGuL1Eh~G1RyHcl# z>rGZ`V9E!9!WV*`xv>~t;b1-GRZoL@vn8J1XOL0MPm~*E>Y6%0tJ=^)M)Kz2sv&>G zifL|SkMp<8B4>4UDtAF58Dt@$O(D$W3K89MiV|59+8^%{Yr{X#3Du$-d+&nWA}%fv zLDfbi+a8?qy3+B9hF8^us5%(c1Vq&Z4^RSXmuD0&-49IVyo9a=e(6dfeGRCWx+1KkZ59=_`D;Ue0(e^NZhR0g%@yFWZ zUE1Ss9Ug!AkQY^|V#oNKpw#p^+yoM(rd74rn^&qzAy#IRG>8=z)$Cr#UF)z+fpM=XA^ceJV~5v|z!3A&-*2r24) zn>LDaaI)Tq-Mu?eD!#L#F15D@_P%vW6>4w2qIK$i8x`Jvypcepdnl137>i0Hn^k}5r`(YL zDPbdO{b583q1#;Q_D9ZB%2ONA=fF#X^@&<<3@xvR-#3%vMJw)|e4xSQA0KQ@G*RbZedXFycEL&lLB17tsF2zjcGmwq4Uv;GrSyL&M|+>GG= zVe`YDe*f*QJhQzG|395yr#_A09X}8G zXZHPreIZYbcaw*fC$K>` z7pA_LV%6qAH1&5}89z?3T3r=5XmK6blLEn3%PDK>Ojm$he~TtOmjRJo?%oXRN!OTn zGOXuZ?i*8Fuejz~&?ldMe}-#!O3I%ztd{i5?hNau^wdW(tbb%=y)w%6uZ-2uHa{x; zAER8@Re%||ev8Ys$yG7_%`sMJ1Kh4oN&j({b!W=h`^Q-Kr+gnS+fv>Cm1X@YwE)Dl ztXs0IC(=gWnq}=u%fRp5X{gM1(#QU0jO%+DnYWK|y`JIzd6xA~##HcqkIMRGmi6MO z(RXH9P3{c*zSDioe~+=Ab&tMjjP;7U?5AU_yGCQ3w0U&q_r_RvWFGx~ruA&*Xk_K@ znWK^ZJDF&)zl_OzWsIvaEA#tVu4l6{BV%13;`dnBKo*V~bs<;|$}YoMoKwd=+}*hc zS6L^b-1wbErm`uJ>vjB0u}=g)8{~c+Gb<^55}DbK8P}C&Ezh|<&D!W1{rxoSao6aN zQmt>Lh1;as0Q-3sa<`?-gk;JHJS* z`r{vqwY_I9&oYYe)ZyvCL*~ySJau?F@L0IVUWBI(PX`_zUKio1!_$Gsa^p813u8|m z9t(U8il+vfMRnXT!t$XGj|KjTIy^k!tHVPk#X3A>QY7Obl`4~wQ}M@O!^6Uk3K=TZ zVd6nRo-^|-7w6SvkW_l!(EgSe56?U&;+ceJG9H{!stQ7%R0qk^fM9mC&f>s5dWq4NLS%rsVNeIt6JeT9C!_$PP70(7dZFn}~ zX~(k(PY0eZJl%M<Uk5-P{O5K6bDz&An|?g+99%4(IUI$jJrld< zvxSUCKbT;@gu8{&5V5=aC6;734|$>NLR$iO_stfj+1NDOon{j>BwM50+_ctET%vd7 z>Y7z6u_=l@(j#Vj*MwKCstMJ4Cr$EJheI|OE3n+F13+cl8t;V2j;uKC4)R`G zo$)*ECIP3r(>|EL;oJ@VvtqRl$bmS{)QFAK8cYJcRl8fOL9xpxGxxJB4&5;S#1L(# zZ_Cy07KdV(<1{41pD*+u1MT6xoJ(OS--3pGfOh$RJA~fDxf-So59GTQ^S3gbhhfwl z4wUR9q~FFl9%d;XyZk*a;%IU>_rp};vCHqH932|9HUK)qA20Ns5`M7sbEJb@gnG2c zKg+}~4a4OGOk)0p&Lx4pepZ4sbwW3MzJs>Uc$KbNjwF+xS2GN~UFd_w-!n{j zFV|QwSgz3|l%MiINhIA*sJ>;IBgDl9^#7S$q$`-^Lv}zM=fR27fss=S%82X}XjzxZ*7x-%$CZe6||# zSAe*cG3B+%HM{`+nnvJ{@&(&QkS^s5ZX7{;lrPvJ{^Y$$T3*U$Gx16PN$QXC1zRP) zq5M(4;JOj`3&EeMKfYIk)gR@vnfe>b-xl~Y^~d*Yu=w7BzfF?Aq58pi%w_H3Pu{zv z^+H(?8-^*bNoQF3hkw!ij`J*y``aQg&h#sXd^py}1$Z`z+(gd5H14&Ia1ObD40jEl zc9HYRd6&lhJx4f4ddI`hHaxi^$B^?0jr;I-b;eCTZE_4h1$~$JZ=+`z_b7*do1DDk z5oeRgFTkcmK`EtndW40IydpCp}a2)9VW zalWQWsBfFRM802}Uf0zV)ZQ(3wIdyoHB7U-1I?pDc0`Ilj}l zPjdKowByYfDCa_?(@%hlfL94F0nUMa8}>5FfE_^6e8QwIpV(i=1jzVa1TwxYK&ICYJRkNS0MRY-z6PYfl|cFn2%aD~ zLGTmoIg!2-NdNbW{Wiht1+Nwi3myh!J|_T~&mOEZOJRQycqZ^$K+@L(NuLK~IZhV) zM_9LF6YkI#fK2yKK<49D;{FpL%d=YORYE^m=#zy0Dc08v{{fKUp9C`A`+yApZLwbl zq`z7q{Z$Gs68DqEew?5Oh$T$kpRxXDxIY3J?l*!P#l2DNmk6E=WVwAnmiyBzUGDdQ zv_A^ud+?y(Z-9)S8q!V!Ql1{M8p!lYfb@TgxKo}U?O9@f0}}}CF9~i1UI_cIfeil> z-~!;)g5Lm^!+r@6U37Le&X38eo^#JyT@h2RoF%Ee)M?!n&bmw`V4GJhpN*4HtD z?_dEze}4ro1s(#Ve=gwZzaCq4v|j|A2b>P1zbxPq-~%WG>1{yLGl6`+Kg1Rw>$wlO z82CDn+#>irAc9W#w%|G-%efMG5bz`*>-`uY%l8omvAMv< zfvo=@0`ZqOTkP4uV_|;}l|uS@Ak3i^3ampX3vPtJ5ZwzgtxQ{wAo6Jx;3Yq2+DtxD@H6s@Q&;w}8X&&)HsXU{Gqn)Ls^ zpWp94AK34C=JL$-%*>g2<{6*^cs7vq4U#_%couLJ=_P-|z*B(-fyhJV0B|nw01){V z`Ud9#`#@u8$_xWB|4q!QGY9uIvv;i~@LTaakU5qV^<&17dC!@wV0Hz{5V;5r!V>zRn(aD$v#GlYF zDAL3BqhLn%!$7hh01Ez$JwS5r29kRh+qW<_vwJT~PIns}R!EY^)>`Q^L6ZK8;I6)Hv z1U4oM_mX)SFG#1BI$!uL)F-{0YTb?W&XPVswVts?=FTCHDsm{#jm-(Xs;U)+y;lK!|{43=cvOsj>B zn^7V{-yL2eGL=lLbve?TN#WHx)TKPptzrv%6aNdKqO$;bqA~Ph+}_kLryK z>4u~DmB9wNj1T!BgJDt7YMtg*=C9U`=Bo6dGa>UOj&B$*FPZ5~cQM_Bc?ZSUDV?=< zP~Rf|?EV<+DZNhS_c;8LyIP0bBIvN@X7?X3oy+uBIlfY+*E4^$j{1h+A6+-iQ{|7& zi_8KMKDw^!;_{+KP3EV}U#)BXgX350VAOw#`bMWp<~p=*J9w1NmUKVU2brEK=oak& z)A^XEkUqeylcfJnQ~=T4>^>rBO$#$U#^K#eKgZ$4UM^T{BzJnh&{>oDHPhc<`fc)` z+M?aXbQaSOGF?mY!M%a$KL{FQ8Ph|8UyHVk={+3&S*E=refaL<^wE5h%A?0Ak^?yg zNmsG^-6H*XUpW6Zo74wb&h_a8t;?X|_xG~@kJx+$?aS=G9dViIb1nWagQMB~8{lN7 zPe$39=~)*4TP^9?Yw@3JaSvGBPeK08{2_4?LqBc_|1{d4+5Z+xdQY+B?*^2o+5cJ# zeWN8jolY|Qe*^EgnYQW^?6H*ZlNQ=;;a6>m@6YIG%>3!uOpjUkX|yF+QBQjL{;$yc z=Q8i;PN4lS-?T5wTgLy_r~r&91Cx5LEuxZH-$``KdICj&=H2&%dH@p?Vp&CTkTC{eK*08MemI>g3lbu-8Lzd}D? zf}BpIB+!-TU+%l`{6e4KztZnoQZE&u2%UkhJi2pnSyOFApt`Qstlv-Spp&|eT#KMh zv#x>^!AZrE9#%rAbpFJ478588{C`Oape(z*T-AIkYe~~4^m{bb20XDU{t{K_ILZRK zM$9D+ZC9m2g83sI(#eKd-;`NV{v1mj3dHf9QXhI`V3>{9hOYRyRl57&$Z;jQqRiL<)tK)==ZMnT(nAtRl3z; zhGk2Am}d!=7~`Fy3{_{07_AKBoFesN?mc5enKUOx^ktgtl=Nj>#U4Aohmj%JB;ff! zuXWF=+bv$jUA#iO#qrAI;;rKK*}3Aa;+5Aeh_`aZTg7X*J7RTqq^T|g=499Wyj*A0 zxEALvDJaNa;&M5ii*oVfl+Lc)+{FtQI-M@pLRX&fUY;RzCHm{H+*pM<*#vs(M)9q! zIq?tkS^U$U!+0jl>pfZcUM8bxe7+s5`zhkPJ@_=MIDAOT{{ z>=Wv#Q+!BvflNLY(bU7XD@QaJA@xYeqQiGvR(v9H+oq5`0ATz+ve~ z$Q@EsA|A8x|4EJMoV{`V8v_XL4gLWNVsPpk=YpVvLaO31Iv&awq}0BXSiw@qL#6Oz z-*pRt5$rdfIoR?y-3WE874*}Fy?EGYJ(SjT4o>X<7O5`m!D<*C#e=?^-o5Z7H8iz{ z?QN%_{Or4gW+!G4+)K=!IoS3)BN)qS$Hc5?tMKrw(nYFP3s&?(Crs7ePrz#0#H?t; z^6;s$iBvs}#p}Wzs_ulTdgF*#O%bfN3s&@|BxLpIM6B$dJx1&3WPAHsv}jaeiQq*o zG7+!#Jn|(K-x#O23za*qqgnR$&xz1myN!-tQ=4-A?jSg5Qb`3)Q15{5IJjNhC#*+2 zeY(BD0-ca!z8|fgtY%mC>bo-9f z0Aqy2hR5K$WQ&?%Tj)9o_OdF2!G{yL2~AESC4)bJGuj`idCEmOq}ba_DKQ;WCu46% zokM*+t|_-uQ%1gyJikrll-H(e&S#(@n&82kP(e|WbhSV`A0kkCZe|Tq8;#4i(YnV0 zH8tK~+Ta~KV+i_$stzt!vP~?GeV`%-*Iuj z5iIF5dXXA<>~&M&6H;*_;3B$93gKnN8X*HIDhWqJL!Dbm_c)<9^$JaC6#k)H>P$spAMxzan+l;cN`!zmvI_>kPbo3$QltDo6Uje?3qadVq;z)Z zfk!~@pNZo#)Z^`?J`vg|x3-XC zr~+tj+U6@5ZOX(uHgr-a6diaAUV;vtj%ZQ-GrxY-b_i@F5RI)jgp0^pknhS(x7>j zQady>S23StVva^s7D>gBZ)o|D$R-b-LuaedpA-=nUPI;HMJu@C%E z_1cofNfWXVEd+Yz>Q%j~w6$%74Js?HmCS}EwUVLFP*EmU)%c!hSN6$5Z!GHpf@T`0 z&F8Vfpa{el{F^WMzF^>b-Uuxso<>MaUzO@D`()@w6)i2= z7}}l>K(DJzKVCD=M~vQ+Bhte#fgT659)-2u;CnP(3t``p(g)Q%p8oxwE?ckXha1*6 zR_^!QrS13hWcGS?*VR|n_Ie(yZEUQ83RhOg*rK!rM)jjf<#T92o)%w6RW4NMcA`kS zB5hab%zfEteH6+!Uy}9Ev2Gi@ZNsRI{s$!|HPvw+W^XGLNfZ58wEsC7mWS%O%y3O#w8p#Xv3qN#Vwq(%!0Ap`q`rFhMRzQCrL zBAQJinmSdFq@3IiUryu zE9EOjtOIv(_k_pqAyslP6p8$1B$3g0qwSydB16aMA)|M>98!Ci+eEGR(u5U5##u(_ ze2l}MZf`-ay^TZ{yup7;#hFb#gY-GmiR$hn&)(MFEZ^B%yX|egG#|jIY|@{IKBo_T zPT+SXp<0_aw9Mfxcr0*=FZh?4;rDB!$xog{;xi0 z^e&T?+q-O7#M`@URK~yZAYO%o^i5LG*Ay-Zorwao4W)a7j}cp_2J;5j*h+%S9KM2s zO-4!kn<(8d^$~9|Ls=netg%IErhOBX01jp&mS_pf@%n{8Pr~tEz6RN**Fd$Tp;Qr> zeKHM9y+fbJ4|F&NW<=a4Q+<#vYE`unw8tZ^yJ9GNAg?u*)CZ(NOehi&RH+j$a0(BG|6ZU z+l;aBIw(YRXRUiwxsz<4Mr1MMWT2bp~By_TuJmook9Q?+lTPJ;yei>c1<+qLV{GH{!HXIciHZ%>>0 zY^Js+ZPw0A{q?lzxP^BtZQ3t0wY$-=S14)ygP0=1p`T&*w zNQ%8b1!`WtMGb)Uq8tY~d0U=#!s%F-Ie$g*vOIZW-6$z6qT}|fDjKe;4`_uAm)F(i zZDg!gxKTS_xaWwV>NGwb)z>0(71~$EET!fujRtTG-WqQr*EO88`rNb5Qd`Q|jn!YR z^y6^-Jm=inxz5Vwipt83jn2*Mo2xfBZFV*`)z{ZGkeXBSr>Pb7JYQYi6;1ViPeVgp zLqh!lBCDDhaO7jm?|Akxo<0Tf16%BQXtmDS1$#2|k!e0JeSi~Ek2Nwf3-O=mylXeR zzlAC^pGSRz!*|hg2Fw83gV}uwuVZ$y9Oroa``I0`)CuEP=eZ$MPDVB)`7C~Ov8FL!z%l@c5g-O8gW;ht^kINMcGV$ks zAA~l8iae+5^hC&I4a+5@5*rW z-jK2V$`a0U&X4N8pK%)Nw#Fo&~FxzA7683Z-J=xQ_vbpeg18@P5&X-aA4L}ONhB2A( z?^s()f&I%sCy?aS$sftX6aICII9HKF=fhl}^O&9n%mDqLXwby}n?Uk^17j8Ag^cro zsEVA~K=Q8xmjIz*jLxGheFI40UtrwL_CIF&yNo1fil}o6fu{h^WV8b*eNUjDC4OB% zDz|R|iSIQ)DxdX0ivNp1s*e(OF91@#xPWNdOHTu0#cJtn;OAgJ086Tu-9SW@^PfQC z^GzV}znpO;;{wK1#^H47?|VRe5aoP}@#~B?Fn*P>f$__X5d7BZf}cs%2uFtej@y^Qp^nuGke0jXTS!uFRjdVr_H{akj>X8X@FW-xw; z#zlM|1)`71X#(O4Jf{Xo?+3{R&jEb~(+Sw(t$*OfW}Gm5bzAd^9s{+79U%rIqg8= zw+cx7&H)m?bf$;VcM$y`klgQL`YTL-iRn|BrbS2c|2+B_^1lyAbSKkSF})l}`A6F$ zwQ4yh15W{#1JOl@b5IUoDd=fH1Bh2Q(+$KcF3v+?Yc?|*G@%oC91v|+oZCWJ%ogQ2 zD6BCdh_r7(`tX-l&S*X#v>5)}Z0}?w&-hClKzPD1V;AENAc`uj6G-7(*uI(V>)F1X z?cI#|Knj-&q;O8Qr}UFOrJw8pBHl(s4!Wcq?=7A0QS-N7;yol<&DWkKTGvw4yo2U< zcQvos$L?yr^8wOB=QY&4@OHFks&h4u{0!a?qLq09 z?=R76o=De*oQUvhUYH9v;-}_$$1|ozkMIeRS%#h_aXmnVQnqbwJ0x2Z;Pl2P5T;XBr#&HLw?P40m{Qn z)0UQ*e%0cCG0NBMZnyZS{W7zAF=95;RVYt0{a1_o2^ROeE&SJ_pEQSm$`YQkZFcvA zFw@i@nCZ1BKQo%XDM=*ckl~wBl9(I&+l6kp) z|CY*%KwX2MR+~xKVsl-s*SEpt@sOK{#$QuedwHPBUn#yZ$6-Fc)PGdkT=^l9QBDVv zPhYzABz9e#7qN8Znd7udxW|0-S{$RXjqkvM?W@Z)I?t|n%(KrY(GI7Z~mV;Z_eI68sb zCy_6guTpfdi4}*o+A9fai@jRJP4Kc5M0$>6&~i;LWK#h&tTe=c;HLkd>CQeW} z{sQfI;o@=b%8m>}|L(##v!bqMM(}`_rfNF4t*v+tj-}wLY+adAit97W>IUJ}4@_6uI8aX3tK2<1~ElPs7H0 zuRDvX#0Ww}jpU!OiH#j;5nk?QTlRzbp67!IQxe?g4gMB4HsTgOQ4JBXq3$WYp8I5~ zJikV&Jij4k!6gOMaEyQ8mLY#Uj(ub>-Q#T6C#;wRR`fvj> z{x6%_4LiDhm=M zG3+SGgd)i|UV*e)Z;1XmMAY3>NcMY6AguSez3pBkz`N&_7# z#tI)130|tDK<&oKzF=5-f<$o-7FRUsjC(>yjgFL{VPD=SZteUAajfpubf@+(Wfa#& z+gqveLzcqW^SZ52*mj!OCE0Jd0q!e07A`jQ#~~N9SSJ}9Z*T-*8~zmW8GIC0LsiiR zM*?8-YCdl;WzHtFx*umF`-S#tC~PlET(rEQ+6af%(WHhGWdcg{5kzKk(XV`iE``KB ztdB|`vGH90A$7q$^kdl1f7EFGFlo0a9^^ar=3R)*?DPds9%)~Tk|vSRcBgnK8fmBY zqc>e>YRx1Sb_u;0*YBgcH%Y`m_^=AzMT=k-frns80;y~%*ahx`WtOsxWgWOn_*4>c zL$i=MbzAJvDbzY}b0=g%=?duZ&<4ss+3~ByvB+%T3TT-PTmdb!A+LarOXEPIG|~mv z(KPa_V!itLW|dAQze0EXc{0{KTgJL47d!wUdpioG-;EhwS&i|)ZLq=bJ>pk_Q zC3M^LQ{LboAq5w0M^vub8UTWg^|}OS*1))z@7Do?|5Uk z5~h)9scUdH)k4HZro~&kWqnOGT_}vSoOq;Z`OIO{a-KCU4gapR+=$AJ76saIl;Cpt z)k&6eLCODH%7uii_YW1&&qDf{PxlNDrPAXZ{ET?|^`^|W=bMg?O3$I&9T2@Ngs}%z z8;CkbJD5#EzV_J3V_*LU4UOL5zeq}#kIZ%4-cOe~^GvG)?Ks%cM>eftw-FSw`%1DH zf|p?wyapLv3_N4L&?!XGqyd5Oas=Bcptp6O+ZVhmA3juP;R`JlK3jVoIIJP!>uqNTUruX7i&wjX_^XIHYqH-b5swB6@)4)S?`{p(coW_KIitnFT-MigaZM zcZYh0`ysSbt2=TK2|r+UN8R8w7^PcAK_a6vvz$@R)riQHJZM50;RJ~sb4UmeP`|U^ z#+guFsJO&4^}N^bqk1yW3NS>UkG^qeHFc2x&gfN@S^M`=)7_Awk=T75SJul$vb^5c zaUBj>$;rBq`dn@sS#Ibw5x;sZXG@h`v;=rUK&49`2x6=mr1FWr0pfckv^>j5UT#BI zzubXwE`1#dleUpZ@jX!zd;(W*`a&fR3_@rJ?-{{A8NnxfnAQgS$Lh1_0@r#e*o%0a z2pt(xE%NKvztIPtCBgsp1;sQDC%(Fjpg1oo&M`n*bzPRR=Ve?_yly9wv(AZ02*!oT zDFqTf&b4ownu3`=YEV<9iPxhAoq<<>5#sKhXlm+}0=W(K>45Aj&3@PIlnn6&Azw9S z_(XC%!|n*fa4f@~{q5ywO`pRN5|Z*Zu7{1$gXf&QMT_UbViPR(x7XqqXB#7@ z*S7Yfp;Kt1BkuGX&2YuRDta+RrH+V*WP6VsutD$EZ?yKJJ^Z?q7=w;A)^DU@>%c^0=Mcu<5eTDLkids|u(y)j!Ic>EBBY6PDXC1$_3kLqVP zc#awR9&}qGx{jg&OdnDq7mZA=g&Sr`!FB@=kiPeYHt!sqi;7Y0#~1o_E}Xn$bdYJM zq2Ep(eP=g0?QOKR=?e;HoDg_doEFg!p+f9!Yp9jbef6W{CsgThJs*+J$3aSRd6818 zL&SdsUwJY&p^LkX~0#P?-_K*rdUO|PRs zcA`KYL>OPPIIrY!y+Zy=b{2+;Gs7p#v&r^*_ZZ2Z?%lb9_bpT&QTCX>+8xEVe!IhG z8z{6pR@?jSW&L<4wh!3L_Ta&1AI9$qc6?jGk-o6tf*`|iwmYWS>}5|1OZb{L#f~$E zZliVYp{BbNCEGi;&v$mE1IKeIv#sb%5&seAckm(v5KSvo(&EFRL+`vk)o6ZA?aBz< zLhXu+8jY*h(~nGRsEt6HI40mgaH<@fP7H4CLE{S>^A3q|Kn23bv2?{diPtp7_4<8% z;AZZVJC;tG1^yk2as|xr3YfYAP}mcMXTf%mmd=chtu2x&laySn7^Lm^!ChpfMxO|x zo9CwVv~W+5;=%i4LQ)9IfxV3~g*?XRVz4VVMC%7h_Vxl{_mW88BTkiW^e&IM6@fR1 z-fzr=ufU>{eV%yljollaavK{{tNEC6%FV!ypt3Rj#Vi?nI!;hdV|QbHRRcEQ8$n^B zOdH~u9utL$^7>l3bZvbFsOUr)6eg!jw8G!uz?uZN|x85TS+9rnBVmZEo#_5to>vgSf9E*FBcSCSeolk$ydOkhyWxQaw z!AJZ($w9LH|L;leEh@)rifMFF6=OYPv&7aGLYV)-dy>_7OYQS$zh{mpym(VF{gO-1 zVpgfvPcT_Ly7Ns`61J$x8njOpUL%AOGZ=IjVl%{E(9+^L*PGor) z9Vbj&9=?ui#x0K{{8|_%HL89Swhy=b7?J&FY`cg~h$i^nwuX;ML+tsyRcK&1pPB0m zty$|W_@EJA3)kWt^asUQ$?n~QQDm(3>xZCz4XUL5cLDpzGPmAz zg3)oA+ZcOv=y;Fo`S!<~KIeMe(4V==7`%zvS?DsXH2&T@4=#b%THj9!e3tlZDI5vg zn$QB@H%?!fP2N8{w84kTGM?;1YjIjM3l0vD%`3bGPhPVOI{|?#3KU2;TCdI00t-Pn z0;x0!nkVe-MraKJ;PYw?rmSn6!hNz)@r;qYCL5Ny-r(cd>EV9H&HawM3W-E#<1S}h z%UH^2FuECOn}Gc1GG;S68M7E2j5dk%iveI;3qb5H@p!eWv=GXDf*)c=*a;_`FmydW zR*H#;+J}l(xM;r^-!Q&kxYj7xLv^)$EjC1YsG3HWm)im-7@;z!QSbygT?i&mz-yLK z@JwT}eV1+?S|jVBiTHs@mf&d=lsOtt#_TuX1batQnmfN?tZBN@aXwZ{@STe|+}j$) zg2On~iPg(snXr;aI5~gj^Yz)pX-;8q1o`!auEX)+x?JDs*I}x=JfBWQPcuS|YlRXE zd>#zGj^ZeMP-LyB++lBfRuoSWs?yVEgo==HPuS?V8Xecxe%7M$@J!)nYyU_(PLUg- zB}VIOhp>*yYH{!-*5{q~n4C=G8>*xqrLt4Ua?IEsto06|=PNRd(27z+$Jg2l#8i~; z)$x6OMXsSgZ3G+Fij&vD5}X)bg&KGp8+kq0X?e#8%`}3m){YdR3Qig+!aFg^=xD?{ zv41E9c`Ehl_{?v_a?;f(pjA%FE4DdSX&(Eo*NTG!==#lPjiH2RgibMs+*R`Z zH#v?Cs43P#WLF#7V;--}<&B`f7fS&j8!>y6VyY}Y`2~Y<)Wp!PDDek68C6?XZC}0% zq+;qai0)z%eqqPP9JKPyE#5t^rmqP3mX2bcoKFwKc*v!PgLufM2js$V(!&8fWYGiO z1H(ZN;T56crG4JuGN^ya6gzewQ$px#b~YmNxZV`)x5(~DnU5dedA4?#6M1WlRF}Mt#rmf5s$MUJm36|_cv+5FO+E>~@?f}^d zXQwxWZVELIg!eW1(9qKdIt=%2u`fYGUq@4?C{YB+zaUtAdOjX<>49R%riX0eMGs)O zEQ=np@Zg{a2giCr(097+f?&$&Pz>M}AKb^`B|zK7=MqZ#VJz2(lK3N5u#664tT4E@ zu=Q^^x%@tMuREIIw=vx{Hh4FED76lJgamHu38VO2SOdMSs0Cl9zR;aT+XUWI)G5AH zZ!X#)aC=dg!264K3ir06Zh_m2dVnRt?din7B-oZt9~j=?{pnQ#x2MxGj5m05`dZ!vKwH0ZgeWC3|Hi5SlIRxHWlqK+6>al{E-mWx zg*F!L@P%rMx{OeuXr}>(ZX>k12&`78j}pIO;&+hv4G_Nr#IK+D^%1|YFO*V5>}^&zU&WHg({2VWE4 z*Tb^qw3EHD=e0B+){@ZGJ|NoB#No~piQk(Jx@0qz);GHw6P5FYi&7?Mk z_hB3Pp>{>-pmrtGvAs;Tt((ha+q$hRi^7HOETgtX>5^@$t&G|hr7NE>SUj`Gz)!a? zSThrw;~Qso`GS|u+~EtZp4sUO`etsEQ5Mf^K_!&6$jE$U$oc9rw6ROe(8e~Fb)jXH zp^X)nb)y-U^$_1t;yX-y4-(%2;(LJj_7mSe#W!q(Qpyxt)cNW%)cK`lXlonGoWvG& zUR;(-Z1agN`k>;Oxx_Y`*gA=A7O`~@TbpE?G82>g6yy56vcZY|!QOs8)mrElDsZFy zcktN~sD|bZx3TB1X;`#Q^Xk1=??U@qfn=~`b;?jMTaL6Hh|ZCRi?!& z>8E4qatILN1G`qhj2i_^4Fb$7Sg(RPdj53$Uw8z=0=zA!QGvW4(?Nj-12r(H416s^ zWZ>rlX6zR*wGUv*z|dTyW9d5Su}ylsU3&aMtVie{nKon}n#$`)k+q=&#T&OqlX!gu zUB{m=U!d72sn}x`JuO?iv3C0l6sw$&;45+tCMMS;XBUTRl5L^3WSY3Pj*c~5fTzs&zOu>040IhKZauAH>?Y;3R&A?nQ|+V`&`~5{XXM)%TrwK9(=mJ4wV!N{xAg z9~TEp9yEe|#=K!~$jHK?zcFu*&we2^`dqvdvo~YjyBO=Qo#_pEG$^?-f`1+>Er%*H zd;4A#4YbbKZ=w=|R-|rk>!ITtrxkUiEZ#=*;&owPN97)9SnIe9J54WR`X$pU6;ff( z<4K*g)L=^oQYz3Mw5#bsAtLmS$XU_;l!cH^3+uERy{>;K8J~C9I_Qq116xDyP*O-Z z2fj##tzU#BH8t}v!tC_Udk?z~*G}gks6zNB<$IHb)Du#zk&dA^eL?8_*_Us6-Q$_6 z#6y=$WH&5Mo(0>)p=ISe9Zk-iwx$i<-enGo189?oi6hpppQrs9%*uSBP59p3M;}Vd z)>5H_E#2+`Qv=ni3U zbJ}mX2yF&}W{p!X=$Mji6g+9a!A&;7L8JAr14hSJFqeK0f+g5U>J5G%CWD8{8@ISd z2A@HEM-tT@u#-{!Brd934jYxdbwA=kbSJ^9(fayF#(OWhMmjM)Ux3;90*8HCO0IpH zFV}%N_yQ+cfh^8-l3gy@xyi1S?A&BmN_ORBS5J23WQRqnf3(otsc9#MEGV@_jM$oX z81MaA%||HIFm`$tP@rLK^5nvU(-_+e#YuXfuVB#L_8f)MpOpQdeb?k|`1ZrMYnT-G z3=cx=D4P6Do&USi?=ARmdmA=1#!o*gAtDMDk<(IL83Jl8^docu$OkRA2-4~vCQNqp z2>TXkC0-yrx+F=u7=)S4cp_sVBgBx$H7#vtvbQpRjb zHSOc{)Ha(AJ7KUhVw*9$N?W{{^$H=ubElPP`Din6n?gd!r8Bl@m8S~Yi-0g=(g$|b&YueBBsXHcV zJvw%1Z%R7;#wptKNsf;uC2vcfv1^KUdorc!-IOU0PtkU!PI+L8_EOrE2d8K|(x>!H z(H=_wEd2Z_{d7&c-j>lhDfI`ojBS%r|I0SFb&~eFZ4zSmmu(Wb|7udk-btyiPRjV_ zq|~=2K`8k4jEtuzYj;l0{{3X_smW*HR`lcu#gw4Y3!{-IspJ#~(zy)bp|h+XTjPy44``@VhdJ9e$t zK6luzea$ib4u`(Off84|3-!gHoATWx{R@s@lD>ZShq~UaPsihPdg}YS{-VATO4pN8 zq2KtvButwAD=GDfBt1-(Dj87v#&ieQ`;^}#X@Aqdg1gJ5ekmpWrexxjq@0qU15HA8 znvzUY@@h(oO>lA6AI81mFzzckIoVL%Fi%s$5keq>U7QtaGg56)s*OvvovAiCdFNAV z({f&d%Z6*6=Q?wp)tl>Usw*3v)wRyqOP#e%H8u5t2Ir}#I_sJOCL7JW$teTSxi=?H zv^L_W(n&j^6iBP6tG|kFo6$BjRo85sUtL>K)3mX2{)W21`r7%h_t(`oo>`>@DjNf$ zaUA0xG0-RA`AO{)u=rF~)_AS7VrsRw(#qeb#rh)**on_TG785FCYA%?sL;(G6&~yO zj&*r(a*rCuOP4xA7)q4HcI~l8a=rp=r~RbBNT#=jBtR zZ&nUYepm`jq+hL^-Od^%mCOeG zo5Rmx_bzr1!F|1+90|Wrg%_V3nzlMQ*1eeBJ0}r$sZT6X{`%SdY>bxX_;2R$jwv$y z769Up%YP@kLpKwdIQMRL7a!>f+=toy7s!V>{_Zm*!)_?wA;Z~>;~!@C@#?4lFyRLd z6MpzG?&{v?@#1$tX%Lz5+@0*6Zz=!!92u^hwwquU;y+RSb+P+7p z<%!BKEM}lWH&jCRVRkQ+Y~u3oh7v3?mq>_n?_&2VxR~4bZCt+&?wC$P0h`_LXLt80 zk}-Xqo83p*y$jzLWL8<+&%rcYm~06-=pPV1E`8kmwDI&qYQ1vY=44{6EM8AzF`^jV zFa1$JDva`H(j!>|2M6=x_aPy_o8d33U-F}R7bXF}2jNivJL!-5Ct;MoWvxP+;v87M zg8x4D$IUTeyrds8%>KB)O6ZUDL+*G^#>@RuLVu(zyM_Htl;1Y^t2zRH_rPE25%Bv1 z{N*2kzmMS0c?ACEpl`Arfj=Mo?GJwERreN5`5hVCuPpw(vY(@L&7t@CNttY#&yk7aZ^=J} zqkhWvv6t}1gWDyIiz3{D!-pe%>Mh*< zXuK5RK6ChRq;s%a2@bYU?cQ(-VVGB^akKY;9?-fe+H1^p95S4 zw6pyOb2JUBkU4JwQ=xbBAmd*d|IGLdko@gu`Vqz+#`_q53j8AcIe_FpmF?+B8u5RR zahP!si1#n&DPRZE{}_3e`)xOcMs4QyY-_7?%EJzT){iy5Z@sl8k?L(?jN^+4i( zDWelu4*LG%pc@2u50L8hF5p$5zr%D0_$AN*reDK%7xCH8_!HpOpzi=uJ$?^J@qUYO z8<5i10$c^$z~}@LpUI5xPM6^Zfz&Qu0S1B30?A(w@aw>CAl6`(-VIy~`~eWEMsj8Y z(JjpQ46qG!8t`ktkEY3V9RyOko(EDob}@Z7(``&&!}w(&#>kvY8CL=?0$l{8aw5H` zgo_x@WSjvc{_i1?gnNN&ft|oKU>PInSta@k#xmedpo5vxe;IH!=<|S-|I-+!0WSvq z&{R!p2i^%R1=cXVis|R4NWIKA0I5CJ1F1c31X6ok2W$X+F_8G53#9hw1X6oU1ya3z zJXwZ+8%W{*3Z(FV22yzJCy4OZ0x6ybAo<$>B!8Cx$sg&>rg&xpvw_ordB9X4mE)ld zO{)g|4v_3$1(N-XZ2vp9e~j%PX8T{V{SVpxi@*yI??u3`fX{s33ecYgZUOz_B%w!q zX&6ZF*)M^VuG@fK_`4QJ`Q8Ey0>2C-cR$;o3H&pNe;tS} zAZHMjLjJb{$({6Rllw*>xtFs0=h=M*yQeXJm?Fcy0HknFGyW1d9dt8rC9oE_4Ok7l z5$Fd}d}TlicRphdV+wE$>|aQh?)^aG(+AuRB)!@l$p5d{{rikTMnAhR22wt3z&7A6 z6cUxwPw_+L(gh^@e#|>4eNO@@eWZ^TL1x^`cq@>?eVg$*Af@k0AiDe<`c^Fio&ZGA z%t!%J_>VA|Av_4A@B@rb0bAk!A>cINH-VI&O+ZSo8%X|9$0D8cft1dj;JXBJ0R3>> z3bjjpz+zw+*aE~pnb4cv4Xgvb6L>nX3s?i(0Xzdpdb(=a4j$gSPDE7XaLU!<^!(*<^nyyY#^n_3A`Sd1-t?10FpmCz>2(Pl3w!5 zfd_$PPxXNJJF^eC02pTMVf${N5B5|JCBQD=IlyheTwn{(1#D*fa^NYT*8)!kmICJj z4PX|~4a5{AGaq;sFdMiK=mee*%mPwA9KfYO8}K@y2FwSJqF&Ag4g<*_)pH?m07(80 z06z!p2c7`z1O5jv48&9_vj>Q&Q)V|X6Ms8_c3>B95wH`8Hjudu=mxd`@t@fYr1aJU z&jVJmeL3)2&})H3z*4q1fG2`>15XC#17`zsfhPg8fleU)N#DKDzm6$IrUUd$pbc06 zq{fY`r;Vlv9dT*Hz!2;QfMkDw?QtKFun)6+58HRMeHYvBVEazCZ(;j#MmM9AQDYpy zOGWX88M_!;7|R*mj7~<4aRBX5glFslf^}Lqkn+>T_AQL%jBZ9JqsBM@W`ZAM4^Z#} z3Vv+g!dTAeW~BB<{&Ruk-^unG<0#6X+=qdpyn%2^JHYn+Y#(O(9=7jh`!2TM!S0hlkzs~&BI`Cem)w=J!OsjR?Ynh)~ z*Y&64ebmF6+W)v7?Vo71U-E0F)&9?N@FVvYhF7a}?r z<1v}79G}`R`2q7+`zsI$5&qSF&bQgW+Ml3%GARCXytHKQRQzF2hK`C*d`>}W+Ov}- z-No)@ct6NpnX{%yn%V`KmJCU&{ifRmzp$qEZ+?sSf#O&DF>fzi7M{;*?{4B=@-!6?clMK=`Vgpx;vR($o})0zFzom(RMIBNBBp1GW`LEw=w;F zlq1F0oG0UZ4DE#I0Zz{v;-B84IWhQ>2@`*m!Sn3DfcU{(>A#%L{vT#{zwqCpz00&+ z_{aOp{Qkz_f5z@*lpgTg%I;sK^nhN%^n8)NuvX9M`w{U+`IM^sF|G7_K0*A`!rDQ0 zr*=g2D2IQA%iqcLEUrJbKXxV8pOf3$*>8Y0dESMJSK5U^q=!eYV2hsM-^!cbCGku38ee|7cc0bwTev>7Ce?d)}{SR2e z-(jI=p?@*^-=7>yXIj#aI}&63e`JaOEsOsjS<-W(h2CR{zrn))OP2CpXK}B!@cSy> z2XlUYVWF2>+Ut+-9+>@KWufn})K{vdzAz__2~YQ2nfYZ}=;JMPrloz&w$OAxmYLsr zOMF%6*Uj!U4w>l+3%@)Ioo3;0QUShbb@k@T2Ha+F(F!F{lV=vFA!(W;Q~)mZ{$I6u z<5l1>OxXi!KdjT;oAN(GVoJG~XS zW1*m_7RfR3ld9omDKBaatZ#_ixnflsA9Ep#bYwv)SFX^qO}hRYIhlOThebTgwQytQ zru9uV0l(0u81Woe9-k~z3m{vi;+3rOTz;x92yaQTt50xM3^Vw&SIwBqb75nku3jZ9 zw!~ai05vt0HPwxq6Z^=6SZH0tRkEZKdMOCharR=Jqk8+*6*hsZ>eUrCi7RGdEp%JP za#3}gAApc*4GFJOYMSVJhggsC(Z$@DV`;7vw)BF=s=6yTudltTLPa5KBl7w!zPvI} zQ>R?xn$3jF7dBp18x0w~?#6VH52clb{_w&l7S!`t{JR!Jr3A;74~z>GeSarRvo)?G z42JG9rlUEcBra~ml^qRNSuP^7yulV%ZX_04SDbvO#Y42oL>y#YE=J|9uc=hFtGDF( zYx5TRRnLD!`A~sBRUm7OMSKgtgDQqNp?rp+U2{ZScq2DZmg}T^3>H- zpQ@S^SAL6+tZv7N@u-T{l8|G`>r+>gNE7;8%qM8Fvf-iPz>8!Tvu)*Jz$2=Pzg4rE500)H#H3A zV%k)_rP6;zZ;Aq5ZzE+QCM?%T|;%CYV#7B4~iftHCbfb+~X#(MRepxg&V#~SFBp-k11A5$KzTgnv7{0DSdyEzM-a3TqF0Tm5E#B!a!4PrDrpb3X3an zC1Gt{{>G*TaYvQ6nLZ;H3Bv2Eae45co1075l8tjYUF7z*=sP~)P`$Uxn>Kk+YW~RNOxSL$Zt#5Bl);GW zqKcZz^|5ZI%zujb>+2eECzOBTCOmjunDB4jfbSRF*cR|`3RD-jzL8ovzE1pfv0xLu z=PN2u-SV&6l-f_7qWroo{8@EO*cH@oSYL4krPf3I5?q8RtSadfbA6x!cORnf-i$N| z&o%37FNb|ijX!ePChRY+y|NnqFRE;8+ARE`v?{K^JAQ@#@}~6-8_mV=sd}fy4V8`6 zU&TB2@3`Dhd`5h#WEIpmHCEwku;L1jIbroRiTkqnZ)R#`uGpwW*S6Y)-VI&bV!E_2 z=0d>GxOPZdh@ss%AOIp+D7`z}1c(C7EB#DKa`PF>E& zSH%@2)y){^s_@QJbgLuR?j^Xv&2stPxIQ9R|5*>A#YB+EQC+cT83tv>j?hp+D&zde7cq( zRAO(kBaVJJ#AeBAuX1Izk7O+2fj}yA71A}Xj|dOTk-wPG@owskIKr`hQ8kwHD#ene zpFe3umRGKjuPECUG~p8CP3tQv12lii_2*S@l-{JTMHN)uShiF4tBX`Rj^-Q1lZ)?Z zzjd-!fg4*rvR-hbtGM7b&I<*zUg~NMbA%-%V_KtPI;#AL_j&cPW3}qov5FMs(PuDH zR?!mvWRoUY%nSdm>1?;>ElIO<)5xNAfU z;%pWqu*#3~wIt4FLA=%CI8Te>Y>wz2)A*}R^YTzY{>z)2{q?x=xvmzM2nDY4Z^@14 zFLr%1U`}?;&&zd2jcakdqoM!9O=EHKf}H&8RCa6K5Z@b;VvhO6s?6o znZw=Nc@Oj1#{u?Xzj}gfAbk~bpMw2c?*XmHej1sD60~jDKQkLEZ}7ubOd#UL%I{9* zXRwb4E&L(@`5~TPapCI1sIOt>*TPmd)C*M!$>S$tP5d_3V`ahLBtJ_0zTzl1$WCHE zmW-1(5w|fv8{`1EXk)T`xO+Q0QT}8|&XLSc?2l9W%2}=eJgbBQ|Bx63M2>h56RycJ zR*IDDs}SxqpbbKZbI{1hwG{tkC<^*V6eO!F`~yCbA-(ERy=d3JaR8yc!H?{_aIs$> z6!EtFRfh^a=GSud#%<+a+&#?vf z5SM2TwmlwYV-sxNL3RpzAi@DfrKydd!ppi(Y+V-{sjU@?mci zmw|*l-KduodmD*Ex}I-)Txg@~5ygqC%$6jG4v`GiK0-}E_#*XxQUm4S^Hfi*qjUjg zG;UTOjr$$Llt0i7gw{b@@ALL{66qdvqd1J# z0c2_vH<;uR)j^69Eg6$BHbuFb)apUM-cG3L?56t%TSs&4?LWrLYTuQP2-}uYYr{1d zvJ}pt7)e4qQT}iRmctuN8*Ib7f|o;t5ci;==29W0KuM6dTg0`dn;-pp$xggeZI9dA zZ-e^KL8&R2)&7aBx1~}W4Q-WWugajU5RpBSjZ%pecCV)eB(8Ge0#%ia`!d51P%k8W zqJ(#%T}R#*ly1`rRN76aAd(i`nIpJBsbW*!Aj$Maq9#v)=Rr!Hgcje>p)5S7kCi$G ze?^a~B)&jI$J7te=Z#Ye?Pm%vk=lzk4WtF7w*yTBHG6RjH;opl8?lo~BrB>ak+dX2 zL0wj)7`kHGRE*DcI|_fTqeTV2imRQvpja{R6>E|1K)FF#x2KB`JX=J9kQmX-P_!-P zqAdx_qJ>_@L}?rG#H1X08gYRPVpjY~?SAy4q8+f7(MPR4ZExD!TqrGEibFS9m9)PZ za8ncZ6&$p;)9?X>mV+k&JE82}TkryII_g+^aKwF35Bvj4H%CRXhF(UjXa$?4a!y=} zV{d<(!pfUxsUQmZ4r0|!cgX$+*6 zrs^AI(=>Gm3S##u8*eBb<%3sfXu4u+ZrXSgOl{&!T)07APmPZ)QG(EQK*=Mty}w4K zPu(8wMkzQDIMLTpFIxzr;ueA;B%PzLQagc0Q`t@ie@+1-_a*gm!ATTp*r^Ao6l7P$ zr4aLWs!|Z$Sfs0Y9;L8amO=}nK;oc9`z6ZSxvCTvMGN;dWfv_O>L>%#qcNus;c6yg z7`nX*)r?#>osMT}QuJKKZOPt#7h>c4jqUA}y}|oM{8ELtET5AmEFaPCjo|I|s`W+V z3G7g#R^sw2q=U0@?ky>#!x-omkqoaiFt(9jEP2niV`w|7P;6_Z<3j$+Q0RIQ{OF8Q+|)J)DAX%ezvie`C7#Q0lb5 zPlJlg86DHL@1{-t(=_eQv^q`ucKV5LIrMkaGs4rfn{1!`_B8D$Hv5=E+hs$@+b8|U z>kd6UY5Mma+JQ;aKD2AMWK8Y1Yx^@Y9jnhOsAe@?fU+ zROZZAGPS>DzJhrsIy`AET7RWhx}s>6Yl~}<<|*;y2qI?-c0{!c3q7U6PCdA^lI6=> znp(Rlh-`NISJnmm%jzIuXwt0atE;=Bsow8tXsBz5SesXNDFyr)&RC$*1;{B%#t zFgG{rDN^6@rLZSM-`|P!FmlO1d_K%Dz=%xFA4OI;tL!-1jl5k~1NG3j3^hC>hg<6|J0`mjDGlfN4H z>t=scUcw~scQYImzlq{~5dQj^AC;dl3HZGNhlA{o%Q2ch4n}hw(z7(c{}A}}Natb5eKF%) z#$TXQCVM)cM%W3&Qd7>gKny22J|Nm)P7b@z0%D0WCzjitIAI@dw*ybn)vfPVv$`)?V40VF=(0pf4Q7X07?WoZqN z{LcrT40Hl<dV^3|- zY$z-;Gf>DxJDL77yQ_6(gXokNZ7&L$%sWi0b?v=OKgaGr72(5LKJyDB?c%&4$A17c z{vzg}g|5c?Wp=*?v$+4<;y%qnQ&@BOk1X-iMpQ-fdjAoe$6?{V=nOK! zv6QIe_y-{3{luJFNN_yBD#TzFrA{;vw)lxgS}cW*MXn=as+G+ZxJnsvYN|XoHB?sm z&9)G6SQUt-4gS7Vd*#1LuvC@ws-nV`{*^c%vH*I`r7$Gb)rQK;t810?8LIEdgwDRC zJ{$6k^^H}_nrbU3zl$rNS~(yECZy=Wr`_{aa#+Vo6l%2+##w^TB0s*9q<{vO%>r01 zhFEOfMiME6_^}XEc3p&{Uv-;THf`Qe*|5B_wh~gM^znnrQnIP$fRQcf#ak*X;L%$} zauyJAs(_@TpBo2R3t7~|#Sj&2%8UK#hK_Y9t zlHT`=Q*jd%`zMGa(vi6Gs3%dYE!41%LQQ}P%2QSl3BME=5+SpLG5yC`p=@NbsC z@Yk)ctQS8@663cYyh*CEbW9V(IF0FxMsqC9iGLW(*|k2*5ymq;_y{6XMPXnR4W2>{ zgXX(rj#Lg~GSAzHAEm{K3GSDPL7W^0WLD6<*0>gvEBLSWtX(Z0#gBvesCA@fOuC7m zGGYR*2;kx5I-Dw9JeeUmj0uVb{3e#`*v9kGU7Uttl~AUwyh(0iBDs!pIYV9!|6|%k zn!v>Kiy?MaIb)BYlO$FB>0gvxQ4+aUM>t zqn`68+A6{yKszLUxmdKID#G-hK1CuX4^Q;1B&!du7P*dmggXcBqfV@`pwZIjK`H*p zP#dOyTCl?VG5?fUl_lY}*4;g!KjT~Lkefk=k(UF2%q_3H-8}IcS z`T=Y<7kp^gm*bW?+^AddwEc!+zz#y(v03@e*AROaxWUS=Cg!)7M#m-dEqU+}lS;6Jc=;|*O2_vH>;!{-bB%{TAw z#=O1u8_q=y|T({Rox|+TEW7xYC(UycZ;iAop!v-$#ey_i9e@cp8 z5<1fxx(w1Q2YmAm8uR+?H_ReN;BX>#eES5K%dA{P5S2u4=sKsj!#4w&I#4q2pm$zB zlF896M`EvYmYlxawxT1Ds?i03!9U|7IN?m&iLrO-MYjzhg zfDyuyh!8{(Ng2F@>^hdx^_;k~^Hu>fZV@o`Hb7y|AbbeFLs!8geJsNx>5eoyX4FWJ zjTVok@VHfayi$s-z_lNqN2f_!_i|xBcz4~vx z`cw9@Fe*QcecFDixsrLfE1LFDFYXDPO_y$OdjhuNMT3x&s3;PY!L93f*GlwPu_@n= z_e@;K`8RHUoBR0n8o}l*Gyr?3VG=`_fmHXwq2HKyC@Lis|0+N_ zBP`fPD~Yz!nTtCim!WxT3)18@afH#WcNL`5+8<*3{J*`yXABfTDAyY*#TMc_Mn~~< z9U>81PBeO#i}4X?qxvvzb&+V zR2+O8B0ct9kE2E47DSLpO2co4(h7GGXK%+j(|o}vMX3e%j68!T)E6EFlYwH}uy?H2 zzH4}--w2g-Z$qDe+7LaFsvjTfYMd?{SBZwPuiodI_j15Mf8N|6nwcs>ylwLC_cTL) z)ElI0HY5Jw`&y(4@)oZ}nu-2WN$^@5nrr~qA6JUD;G6dvzo4?^%I09c16IAv3PHh6A8j#6_M`o$_SC)1QEuUVRRci!Tqf7;fhxKt|SOR zWEi3Ik)DejLut646Y^KykR6puqME_IV_(Q(;Sz_Jwid)pfHNd7bv4?SDR6O2$y z18O?OE7Q<)I%H!a9AZ6@kRAyJu~+KL6E-s`LKQ8+Xn9%7PmZ4*>cui>bct`(NUM#C zCvki%$)PG3k+o6TXjEUvgg=CATKCy5k!g=aBgTuP9siFgyl5h5m!?!i<}1O`k>xhM zX%a+5aW`%leMHEewGLt}Zjpb|QK}JHEX%_MAF6!JawAk;v*`y$eM^kp>ebH^QtI9M zq(7%>yY(M}+n;`#bytjc#KXFxaR!Q?p)q-x(xxkHEjuTsy_v^P_ywx#JGq~d#u zq9-$U>mvP()l=_F($=4^X+P3e{3S`dAt~eTB>nqIlVIDIl<|io{oSOD8t?a4M+Jf57Dro%Z|QpZ<(k&3XFRX#&*%~6#QQYTv|lmxL0zk#t7+fWC*kJTU+Ol{ztb~b z)b)?_jLszeYo-)YUQW?Jcixm;y5`ULg|1iMg(z=I%D5v*-(m4LO}CNe;BzxB)VUzW zZjIQjQFdy=uBP#7a*yjdH~Dd{9f$3m=PY%CI+IQ`XJZcy&zqnJK`Kl*%r&0>rn^Jc z(s|rzsf2Ph=7rIS2U>Ubd~$gk*`hxAujoQe!K}2&>8Kv*WP@35N3GL1XfXihGzsd} zkQ9F1?7k4siR5-#*!>#_Y35&})|IetM`kkK7PGtBhjfYws;0dRKj!-n|DwW+p#|^1 zg+FZ?lgXVV5nrKX;?vLWr@>{~Ktw?6v@?&>eQ%O|5VRolA72!o<!P^#k*v2gRvfQ&p^-SfT^)DHY-fJ>(;a0S!ZI9e8Chi{4YT(y7BE!-9Ovd(> zB|dJil%Lz+zm)yc`%T97`^5g!(O;cO@-;xLwCD7oVPGva=cm9N{E?g)(c6J1L9VBs z?KiN!kL}L_o(z9^Y(EExu{DR}&1OT??Ds%&-v=c7?QFjVh^6S9P3%r`Xn2=$Rs+f3 zJLm@~++9GTZv?_AXDyKUE(W5@%9#Tsf1d+V`02oTz<1Dq$^Iaa=>0&HQO{9VNK3dUl_rHl)K zwUZ<*!x;K44e!5`+#to@nhfu(Eka<+HTHPAe9%b zS`#h;o(+5p?-b!Tfz*zgfmDuRAmr`DJr&qT5%*N!8$jGsfh~>9F1Swz?f{|>757wN zqMg|Sn&iibj|*52oCT}`<^s!s#{t&@vDhr+)F5}4X@JJoOQsu$Ihc@F!xoN^QzQOP z*kkKM$f*%uny1YN+JJBqyFg@5nMc;r2Jk}|X6#~YVQdDXNu<>S3lOfH?bot>Dcif* z-pNS)B!zRZyThMA4Haox!x4C(?T^(#z@F3?y2aHSFHP?o^)? zpPJ`wXIjk*(ME-PnByxUerYXQm#8U>^OSzj!%SBQngZb;<`i~U`0#U z9rRZ@e5s&Ozf4bM_b)QNRPe+8H`D(T=?QCD9A7GEk~`FIG_>C5NvxOeC zr1wUPJ2gvKMa+}wu{61v-9NJM6Kc~c>OYA-a3!1LQL=h5@`qCFjC3YRSuUY7oHoTb z*VTG`8(ba_xd|~xe@$iW<$)@Hr8pTQ)%C_PKlbvA@mitAmr-=F7Gaaz)A*kM4|`t% zA7yo}|9vFD7?ueLidA8NutW_e>`|zRFft<(Oa(1%#SkF~l_e!JLa(Ax5@kB3m$qtY zU7CBl(O!F-E+Sf&APTrP?zqRDbgbeQT*?1=&Uw$wH{VPWQ0(o!|DGS@nX|p;d}m+Y z_dQ07sxz=KIsQ*-FC9N)9&{G1s{U?;R$&GZ#6e14Is%nY=X zrN=Ltx}tLJvK5gPIDNv271VK2$(}RUQ@Yo1s5nhics37SW1vH8T81;I6b8f0{)YWg z70Uz`imHHac^VIfH_^$(_@%2PGu)x-gHpK~9ZrUe(cxtDkm&UH<&^w#m@+edRidE&cQAkIv0;4Ssp`PFYH`I3 zuvA5$*c5!yQ>s_5T2xh2(-q(2=U@d*>#T={4|LXy8N$3?5w1LMc~!a!tV5>Vst67I zz}P6=nJOy88UcE(CWxXcA5C|Bm6NAr(rZ;weZiudBJ!oGUxv97^uH*7rCIMT#rlfI z*sm;+Au?C zu^=NoV`Ld@tjOQ_ixxTBggbw^LT`h_SPObsvUO^@*`HQ=1AY6%@* z)f{Y?m$yF{^HY}#uJPf#sjMNK*AZO5-;SKB7$b|%0taLtA9AOg?+0UKST0XBV_>CXSu<=$kIs03+js=`J^Op#u%kOl z+MnFNtHigrH2O?w?YlkNAMFb<9NcfPcwT6Kto9Z9 zeo|(?5m>*oN3i&lNK8`}HPw16+x3mZCebN0heNVzE z*l;O0B0mZ2dn_>glfbr5PC?4vE$_8Iw&5#a=0PRhABt`>{B)i3(xFc+Xi4zWRSQp) z*87u*m(GOmo|g{HeG#xRXX2$xG6Ff7rZgi~w=7XHe4J*#S*ManVXZR5L9!VpSY#Z{ zai-=!0q<g`#eju&gjoQz^Y)AeUD%ZN`f0G^-j#R_>2j(aZ;2SBkXIND1be-L+ zIotXV`$Djs^yq(gwsm`t{`X{C_xHfc=jk3f*JWEj&&q4e26Ia}!u=$BG8S#w1OAq6 zw`R*+N0OR1W+%GG&K~{l%d#FPZ_H1#`fbayZ^`n&;l-?+pJdygW##-J+rBb8!5d@7 zK{GmdFML79C%sRG~ z11SvdT4>M?Q%$4zPgI_Ent!YK4+lE=I~JOCx2)sEnik(D{<2I>^Dh+t&eE?I|7o4% zuSxuIheVS`zeW7@Dlpx@Rs21j#2=*HtG>IDV%xhCjf? zztQrszCV}p%t-HQ5ZEf=63c%>PslUf+ws3q!gZDIs}6cBXJrgMNB+paVe%*CoiTsp zAJ`@7O1WnYNB)f_2`A;B7S5#89skA#;d5X=pz&NOgw1z!#=jx_GHl-}-p^d|Tzn4u z&|ZAFKYbTC7PuLRvM%^35ci@5KNS1LK*c{;=wV(yx!~EP0%mdy8WPVlx zna*M$(>Vvobg1_vA2<%k@PmP9(*-#|kRF^R_$lg)_74Q#1Tx%9Vt+>PF~J7~w*!wu zxW8!o^gjc!H=jm5qV3-ZfAk@Be~mF$-Ctv(?OzLbY(>@m^+;ef?7W{|3LF7k2t->{_t)6^ ztNUwgk=6Y*^4Grv{wQK~e~qoEy1yoUAKWobtNUxx)uWy#(Kdf4zKy zw9wv)aKvW8M!{OawLqlXi}^hsbQX$xiJ(uA`&Ncy`V0q9ba`J4d)Zf5I0#_ohj&q# zw43q#8wkhyPBU(s`_){;qiMr``kQ&9M8cbK+T6DmO85#C8t+$Yfi$NeE!vHlD*k4k zX@Upow@Uo0#BRp%6UE*n{!b$Rd^g<3f`%DJ`n_tcW>gx@amv3oasSN5OMi3jaU1QR zwNAo!Fh4zOEpyH?METcRyho?mL;CRlw%Bh}^dR>s_7;_Xvo%%n^AzauzICtU_ifl6 zpKl%IvQGm&r~kjZ{CC0A=^uC5L&&4k|8bWcV?c`k?_KeKgZw+=U+S`tamC-}ihrTY zeyPj;7uWZYe+B;%27NBYo{e&I`t!Hb{;-SQzwT4g0_5}xR z68AXs=Hl6tPVQv__4kFRtSt>j9}Y&Jk|W)}?qOQNXf{;bZx7k;1*7NW>06rpq3FBf zc}|`u6m3n2X(kW#anWJqERPIEFV2HdYZ%d;;?3ztx#rwoo$K%D0TJDYL(#icQc0cH z$s^drJwO1eD7Nj%;?01P8|>|Ci3j|$K*f6AD1499uQOn6L{aFWlo^OHP;S&sic2`Bl@818C> z^GGkaZVSExL>noX59GPV$v~8avg2FT{+;{y0NlCHF9CXhQ-R#C7XmS~ zseL?#B(;ynxTN;+$b#C(V|Y>fcnmq}`~dE~79t+8M9?S5F$v+-{u_I(#QysMxWis{ zC5hp`X@}p1JNLV$y__d@)4n)=alhOOcbdD!u5Fg}D1OktNgULEJFC_r|2xf1437`m zAoen(?ai*WC`UkZE&Wjdjbg8*9pOvFPJVgrU(LA9%RKQ?@&AOsPWwie{XLg`gv;*U z@45MddEVrtkF%l_yWi#i9ekfNJbydwj{V^`p~o`uI-?GJ}(A zW0i1rZL6j%u1e_P1ZU)`)p+Lp!juQ&i#p>Cl`V;(oW5rfmM(Cj7W0|6YOwxRF2>`H z75`SX8jn~f*g{=|I^ETz^KxQAae(?a6Dweo-PE;js;gP`rnnj=PUHALxjE^6Q*mHi zVQ8mauE!^IqF--Pak_rJn#u&{SElv&!Mtx+J`x#&G4C51dvCaz|MWl5_4p6jfnm)1 zhD%3V)*Ey<$o2TuLdWn0-GoDLbp1{ZnkO6n%JU_JoA2uvGO;}`{K7K-~wVQ6;^u^x%Cc8-->W9CI-+W7xMg zVo4`!lax>HZhgPir?aq0Vzr>%kX|7UY?;KtuJ5NJ-l>Q;e}ZLE7Sp-D$2@KEKlhUS z46bnw)|mA@wYY#s>%F^tprDq_;KtyKK@E6VDf&W3c?mdrYS1|7P}HtM1Y%IY7AfvWbiq@4J;O(}Jb}U$3I7*X9CnOuja^nIzZk zme=MsOCjQcyh-YTysv^IXg3ul&bo{3M0tZdOkO!89}G8<+&+5R;#l&cZd1CI>-$XKSoZ=vqyz&oMIiHolziLr zMn%fg8L1x~5Gk*E@$(!-%A1*#dfQTcTUw6v+m=1O^#vGskfl6Dr_&mwI2#&;s=ZiQ zEx5O!Ml!JeW4zY*2c(VqY7R8q?5IcZCpN1B2$!SgccBSoh0jR5V5xgF`qA>cxB*Gj zVUmnu;8X5w2WF$+_FE>Vo;1vg`~lgn!M=fs>$g)gKJ3`69(IgG;~SkHkiQMjaH17D z-aO2h`+14n&rQ#LbxQ8dTZecgQB;qyy?W~?`krWYZS!f9FZdn4;1Ae+9oQGt$FE8+ zXC%5=5y;SACaV529qI~q^ZmcmoUbbKt-IYQOiMAs?pGzwbzWIN6-LAKkq5zXxH}V(Pc51l925t=pzkcMP5ZZ#~r~1oW7GCsz(a zA4g|*O@&oery3L^yB!s6v~>-8PymHOAhFB~%yBAm^k0x*ucp`@w4zDSpZq92Ur3X|I@sldDd8h3^1*#jns>+`VE94!gd@ zUSU>TURiNrp6na$6F*UBqpy09`+l77m2SmKCUZ;vZL(8f>DCpYYr7`&ydu=iTIev< zPrsok@eC?s=Q^++(NoP6Llmh_TJk~kh$pca>|zP(>JcbsO#a`;7a!D=iWjaCMGw*^ zR9$Vj1kM^W)ICv$-mteg`*!d#oj1P9gn<~#WV|U% zRSj*=;21e&o*dX&+C98iwlna-rM)nb_A;iue%)@%Tfdqq|3;E7e%sMmA#~*FK#GivKjx!R?ga^T9Dy*wyGZ_nV$q8D$v6~x+sf!4Ro?!RV7rPhe zE=|#7nwlk5x2A<*X(!KBLk4Lh^p$$+N|@uAe^aPY(VsoaHPH*>kK=*`gdYE$TqIskfikOWB9Dw6GLxYOItYIukvmkru+zH!7YA0Ch9 zb~bU@hi^{qi{;*uI&;dkWRLQqphp{Iag^MOr zut`PxZ84piGXvM-rY6ydRfV9l)vX2_EcL$T1{|w1DE?Jx;WPou&t6!5R;{geHmOdR zo)mlIWZKF&6n&y_Msy)wYkt;>h9kYN`CibC@!^ zca=ltDYd&Ma@qDxWDcz$(fFw5%Ip>m#&hDH__^_O;)nC~>>XzB8=n&o#%HMmDa`YD z8D1Jgd~&>~tp)>2+u!+T8UMV(KV%7RqaGPUxQz_v@$C4h_)O-3^Mk2jHeFtAX_duo z)RN^$n$w&K%Gc6!+v;@y+FoNlsN|pJud_&4w#04s!6kl_sD0n5xVvYNDLl9-+--W1GX`psxm!M4>#3 zFTD-{5x{(D;!*Ur%e9AV@24{VZ6qq0uZVxsq}d(D3%d*9_Gi9g3pU~~Og*fwPG|7D zLdIEd{k6zrd%YT8z4bT3qUSQq3}}J!>ipXDSLZ(rLFA9G&SSb*pl1WTr!M5f|Dk4A z9Urf5_7+UOB&f24qS=E&ia9<>dMFp^(#@ z8@TMvO{#{m61qX359$dc&>)}ng34dUISnP$6gb(xIdXLAj^6!Cch0is21*Nn*#(n| z#+UAx<+0*}Lk*E896jh6(wu){3U8)ja`bQiE;Zd^1A7&6sTUF*GP` zc23?+iW;`EiW(G<*epl^n+0B6rTK@j*Al9 zo8T>u55p(oejvKw@lf=YP{YFXuHRZ#{6^$8DE$vcpNlPcJf6j;3)mE+Q`Hxhw)=;m z(u1*eW0f6K!w|GIEMWc3?Uwe*)ghz9%A%to4vhyH&M94>73(M84IzJ6J6XhHrJd8|Jo0w1a}9EpJR?rVP4+Ab4TUMBe5=oY-fi()bd%DFXwNzb=*MgW51o- zVq3qp^WL_thwbm8MMD0wCCk1yi?T6eyzk{(>+PZOeEUv&;7>+bPuc^n9%Vs$`AvD& z8$E`;l5hVpYv|v{Kp1rB^JDCLvxoj^jD1DVfe(zantSGaHpY6W=ipaISugkO+k#j< zhrK__zNgo~TSi;^d(rm?z5Cug%DS`nu-ix3Z}lE{%P8v#&w!>;)=i$AoAaz~o<4ud zv#vdC=xbx_7Y-Y`eT?0lbJRVftn2#>{8^s$=RN~|nrD5|$5)qU{kCtP$3|K^`wsg> zp8Y_-p-+slukAndzsA@v^&fisX!|Db(5pt`AFe;H%HH)!b3$Jloc9{T&y_7z7A zts8A`J7VAiqpYWo7_eiM6+1HLlRT^O$Ue{HSzGBB2By)$IM z6?xX)qlSJk#{T(N_`Q3+GVnjfShYtF*pECMo%7mg>+Yj_-ZR?TdGym*+%yjD^QV#4 ze+@kXA$JVTd2^)o?9e_hjh3;k_}-S~cLo9#*a0 zj5Pgx))QCOKFhaqRoGV(sjgnNI$X8bw`A37U(K@fSJH3(q{3p~s`I{$hdXO5f7#s9 zBK224?`N4u{*+sRvK3rdR53}}Cs=q*)GD7lm#>Nv&s0Bnq)eM~k%-z>puCvKL@PM= zjEdqZ#gi*$&K+-Y8?bCewbOBe&c^)W2|7dLt@*{{@S76|<_;^NTWZd#a7A!M^>Qe! zS&5HJD2jK!)oB7}ex}p-x}F;q=ZVa(Uy3@RC&t(f=9(WaJXm*E^h0LtEFYgYfmvvL zPJQr(pQ2nEO5TgB z@qgg~gu5N#0urvPbYFGQV?8Nj(sg_X_fRH(QeQYx>z{i?j~V?;ewjaR7po;*ske;b z&Ox~O5>DzbE!+v9SBG#$&pzu>8I!I{&Y0mT>)Il8S+B~N@Gd@B^BtYZJCh#2spNTG z&+NxEp6!x=q3h5CKM($mFX-^>w=|wxT;b=W^5Zg{tMGrT=$mJMrSZ&l>9-GQee?Bb zwZkm!9GIleSs*G>3h+y>Had1bRGoK z{ind8u>Vlp!$6$Y7R&--3N1KN+cB-w^zj;Ex5*0Ui(k5n}HL%!hqH#x0zj z6tn=DkGp}Sa}$vHxD*H$t%5azD}c;b6_DY|1*ZrO6MP@_LH`#8qd?NROz^vc-w|9U zSSk2*!7~JB37#T2Meuka(>X@)*+JUg0%UsI1-FQMqu4hIZWP=gcoC5FRtlDj`!vCK zaIr`Ktw7TMzSu7mtPuCF3!V=AD#G;xPC)eQIsaZjw%hHvRG|N@K>Gg_$nRed;%jzbAIS zB1-!-AoG_m=n?b?`*N3BKAIFe;*S7{hNUd{~NJK#D1>WM+2G8;ezj?@)`aaAmeWXj)DExKvf^W z<6!?9koi3c$o%?%q%%P9HB4a4FXh2V?>j)!D-nCX*gxp0e}u_?6;+HjwcGK+?+- z_qP$4@pc0l@7H4ADE4#2?ic$2v44!g8$Sm_ub85Diy&parlNiS5Xkgufc!q{v0y&Q z2FCP`05bkln75c8%1z`0{{$=q)&h%wtHqylKgaRuVkbWp;|&uW1mt+mH3!G3`!N@? zzuyf+RZRa25JSxLKLUrt{X*b4;0hq~fjsj)g97AD*)ja9@!&%sx?umkKy=~$dw}Tr z{ab;3fV+X{I{jOK7`pp612H8ky%!UKO|YK=+$`7#><9ZMv2PUIAXqE77U)5^Y9N}t z(tm-WTj{;P5U1p3h5!Tbp9CxcGX1GQkoZflt(Q z8c}}u*Nf#(Tqsx~=o6$T{`G1_JYut8qaeQzRosi;R|@*I;=WLDK9K(9K>C-6yH60` zru>;t`U6xt?;$bR%Q&u3PRHzvnpsG&n|;oswA)s;S+8@vq1~+S|69VFea(X?2qnkE ziiddt|0(xl_FK1!-Rz%^M?T=6ZT36+wSTtRA8{NaJ+mJhsKaZfXoUR_p=b6(L(xbX z-k7E0Z}uxQ#cuXDW5jOuLnom>dwbSeW6=p{Ixs%ao-6h{#9kuyGw}V?tI;I(rzF1N zV;@R;cCGaw76&w~jGtX=8NPYy)1m#p#eW*9l{{<$shbKF1|z__vWir@e>E zf0Zl#v8Zonc*=7*?ekpmuXW{*mtxNFeCNt(r@}?2{Z5zvRVXv3KRb-mz6utnz1H=8 zoFAP2m!Q6!_VZl!pStY5UGXvIr^LU^mHsI%d!6h1sOQF+eznV=eop_NqJKN>6tZ8m zwo*T&083ZGWLo$td7hQ>UW427(7(5kOxPueR+Q;D%^hZv>wM1TuTIxoZjJ;~Mci~? zQ5eF~OUS!bnYS!Vxh`2>=EJTC}&J!iOYu3VGyQbF-^c%WfvdIx|n&2Wo-e{;OmfWpcO$YxJ zc_#tH%4aWfK7KIO9GyaGc?O;K&Y%++w5wnufS3H13HTKC)Pibm)e$_@aN)Am;Yj6j zQ&cHWDxg&!pcvkqFH#tj^(&-)76mKkixI1=uC7|iml!lH-6e`rp0=30XmwR(xatt7 zou6A=@r84&wA0U>qzEO%8K?4~nJ4I}@{C2UV``Lgzu}8KKOKBb=@tBUsu+kOUR?80eyq(c8$Vsxhx< z610IVS$2K}Zf+{p;>Jd`V~jfGtCwAfW?eD6>bqSv?TMKNsEO_oN@dHW>mEV6c!T0| zyw?E9TSuj_(W@@e=`ip)lE^eU9r8rnRd=WpNY(-qk1hRQdJILT|6c%f+D(t9bV)b?)Y(roOjJ z`SndWY@%6cKI~{sZ|i7v-cB#$!`~>sDvWEZu{lsy*i-dqeJJ0zS=!w~v_t-E8Kd`o zIE&+vNy3cBFBY+G4)AroGqM};PJ{o{6D(^J_KpaV&`*V}EzjI|FG8KRi8g?r2W*u5 z`q`9T2e;)Xf!Ku*ChrAKJn+r!(?aVxXc4fa%B=56N}YpEtqk0-D#Z*k>yP3z5S(qh z_b`B#S)UE=C?rFP_qq7rr<2I-{@t3LZjXwqI7ul~s5wc&s0UuELa^2?08{&R29D%1 zOauzEG-o1MC1dLxk>7|Prb2?9_BjU~6FA8~b~bpi_9vyO5h)nE1Uc^AQ9c$t-aPAL zwxctU``s!BazAz)Nzy3|1Qi1k3U$BXN(-S!UD*-9@+(7a6$WY`DUu4vu>HH_(rnt+8vXPS5 znG`+>MExz^u{}rPR2|Q}GzV@~Y)^Q9Fc1y+0=F(-wirB6|5gRtkif00mf($-l^0gR zmK(TL_@*jg^8{{HYk-qZLP$OVGd2?5QF5Gq1_qs_LnYj$UIjkd0__QCeaTjwS#?6P zgcN_^0r6LM_s+^$rSsU!$ASwIJvr)>{Vntg<-Zrc08G{14b+kph^}jrb|(zLQ9pPq?+Mz^@u?sb_g2)j(X0R`^(Id+ zR)#*XuBmkW8@)sM?*xjsMUIQtpdljPW0Os=jp-FV3RM_elOe;izlV{dZ0iP_ultY^ zDJY3`h?5_W7`JlxRQ;Fl5P7#`dp2a}1Uk0q@Mj_XyOhr_ekAfD_&>dMUq^6qXo6dO z7leS(xV&|<;ig4V{rMk4+&6l+zvw=^E0jGxx_xH!qsQVi4|`z4G2>@Ow>{Px=m4WR zxOY|brvv$qlt#A&iXV(7N zlhW7Bz>?(rcD0WT{bygI|EQq{;y36&Q;{kdR}&owWvWwy{=R(F(ka0hGK}KL|2UA} zQqvEux&FRLAbxJqv+-|w>v&Weu=fY@9}eWdQ1mQRcFeS_+G$5wk&%Ip?SbMKBJT$5 zZBQDhK5SZt_iB6?QUHzY_*X!Tx=rxL3<$_`L|Vt88pxB~SeM7=dNW4!4<^P_@T@a0 zXz0Nx29%ntBD{4#I?^S{qkqxC= z>_G9m;oSH|Y_X5LrR|XwDg;DKBO3z^7ukp%@x}*0LBnNYC9#Wgp;UsosDIR3_Zp7l zi|%vOpLff=KK4n2`bUPNxdw`NMc!)LhA=8H6^N*^tZy#$Ub90b#-U@Qa`e}=d+UFV zAi)^e#ACH&6Av~_%!V}^Ec$yXp%r}*uVn40&xKdc&iVlW4q{7o)(^(dBFxJ-)5|n4 zGLzG8d+YxT8E&s94Oni0g);oxfteE%c>pAacdmYgdqYD~l+>W!(G!%48}v6kSJv5b zL1|?PMYa9~@0M#Qs?mP84QUHjoVV^77G&(^`OJ0fnsR^^V~O42!*5kCCfjvE73dDI zLu(IwLj81Dobv=`xeSGO$5;eYA2WDEUnJO|98y<68!lxK(aHg@6PdWWepq2sy#(V%?ly%d$f z2`VV>3{-gk(-oE8iprB%iR&-o0xeB9L>*;?v!E-8xzRj5NAh&Y|8DK)?b1c1nv4j{r+4L7p~1{$s*(d1a7(qPcO7|EBK^ju4-6zcVgPVA0C z(vgT$O+;=XF1v?$PA)(=7whrW^q9Jbm0al^9CM^oQH#ypPHEGGfZ5G(ZMz+R{6*~? zuf6plNT9Zr<4?-4b5}W1)ulz5T>nO_P=A27gk@JPhS2-*^R`k1F>B@>GfJ%k9!icy zf5I#p58)3Y#YfX}3jVZXI0zT;3*#e?>)2Ya={@Jy&v5-yKe{t^>J1vTmExPD;8`wom%ZeAmqm4$2R^FZ1^wC?QRp2 zDF5Vod;Ob3kjr57iC{ihLe3r=%AWHe3;()(B594Xk3Mt2e`Z;W{)}nj z$61Hr=dD>e4`tcgvv5Sh^l2FG80!bH{=oJ;YFk_Ee)T=Byz}nw4_tjkMsb0PRlnY70VI5xksoul(dF>lK!`}AVuXu*N;kAEr*s%8g_S=UI zd#k_w$DCoW_qX@t^nT52?aS%AzrS^FpChi!wVv(sAaeBUemNWZTYu<>{niWpMuBH} zeg9wJG(3^l;r3CJ`+?t~s`B~=vC|BBa2njg-uaj?$$0 zSBt-=6aQNAzYYG*`gv2zr$j1#8YpLy4>ZNtnfzbi4L!38861tK%fn%uw-&bPa4aWf zOgM*p-Ew$rIsiGrs}ZhA!eQFe#?TXM9`JVj-zwo)f6AC}j&xszN9zHkOJ4jBB^>Kh znGEzMB3y2}{$8oqjO9WZ0FQ)|`pp=Q@_&0JU8(1^a3>%$HzC|6p~w16$)8J3(B!K- zxj)aV`a3wj(0FQGa(uJaXMZ1knCZ{M|2-0(;|-1HTdwdkba=LdI{Y8|nx@b3g~oHT zEBxu}dtcS7q38Fr|6Pp~jK_N2EAcq)(0Hb};L2QvJrf+q{+oiDY1me_edNUAxZu%A=){F%| z2eN#x1!iOVq#ipo@WJbVtfy)qR`La>0!jBo!6O7e?5o|M05ZQ1i~TOaUjt7-ydQ{t z4Uplg#eO!B-*pD?D+ouqxf6jsfy~b{7?5bc8%X=rV!v4IbHqMb?39~hc*@N&{M|s> ze=GKj#lBeVxj=r`Gw2uNfY$@Z1M7e+w~K)YGCcxhxm^G}4({WC6M#M-)Ayi-2>14DSIJ;NKRUoH6`=0A~R2!#aZXyG`&GAp6DdfyV#ykKGYp8*-3?=cqwHzHB6dK8=koDMt%m=EN;t!(di1DTJTfO!bQ zQI2%31hQRSB>v|CSuWoM;?t+k1s)AN9XJ;5ZCHol=inEBY(I|xSuT`ggL}a$AoE!T zB>e?I=97xl=srR01Axr;%NT>0U!ImTzh?s(Zw`?8{nrO%dekgH|IaX3(f<{} z-9WnEEcRasejCVosRW`(2A=?Ay^aw39w1nF`nLkXdZXmhh5%b&#}L(j7Z5{S|7PG& zU=wgMa5Hc?un~wkU&*DR9rWJ_JDRq7mw6Dd7It)1^)7QCU^VPs;8GyESpS8H;a3t;3gpBZ3Hr2t+=lh_iAxpDDEYKQ-O?E2xL5;xDOHcTyY1ee8hEr%j$9v z7!l1r<{Yt`eaq=$H~Wxl(a0eWXSD)pri#DWhm01x*;fn_yV*y)jZVe%%)Y@Ef3r@e zI#SBdH46PHVmJGX^Lx?XO1wMWggnr0_FwFOv@gVen&Uu+cC)|X`(rA;`19nB>6!fp z^68d|^{tZRH*;**+nNyW)>=(RaVA_N*&Eue$7SxypaP%OA<5vKP#CJ--%^WX|!n&V!O6QWwD{`IhxxABka(U?Qb2𝔒7MVXyu4U>=r>O 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�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%0Di)2yqKrK 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

    8GTrMTXQykC`q<@En$GRt+g_YE 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 z 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%0DKxq`TiS_^5F+kzN>*m|0`e_FcnDk7cX#g64&b$ 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%0Dv5?lf}s*`sCXMHUXX0DK(fUQ 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

    f#lyy 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∾rmo1p{2m7ci3>B$2Z$1>Dln2X~satZ-I1}MQ> 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�+H4W42cd7Fzx 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®AIV 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 z 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�#r0+n{CP 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

    >4+!Ia;Aj z1+a6_?Z#JxyAuAhba1qgagS zY`Q+<`@?k~nruz>i9=Z%-({kgU_~#*((f}JvpuK;4CeAK6I$1a-|Bs4ds7R_4(}69 zw*X7$Zg2W75DfyoDzcGby20RPCB8N&YHeVGW;axr|CAu+=TF#@q%1MuLYRhjFQ)|7 z+#*s2JzCa|IfmCCK87h`ZNu;gqlsk)s_xOGVV--AU|d!iliGPW*}vhN${*uv3>^ikOu2zNRk3u1m8QzcjT@ zwf?Q7Y_j~BNcGznp4GmDxGHKwaGs52Y&jb@pN^GE8? z&&tu%0d*eC_kyF#!zV!#1wEJs=(h>F|siU9L){4i9uG&+r0FZlOzh0@bnR=0-Z( z{n{`Ji%RFHq`j}COU*#n_UiHvukDl>=348ec}c53RNHEX*KV*v+7zun^cRfu!HvG~ z87keOYPZOUCemIZ-st;uYI`Pix+Bf5^GB{l@~}qnm~Mxx$)?!8R!me%;dEakEvKFaHIB*3EUCsar;d zLLD(*Xv_{3NfPS0d|))^=eF^+RVgz)fB$|z^XKlhAnM7|%Rfj=LV;Ry46g0eBa_kg zsNYww`)~tvLUHIttPNly4CRYSo1Sr*q1#Qy&lMUPQ|I^^+1Lhc;*b2wR7%CxT&XVX zPOLB4o$WCv$AHe5lYO)~=0q8lwUvg}-P6s5LN!0$W}ec-l(-tVqZPOw8LB6^^?!Eg zO9)>vU8OkSyC*9+y?7IA9(gY4GdrFF4{Toz&z>Q5%cZK1(DGc5q?0qWg(6z<)KwKA(#ye*FmYV8K}x0*u_|YGB(q8 z7Uw~h1k4L6ROD*pQa>Y23+U6~%_S?)BPjDHy?;Ex<_rccCO1022y@9vzl!NGq)A7! zxrVZ_o;1u1sTBp4PJehaGm0hdwSZ`kQnq zS0j&2APUULX0;dh&EhzP7ePHv;fEflaQB=Zr^+KMF-Da&gSr)=YOHzyp?a+9rv6aV zY01xHoO!7vVocpo8rt(%Jv_`vqym{0e{^JB?|n`5)l-WPIaz}2ax74sei99-{ zx2Po)1lpNyv*BnPgKryrb=!_Mt-hva#H};OxuupPuRKy((OI7Lc2F8#cTY5VO-m3x z^^?5cxEjwv>eM^ViPqef>k&!sJKe`K7uRj0;BklBOyO9+rDK>nx+8qEhtQBs;dL5 YBBZU{1I!lNUlz2=(B=8r5d7CM=@97 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

    >TV0Gh)aBb>0 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

    9r5WOv0^C7 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

    |*H@LA`w2$r|^+&A*2G$}XDjI22#SKHl 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

    ;Ep2Iq_e-46kshB1-G0YSqFw;+t*;G+{ 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℘Y__wR$bnH@0{wFJKb>4K4%0joAc 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

    JA#m?tsn-R(4DMHf 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%0AMPGn6RW9?`K#V_5EGpyXUTiK#N6a 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 E4~}LdQ2+n{ literal 0 HcmV?d00001

    ;QM^mcdW=?L@X|nMsIzd@)J?^GyS(n9_|~Me!0kB zMA^;x`8MhWm8WNd%+E*Q=U6vW^zT=_4Lsd9q)I$hBf9TF9j5Df#>+dg=SSc>KttEL z(3j|GzM8J9m_N;n(=|?$c>Q}_cQL+aoW#!np!D4-@;<=$Zh0#feF@*5CLdHYeI#Ap zd-%Sc(^s>;1t&>-KI=#G+;kQ5z5ac#wYol>pVyI|e+v4o%i`~wVSgh&(?nljx<7br zJiS^TfA2zh8TrjL-Cx`qkEeFUNdHX}zt>IozOs0FiYtxj51H^QOXKmkndD72<^O4u zekJg4BmZ{zf$=_Iy5EZWZ^VBARyW?iWU}8rlYO2x-8Y-^|A>j-|CspAgnt_4Z8hOr zP38Hd3EyPm|Hysu{4O=6&w{@h<tYp2;Tj4K4$gpA;S5k3$cU_BLOc z&7BtScTumP4_pt)SHXuU50)j6n;ZAN)VK@`$>-olI0I$XE7k;7m#wO#5|};|Uwa** z4D`c`;_{Gp0_DNli$>t9yF*kCmU$S#PcRQrR%~2qfSh zlvNPt+#%qcAFsX6I%n{#%^^^EZ6zWv(%b8h`TXfuuL+i|p5?1AudJc4EbrE;vLMGi z^JUbQn-d5uD_gs=Jb=h@O6ha@f>wD#6MGXfFe@M%ASvEZOHVdFr@B?>$NGBmXDpOXyrKk{?Jb>K0d6Yl+u z_8jr-Z=C0Z=>Q@;Cu|qY5@BCp?p%LSaZT#jh&;*WyRlOfR6Q}*q1dfB%-r8qIB5)iw?ME_j9Bd|R9O(E2j>kVkLmW6d z$j|@+M+aO75jZ;F-tWNC3D159jt-cbgDxk5qs}%KbM-rLbj-rK2Kr=p7ysV1obEE6 zWs~sXa=heRSzCj5or83U&7$kgmXP76z%8`F`E795n_?;>OKX(h0+lGIfy&k8wd-qw zl@)=SWw%r;53I!5JkU9??6Z}%Ye@M81Ktj4ZTcI{d5+C84#_J*GvuaD-?h+v7VYc| ztX#c(kh!t!O-M}Yu33>&h=VL~h@==`9+@QX0^{p#cR|KxDTwAvaspCWYXg?Z7$n&ZU&jW^>uBa=k zt%#D|Qoc4&RkpS&url^6{vgokkRh6e@pNca^jYkPtmq>PHazm6hKLNlXyNdk_UY*O zHlf5Y9y#h#K@uC-bn;H7^@q$7Bc?|Zdsvo;gQ3un8DnIW z7$QqVTSYpdgojZhZi&Guk;D@H@Xa_qcnCIR#uza@lGwxAJspkUhRhx#rpG|-(XRpE z@SA0r)Jb9;8?PPUFmlK&bv#uYcB`2OrYDfq2CN#No;AH>{_KVM({ir%T}u=2*fiZ| z9$tvJc0NvMjX!GZT0F_kxwdR|#hO(M>Q*hQtesc6y0W$m=cZ!1TR%cS*LW1GzkI>M z8DLXhRaP4a)|RaduJxDueDrV@kAl|J(i8b?MmbLEU%e*3q7Ga!-0{~F<#ci5FRIS* z;m_;E$-%fvRxR`e@Q*@fQ{GB^#s9H+vne-PKM@5nqUAQAVmMJ$&B@g;-khs{@`0xm zY@9hKku&G?apr}yjDDGuFBu20WVa3j^S~{Y>+NccH<1u;A0c-2abbP{|HN?edi~tI znRCj5WeeBT)s|NVisjTqpURWtjX78%UrLZ5R@;&!$Xh(!J1cel zZ#XS5wu8U_A1G5>%MX;PZT1JgjN`xzgJo`Oj=?gwHA{cjnH(5nU@UD-Fff+(8Sn3+my?_i zjHi9p2gcJj@8%^X2k%Te$o+u1+U9?tTn)SU^4FFvuMFUuYWnWE_zlcOpU%z6^G=_h zlRG09JBY7c6u_n=^WN@-(*lbZd9hwB3}MGS*J3Yp(Wi5AbMx|N%*f5laVkb`0yJ;y z(>GPmSXWt&UDp1p1$g7ruyMKy?4_DAeXjTFy5-9&Yw_ym>@}-u>Vjey^~{>uHRY9S z*T%M-I^`GJd^kIo7FcaI#!gGLXLXuUS+UF8u)kC8M7P3tvN^nEm=Pr950 zj}kna-X~#h-$yx#o+Tigk=KV?&a?#2^5ib+8?7TXLEyI|Fc-o!=9xU)Vcrf1%`#?A z>zlv41kZF`tl|zmcQg4l_t>lD^vY&#Um*z|adx97G`zA-OmcJ?R{eipAv1IOKAVx? z8Cb`^o-enQ1ZqS!E-hbEU2$n2n)0ejoI`+D6wG*;cT05KEB1-gO7V$thC|KF1aX}E zyskv=l9*FSRV(`(gkYv)&N3{rKt>lR%y=op5^d;i%qcB0WI;yT{LLsSI}yf$x8bCN zD6c?ZMSXpsrm}YJn$>01D}(C;>%4s&%ggR-6P~dH+fkV7XMSHnGy6Wu@hZxBIhW;n zJ+UiiM()g6v+`%m%=LJtdvk!0XuKFUBQMY6$;r>l@#YhKX$I{PtAQs6P)KVpU8B(T z%6or)f3%{gsraqpFAaYh-FWba>oolBP7yy7{^z}hQYlImrNO1&gQr4&E_#S7fTJ|( zgYvh$U*uc7D0Z*^`u8$gsKSrO!lW{#{67~U3x6^du&MaNMMCNMex%ER!QS1Y zDxM>XLRh`5vq40Ejd=E5z`FqZdtIl6{-^MU!s`pKD_pctyW?OB7-(T~Yyd?I`MR~{ zUj}FRL$CQmN3_ttw9xDO1+wwoLz#{DLv4SkOKW_0@>=ig*0ifyd@V(-t3t)i$LbdJ z-uTR0$BrE{aJ$^so!OL$GzS*rKP|Mhp$Hrsceu62KOE9RZwk)-&`%+Di`Mv(3W^pj zOjMiNib8)a3jMJt^qwG^y=%^u#NnaEB%$>ur2^Eo2xM{dkzoBZzrdryJ8pBGR+)WC z-EIExT(=f#t|z+YNN}arn(n4NhJ5W>YqQ`I@@>OUK@swG6t&j17lrB~TI-d2zM&{Z zp(BEKXonWw6!Fh`KX|j&d@Oi@79M@9B>PA+DWC>Dy*G$F>-X;7c|s4qubXwm*P_<> z;!RSwAhbujV`mH0xv6kT;nKpJ3j<3b28=yAqb@D{lNyK+IuMiKGtgs;xQ*u){DFMf zx=9*Ci)viwl019UB^Rl4om=R1p>F=nv3*4C>m36wLh7$$Qn|P?$1cA#^Xw+_2_^Gv zPWL@R7C%-L`kSC2;h-4?_Gpbevu@&=*9RS| z8*NelMr+x4u)rVsg+KJVKXjOyMq{(NN9&?6LwPP6{|Omd>v-AXxU|q>S5c_cT@`LLpy+KeV%0Jz5m1Y|}zrMWMgwtvQ~w^rq*$;mg@q z6nc`H(xTQUtEiB>nh6L2UCq=0@=t1|>8Jmqy}?Dr&HFN2${|n4EDF8NS?@xFPiX*% zi(lPY6#9l}-@|nc=vP{_i~g=Pzj50XxP}(`jYw4-`nO;GZSP4?#h3GEU(T`K3_L0d zJuVn^`647WVWEawMJE)}P`33b+bWc8smI?nmr7j$bV)dh02ldgM1K}Vei{|IEb45u z$if=vRVVg-R4;!0S?~-kBsvEz{G`a;MejdN#uxd42Q?6CrdW zoh*H*-p~z6Cas$q#E)L&P4^oVp+qtiuBPjh*@PO0Tw3aN;7);;ETor`o|#Q8;&}pH zdq1N~OyJaR$|HI%>Wq6+<5U@hd8{+LT<`KkdvLvI3*xHDey%35IHLn4(5X>G5xQTtou$q;ndSxZJlt zcxi8O-ynH^aB}Yqp-((@-8l#p8+VqXpVH&Qc!Hpepk>HMqD@{9>&N2#HyZyp9?Umz zL}Oq0oCx8e|75i38UpJ~3m8zj zY<#!$)}Q%Xo2F7%j$Yh_Ui@iza%0bESi0_e=t&c`uV_%Y)2zut2kOyer}@@b%q=KF zW!Y&?6z$0p>HtK$aNv{rPtSq5_-Uvy)XAD`6|4Kk8queJ%r6e@@`qj#AeNtckskyC*_@{f`sB%ZAP{ZDjn;RX(?0P#{9zdKxAe>AG8@_ap}jk_ z#lF2+mIOa13I2;o@IhOA=x>Nw7bYNCo;d#0LVx#%jv8uW$hRj^9g=}31t&EkIAMSL z>jMKXk3j^UnP+qVBHQPJIQ{n<8{AMGI?n6Rac(kpoF%082zHz?eI2xynN6s~m>Z!s zGqdUQ;y1UO+8yuF6k_d0Y83DIXFG7UHE25gt#hUxL&RA$>ri3leO*?K#vBn{mh#A9 zvEFFhbicU}qYYuw(Sv9-%uTk_M#I=V8paQU7#|^S7BMv3)i^%7|2}gLoi`hUaMKaX zU-!KyNd7d@{w#qy=8({${psiU*P?v?@}(0b|6)FL=>2!<36(!F-`jXFn+EQm6yeJ| z6u#&Kb}_x{5~KNDVtRKbrgvwwP_(=1c}%d@U56>y>6r5SkuS1M4VG(R-)_)l1eYCX zK!YZN+5?D&(LyinEDHTS@hopQ&+?B9hRXMWNpph5jkn(Y#JXPWyDr2NX_c8^Tm1 z`>NnP=@C7(OxnAHq=`iOC{#>|#<4Sm*U>3aF+QaJ!st(f?61cO6-RucDAxZa9PdUa z)H^V)O4MIhW1{Hz_tyy4;{uKDr+9>u*+hdr9_4KChkivhV=Y!Pf~$)$Zw0SfPD7J~ zp*;0hHDW%Gh9(H@^irqM(s+$l( z#flqD2{%kI2_on9V*{7Wvn~4LLHgh82xp9$8lj2G!TR3}Qv0~Yi$hrdZ)p8M+W$wJ zkC*)uwpVf*yU#EKa|f}xxzk5hWqtfTV11jzBWmI}eM=1OR>-#>oxlJl*4nki6KlIZ zHv$uDB||W=7Ml-FW)E7IPCC(OWsg0f51c*B<9jFdZvwJ8f=zauKMzFT4K2q{-(>#g zXky#S-=4Yq1Ltqa>@leN_cHd{4Esd?khMqA@kgmY^s>HSzO(`36@ASd1D`BpNgu&z zVGTpFW!Yp?!EYpwe}sPz3Rg87~p^KQu6ZNdDAuS2cNI^x@+)}3?2*Pzy2e8jg~4Ne2^ zJ-s;;O$)h15PTE2+xWIY4gLzZZG5|1t@}AP1H6cg<}_2;#cc)vL)r|mM-c0aEWC~` z#(5yPkqCOP5w}q3B%#u|LZunKR|08Jr z?D9{m@Ui@J-o3C(EdSwR5A2|^9da-VJU(_1poQn7{w}2AhC7sCo83;=O-62VJ}(*rkHV5C5?q4>bCF|@bo0MJ}Aa} z9)r(fvJ5=JV&5vYyj{;nXRNU9nc1`hXzZmd%>2=~sT#)oukLSnOZA5rO+`uk3KFrq z=Y6#@0t1ZdQ1&QW;W;8v$-KDn^8iWKM0?sJyHp^nd*?u*X`N-1ukfxDOuBQ`YhSTvZfKn z37a!*D_YZ?4%xhJ>o`qCN!iE(|Ds@HS>UHyvB~s3kLDvivw0f|0e-wt@S&zJQBgJD z2`WFDOuY#?(D^Uy>*Mz1z;|&2EP7(uz#RCB`9aA1pk6*ehyD)ghiHfn+>zkfD)}rX z_$u>*OU)0?GCvq+e(?NV^w%o0O#r|@CMh{RPHLsW20S?EGK*H zjCNobTFSW0*cZ{W>jz`E1B)T8cMJmF-jjP%deQjqqSdCl$-bszLD)zZyWXPHF8fV# z5eoRa9>eo!z#{iX>XFEB!_2cAP}0%(MeesolyyG##QpNA?A@8o?Ldq8j-r*z&`O}+ z*Y`}D%-nsk*14dry4q8-W+iIEt6C=Yw2sh9jb$A-M!$K3j zWWTyG=p9_zu?TJUEXbnag8=4!Mg4Uo-=;hqrMJ;v1WX3~a*zY# zere+f^n@JG8uoW(7lqe|QEgG!Q`|~>M2(R*1wJoIOHiZu1X>^&bQdGcjt=3jLl++# z!C`O0_|%$MT=`Dl5nQ2+a((c=>)eI`oQcbGcvV)9P7`oRcgE#*doC}^a4?xJ-L(#^hpaYa)gzV*<1+%u+ePUG}8by8h2h#Nz8?68l2NB1UnGu z`&`@9;9`H+hnbXj)!}X>gPcu=?`z>uDP|iLz}f* zObd0yriHM9L{1BJ@U&2br-dS7TBuu03w4{Og*x=CpO3WW~+IT4prI|PaC4Y6s|HRc_->+&PKYxPa=jJ!+=TqE_P7hs@ z9FrR2W_5=@bn_s?=1GRI+3+4>^mTFFClNBwk?|_xT{MB@C|W2}Be#LOOw#antQN-G zvBnn`5elkN}(s%|q)3x4(6r zY@9GA5vvWf+|_5KZyYg+_&mx?uD8%yODj$%XuTD2Vpnu=rwR6m*~g((#CiqC?@>EC zwt`{(g2w-gVFip+M|JsLy>?+CLXu5wSjg?p`K4$;Os`NI)}KNd6by zh0yj4e<+~4h(9!%YF<$&KPM6$wbNt<&1l5xoSaOK6~utn?>^}L!3SM`XYp;+)uMez zU;poKJnKAurS?&at$63hj{;+p0>N9uV;lde1~(Kw_j`DD^NX3yKcnGicrCQO3EsV_ zJ32sWej~FfMGQx=rj6|_+C~4Xg)!fC3f{NKY&wMcuFdMsyz_1Rpqa+zUuHJpL?A`H zVb(}Yc@pnH51z_*bPp_z7uK!|+vV$=qIIHK_mo`gzaHbVr?gJIq~P<+_k9X?kzKys z7};VAXZX5pqzCEQTHIOKSpeRmx?-nKH|_Mf3S>P(-R3ufAJ>k(5Y;)j0s7Xi({*h| zN}($qcBJdtTPwE*y^7GJ?uA0}x^eH#49_Th?g)%VFJQarP@l0#rDp&we>Zgvx1%-Q zBUCWP3B6S|NvY?mn{dR}sn(s&9Z21Iy)*E$hkLe8HTXx|Mk8ernj<2KjsjwVjeOS` z8(-w=ck7kED?>J0r>8F?FlmYa<2?X{o!HGNZP$AtcHBHE3HJ&x=^p}&e+R%oNP|Uj zSPAP}s_VP5ccV$)-Z?V77gh-*wu+|r!F?g5AlE2wN4eHpT;pK20lDM&=KtV$R^Q)` z-AT8*gd0&@9bVur4r6>Qt9i_8VtpfZlvwxRu3Su+Y>SR$ucJ!04aU~D*WooPje1Ag z%-N@R^q_Y{`Qg9T(C=Pz=K`iI<|Pg>s!w+Nut{bt#8d5lpe#gzU3?)@kT3g@_1aI zZwt@Q#=KiL&%4FuU-)b~%lKTMZvzB_x!L`X*M0(>@s}kkiB)& z9@?E0`i&NPUNm#oO&J(u3lbVN!twXO@%2;=8nUH5{c5K4rDz%yxaq%B4DF8I2r zT(kQ$ey8?n{J5>s7e)>96+=8<8*Pt_3)a|A(v1j>R?!33E|`ay3@gO*JmqE8)s+>v z+q28pBiDpsTW(M+*PlhbFb&vgeb=R@G_@qC40G~U1UV>AEg6bjET3I4Gu37hePK3+ay>L>OCMJwbkKPG`>eWLO7 z?Zyg;qd5~+$X$lr;UZDALdwc$9C_0TXN5SXOpd&7#@IwOLs(Cz{f9*%uU>f^M-H(n z*+o^di>f3JWsBbm(;u#SHO?G6nEv0Hzhn=fJ@4;$Q=f0q+jHmRPyM{sZO~Gj{lad7 zmZ8%h-Z)h{N^!V)YF2UcpMxJm8;*DDrT2(;`!hgU!1*9gcvveYUz!U*A>ZVGNTd(_B%j#OKE3D}f3tU`eVnEcae~W} zL?l!>BIIGYWoaZhP7D8p7)c#le?mm)ICf)b*{OwoEgnDD5iJy212ME17$#$azYBwE zxjx^x3qd!Xv(_3Frqj2!v>`KE2y)5m~wrhoINFnvtc=?5D z2>NZ*5dBC;+F9$-LMj60J9cgZQ{!rnfjMacS6k z!9N)-7o&)_-~Ek`xjnwUlm`+UsxXUQlVBjRAz!B`0EL!_Ld@l3{VX~M9lui_b08Rc zyb(Ov+#d&dQ3$0h%|&Ap!=4p=C}M^*-|DP>d!nusEyd$Gf2zOlLWh}l`MRN;5^ej7 z!z(cVu@7tHIG9*>W3emFw*^~Jq}z&GJx=aVPqyfFiB&SNA>j7)24vl1Syk0Ag*F&2hF7A+z z#Xwjdc1VoGLt{lN#+hlH`_@mwHC{w@qron=tiLK=VTl%&KYR^l;?%;ME8 z%*Dh`QEuHN70n#mds*LV#tQV}a69bQ#QX=&Smmtf^-gCUt5>nfeO@o=Z~datXZUO_ zG!vem*+jcNie#&W8Ey}z3=q;|Kpt+OMpO$GrD7YLgg`w zVsis|Pkz*PM%M}lf<02cFi&e~5e)Y(tgi1mV&?dS22r}_LH;gYe4n%<2=%wI%X zr{ol!$Wg38ikqFIEhw#<%(HW7fb}knt7{CPEfX6HUS?$Fj{exL9Hzw7VCi}I?MX~3tIEA$;y}=u)QkA_9`&DD$4e98AQSl z#B{0Hmn3F!qVbipc*zqDB%)Jpmi?jZ2c559_kX=wu6JP1-3NPql&YwxrnFbk{`*TMYgx1eqe!Fks;w=DME`=AKb=1FDi|i3VvQ9C zPq7y0oo?LfLBc6k=j&5mSWNm@^7i)xm|x}jf4npD@7Sb9+UK(C8#pnArwPQOX-n?xWuR+uLjBncyRYVS{!STJ*@y4pWsk<1n z&_qAHITSwgz8#+{ZpUF*O)rY0_vC_9(;J!1FQeFt!<%qg9xpzNrL^66 zie;gq(5fwBf&65-oYs!zw6D=}T6S-q60`&#phIBg#lJ~I)Rpk&!-LG9=QQL=oOp4 zn{~JD_3$q5tk_m<@ud=%VT*T!xX{Zza(xl?s}t*kqD3MMHpt=SK77HnT^^?>%T#X3 z#ydd9Wx#f>OZ*-YHZHebIW3QjGW|vYCao1w#c2X^m&Q&-JL&Ycp~q!(K5z_E`4 z7pK!jQm5W?fFlE28}~@O+6Y30j>bLJ1DY?5?k5vPfb(1AQK#*&JT{tOMShshZ`p*8 z8N)xY>LfFwx3)uee#>Q-4tRg-TRBN|8=?KJpBj`N$8&#cwq9}jvEDaw^J62pAL>Cw z7$5G3`aiTE>VrI9&ZqIRzQ|?p?x za&of}jy{gHQWzYFjY8Px821?!3TFfl*{TL9*pnMn(1GbE3}O^f3Iq*UdEx`V!mjU7Q$YG1qD%6$KiIa zriJldz1+YUO2f~&m|dcie&;Th81Z#sfw?`&mOk2|B*$^srZg;Dl;SoUMK>K8$J5U0 zW0r&ds=xhHfA{C&o8{sii-1dP?H9)`2v4CCOz@UvQERCOAHT*jFm?*f$I)dz)H<9U z6`qal(l}*EoU`l0D4}w9%+YC2NG0&( zYiZ(rFD%-`0%tyL!R*xfxTPq(Dnk2UraJ=7n{K^ad546j;SJVU`FQF+O67Aomk+)iffrpr11g;O6!s%D(C}C9 zMtNXN@3yl4=&8c~mkKaxo&e+h0RQ>+H}3EKus@UEIf=E7ANFSyxD22_>ujO^EHxef zqgzYG)^3;hsh=6vHJiEwCDwmZ+==%`wZ`YsXwJ`~&l{lTmWUsyz9l%gY9c;*5TrBi zMO_9Js<;%8nq_&a%n0$l9!yYj~jRBV{>s*O887s_CF9{(n|u2|2crM z?8o*Z6VaJ^!KT0OQuVL0li1}h31#bzEX_e+@9>%#NB2tyDaV!2X$nh6V&^l7I4 zj!)qjFnjDgPTXhH`2c_rKra!^g8+JQXdVR2E$IJvwn|Jh=zH4ZW99huJ#q_tSQ>LG z8{n+7p_i`#&;!^42)*chw++xs|1OwVb~{(Bf$faWJWY*$b9!Ih$9m^ILs9X8gRpf` zXcJbV-o{HbZhzz3hx9Rw99eh!8(&dDfwyWlVQQd&d-GZ+{i!#EOr4c%7t@w@s zx-Obc!aE#Aq4)42P6J-VX(`5FC0qdse0+i1Cl#^oJgOy{=5#^vI@wzv~S_4p-DiDDewwhInxWxb zpZe`&GSo1xPd$9ffY+xAlj$}>>r+pin#4x7dK}O7sghXxi?h{YdnQ`zT~Cbx?(f<+ zEZbAeh3W}T(pqnm39t-}G{)eJ$JfS3Vn2u2UKg9sGLDz(lWz*HX&3P;n~Om98nC$*jpfYf@n0HXEuwSgyE^|)5_BDA7Z<7xi>jMlU> zL?c@FJi7Z>BYGG{LDSgo5ADV3J{r+|Xhh}QkBkD)h`x+Qv=WVIWjhWEKqLANHKKYj zP`E2?3b&ziref}5DmSE<_PS5J)0w0(^@oc!(U>9w1tZ*;)*B}|4UMU1BKiOHc>+u- z6=3`_fZ=RRV-sxseqWCIjIrc|V%Gr<0*dhxXAKK?b|M(B8A853X9aASOFQJ8h zNgea8H05h4nQx^k9VuVJF1lp6ams8(nSJtF<+_gv+VRR_MOl2x_f+MU6-bR|TUV(S z{_+1vQ?AE@pQz)XPE&rS-lQnsNXhtVy3(6+%A@JZ`ze~D>`Kk}L7KWRHRC&J>R(bX zRFwPD#voaHnhQyOmzMG8G_@@~>p=l-fG#bh%Ab>O1DD z%+IUJf^sSUn3{1*=3!O&>_f<)(9sPwNR?9>Qj~6WA?sbHC}pQ0LJqFf(~VaWJ^Q4h zeDaiSs#3xEJEo4w&%9ez=0)YXmHWZ}e)W{Us>-)ju!DX3+GQ}$ww|M&s_cZ2o$A>y zq^NJJB|l41ew=by)Cw#!xvnQE8x>{aDZf^gd(>5IpYclabWUi-T%P$kRry5JF6R4; zip)Q&%GzkTnD5Q>=6f@}`QD?zi7w3iQmRrh?w={j=hQK;rYLPGC%=%QJd#2mkU_be zq~P;&>rQz^RYFu!{OmSGx$TtKRpkr(Z0q^z>B>cla#1=8KCEW6tLhFl<8@X2xq7nE z=3BR^>O*STly6T^zpYOB{sgs4rE_$DmNMnb6VxxHPWi$Fbx-P)&;+$TZOYdssL!T- zMp3?(KIM)H>XGy*|8%QA88zi^ZnbIjlml+{rO{K~a;sl-O?lO={@OL=MYq~MX3Fz! zb^n+tzjmv4W!!_>dEdCgkX!lHxQi8~VSM4;Zsqy$nTpaqKBK{{{OqK{X15Z~{HUUI zW){Amsr)lD0$uP=T*&*y%6dgvUw9x@d785EvYOG8s@#`S_;#xDtCV?)@=$8w|D-Cv zOGOQbUC0I>AO8hanSX_%+^xFs>$_^kbE^8J$p&TW_2pB(;UWt>pf8&a`vrqk)a;~DBd(yipO5R!jPEi(}bRbFu$Q6y;@UFqt>X%{}2uIx^`@Na3#57RTAOIQD$p7DiI>fNIZ z20XTPmU^i&Q&DDSJe#7-$@qSX^2xD}rYK8J`G=}(Q#1aosy|R~R!~JXzo#nis~NvfRoYX|`0rHoCK=DA zD*s6NkzkFoI7>a{oQzIYot@F4s+Ae2o@>yyNvz;E&6B=0RcTaRe@a2cMtkuCb^P6_ z$}iLmv>0!w6Az{+O(_{5c{61UNcN|o>k(y~UYGH-%7qHOCS5n?N2$uqzXR*-DW`|2 z28rerv}9|H%cjE%m8&zpm!e!V_K_6j##8>TD&JHydR4W9Z2kF^jIX4qTg`hOS6)#lHu)m_s`D9)WO&> zVzA?>H;wrx+H1Iq@>0s=U!*F(PkB@n*D>M$A^Z-hXaDyoR8h3q$~!5p_tKSPDQM&# zOP#QFlyWfDeJou$no1`6UiugypH9E<59!KV>FDPKBk6Pf_2K^7BUjm=C>vZqN`Y^| ztG=U-e<)SirDoids{B87;+?6=AvNQf6y>`qV?gpmO0!Vy*w#tv*yR~-s_JghyF~Tf z`cZYN@+n36RL1)#{)~O-HOHZQdP2>3MO9l;+>emw#40$-9-o;+okH`hEI@;%+~ocS zA~NdWj`g3{>5> zRqV_+uBnvd@)t&NzFKzs{Sbz`>_RAQ8)Wn zMq5eF-;nxm>Lp)JQywBYUrx>VLYn$@lJk?)3;&p^{5v%xl&0RD7L!v59qB?f6W2Km zF?}|m`(o%jUQxEHtXkL4$Socd$B$8SG(DXWTT!JyHE_ej^19k}mATWW z=gd-O$9__7qHGKapmUUuk-PD^BwxEKH&DK2RZSf%`q^k98d!lq*T~4p;&Ek#)G^Mj zq#5He%!}z0mA2F&jzBz0q)ok*)OZ97l@G0D8u3!(B}#F*uX<%=c_m9z^GKUmI5RFZ=4>`{j=S zEBa@6^$+mM5AQ1FN=1%Rk*nxm$>7gpD62gm_jrXuumOEK_?#;}t8q?qO|aH;!3CZ* zbwR@u#lPGm69lU&SJNku@s;e_O8Nk{NQ8{ntPiZJT%|0lTUlLk*~-=B)pZq>mkAHL z49^2=YSvy_C2~XuLGuaF%EIDYZt{i&xJ_Km_d2@2&-HX81+DZOYWY@jte%gQ{A6;> z`kC*OrPuKTO{b@K3a#W=J$K62DcwNjnA4f>hg-f={yLqNepb)*bVCKLg!vw~K74ApZhxdVOPU%dt@$12^2@)KLe$}Wki2maJbj@9#lOG=#5N{-d@#9Rjc z)Jl%k^MOlBoYG2;)$_z$2L3de9M=F@>*>r;XJ_?X$Db(hUF_qatH01nf1QsRuRk|K zGu=qvx3R!Bo;T9(TljecKR4^`^xi5zdU`Y7>baTjM87xtzkaXlt>5b~*>fE~(lAl` z!7d?GNv)UlClTFn=xQa$>iJOXU?s=u`G@j{)&f>`wt7Ca(iO!@j@9!I2B!rAIXT`yV0qo@^5Duft7pic{u>v}x>~GqVR}5jtfr=V zePH=&|AOh_VUD*%PR`G-T<IZx@yN`rY`B}dD^2!>@t4|reTsq36MP8^Zk`zEr36^DOK~I)I zZcd&T%UroLa!~}+xCnURCaw%}hNcYc?KVi|25-8k7qSWTwNvuKT$5+z#yl(68*e%3 zpNgR-m^@dn4%QilzsBlBB5iD4AU8i=Aw3^*eVB4H%{n(XI!J9VJtwX%>%vKFp0(JV zS#hZx+t8{>5f-%3#5N0tqU+m;S(n<4xq2qJ$V_YNWP<6(yCykSaR};DUc4X1HWQE~ zW>`DJjk)$IZ3{19EyjKWk~z~_CRfUQ{ll`+hCgRo36??w*R5V#Sy@q8VR+6fC96Q+#lH1Fl9@nzTY|DKqLby%Oa$|0?wDyu`#Mi$*qHVi@ zq>1fi>#k|+y(+3ij%~Vum`f*0XD?Cjh7CT=0;k)RuT3(0dGRr;?#?ocHjSI!`{&Vq zqJWHuDI7EO_=X(NE+S#H8TQKP_0njzXj+?QuTR_;pO2aLQfJ1wcKrS(p|x%6l{~e* zblt@a=7I`Bu5BA;m(E_IUgSnAv&dZA2Fy00z08F5P;T&|tmfJ_UP%+%%TCn%7)1BG z=`yCZl|0Z0Y?`Sa#BFJlr6!Cv?Kp>F{nT^tv6!tvt%B$qr^Q#5IBSYpCybdl62=@F z9S3j7XqRkk1LQ77VGP^8Mz2p+X>IF7G$=N-cLu>WT}~{Xwn%C#*Vc7xMnls~jh=C< zr=cp&90~6kGBpS9K(^+z_VV~J#c0b|Ma&-wQx1uWgEyl->k_{^SX4pV&Y$g=D4A_7 zFv;VM$0To>ZOGTuE(roS*XUcUQ5`Mh9^gx?1^M@fmMZ(zKVA@LI=P$h`{ z?@59$NP;g-f^SHIZ%=}cB*FJEell`q%zvAn|8X*}=K*glzjnrZ$4mTg0gU)381FtQ zF@87W4>8`#zHYqONtYGgn*?8y1YeT`-^O^HTtQc#^6y~$OF$a^Z!hN$Z={OrJNVyd z-$T0nIAbT9?5jK^)0N=$Cc4c2J(2NV9F>y@pUrqTD{iH~ml0{CFWnk_(P0e zZqmPk@umDik=Z^ijQ5JO3Gt>F#2D@KAme)&e-wD5e?6w-aXu4WX8sYzcic(eQ}#&_d&W4g@vddBzA%Wk-E@!bA_cGo} zegWg(1b<`szQ+0U;PraC*bV#WSHO5~X8Yhv82^+j-u_3KzdKj*KL`D+vH#rmuzX%X zhQVcJp9aQvfyUUr?cww#;^-wsxdQk^_HAQ4SCc;acQAe|DUqOkjWC|O=|1VZ8E>V( z8{e{`%Syiz##_lRWjxGFS0DK`jJNWS2F6?YM;qg<^zUZ8M~Lq$|4;@ZDMjIUulH`A(2 z75l%P@t4U*e21H_$p_v1Q6S7;jZR4UD(auZ{5;QcR!xwKJaFB%%K@-l~1}%$JO<CeHs}51*l=v&&&FGu9f;( z#b;i|TgfkA{1nNik9|v%q_0ULzk%^q?MEaD|8B-x*{6r`R{rCqju)4e|I{$v%03N@ zx02t+_-vE^6ma=O7D@S5{?o&FEB`sfcq{#s>m+|G{oIVVYM)9OZ`D4vG2TjkdlLB_ zjQ>bVeEhhC?bCCEy?y9hLAtE$<7RvWG{*R6GxP6eyp{evjJLAiA;w$9Cte)SLzh*2 zQp$KM`8ABUlHb61I@rhSf0*&^ znFfwQsybbnn6EG?DL%DxSZx3X^= zPbTHnk{^HCNaaq-0FXOG`7ckyRehK4GQ{(%eBDPP>GAZB6K5dM*vQInX zt@P_)yp?_t##`CPU2bom0>)d(FJZiu{8Gk$#AKhUuS>aY754V&V7!%mB8<1vubc5! z`t>k=4%A2#UwJF-?NiElEBQDrM_g9&8yIi4PYc_pW4TOkVG%mt;*N4N(#2(U%>deAVd7nS3ct@%)t1i5B?D2 zt?Z9;?Zjp2pNzMP&q^4dE!p&u-@te)`E5z$w=>=xpB-lZEUl4(t=hK+#*eqquZ{7$ zfj7oympm#Hlzv9SQ7Q59;T4RpS<83{`sSbUR`zXUd=b(o@}C~YTg7LdpuK!A=$9YmHoOIp9eOH>Zkh-$=@SE zpZf1*yp{X{##_lRVf@A5Y_#7Z&R@fwQm|G1Y-hZc{W=(LrC)^cR{C`_-qJpeN$kUT zEBOVCw~}AN_}3uDIKFIR`*@q|?Nh>dEBll(-b%k3##`yvz<4YBL>TXpYNC|mubw3G z4<(VWG)sOz2T0_<-Hf;LpF@ndvX63?c@C1`}8p0W08NQMIx-^yBTjK-@|xw z`_s<#t0a`fK8&}t596)$Yh%2Xe(j96v=8Gg?en=L_F=r0d=KNvKF0Q^TenX*iG3Jv zX&=U0+K2I0`n5CO(mss0w9n=w_F=r0d=KNT>Q^`8t?Jhy##`A(X-%RZ<1O`Lyp?@Q z8E<8uh9vUalE`moe37YtKg9lX=<_mvR`zk|lI}g?yz=BCO=Q8E+-u!}zR}`1r^DP06?5ixOJdrTV|Mq+B_3vQ3 zmHrXNTltrApX7g@1bxcS%XlmM6)@gPehK5Jo9tK5`D=T?-hLg7x3XV^@e?fc?@5AJ zw#bB5={-sC1xfIwN$?Fx@a;+PktFz@BzWb^N%EfrUyuY}ngrjF1mB(nA4!7mNrG3t zk|h60@C8ZmrAhD&N$~AS@R20=o+Nl>Ym)pY!51XKmnOkCB*C{Q!B3RxE9z&jRn&U7 z>K-@RMQ27%#q%@qryYA=90bVq8y`53A#C;D{w$p4Z3^>bkyW}9nftD zUA6I_~!p`qhJ=YhgO-f5oNy-_?z&bWeV| z)4UU6R~>MWEA|&dz>8(0Q3|sW~5p{5}Y}DyF0T%i>B< z&v$~Z-2uOYpxfhs-$YcN$fYvB7nH%SqV&fo`z_{T6|)z=3`nLARUf?D~&KK^I{< zJNvy1x@}Bn=U0b8*TZynesv~{o0TKW*N)#D(3LQq9lvVOwJ@Ds`Q8h<8m7Zfc_r|J z?LaPOI=lXIpMjsphTk}JepL?i%LARBUpxJlfNpVK^7_$4{Fu(Jd>;c{KGWIR?={eQ zn9feWqo8v!on5;-bsX9&rn75zi$Lc@zaZ$G==UJ#TBawr-%ijqFrA(K4uWpWOv%sA zeiOl@f$8k*cLnIGn6Aj|SB7@H0(5Ommv5%ydurDeCh_hr!SVY(?c{0@Vz z+X25bGh_C%({B#w+L@nSJ5+7pXJ@~A4gBovw;gmXEZ5He_JK|>UpxOB=SF|zz%F^9 z)A`xyw}kj{`P%hwO`wY~ot^(Z2D)ubXJ^0HK-b1}cKRI!T|Lv;wtpDpw=HAo06AdHvl<`Z1lI{SJaoyTU>HcQV?0rn9r(6`;#vI=lF)!obfizS<1B zdsF1UfI%+1YO+=(3p3uKqp>x&o%N ztG_RUZm|RX4jcH{>38Nt_+Mdi`^^DeJJZ?OuNrhMOlMbr?*&~A)7j~_9dwJC&aVFM z16>2t+11~1lbq?72RbMEEdgEq)yeJGMEsb}&VG-9ZZXr@+3z*b6)>Hh{f>ezo9XQA zH}zD+r%Y#Ozar2%(Ju%(C;B}|{AMS&-%iqx>Fn%x5On!WXJ@~OlhM8~ot^!z0G*5J z?Ce(oIxo}N*>5xGoapz2L;dy=zd6b6mzD+nn9k0Amw+yd>Fn&c2y_b5+1YO+==M9X z-=m;&Ge0}~z3foG!w&U3^E8yNFS-5ZfKFjLJNs3GZodQj-3z*I2lm?zx=yCE^S^zd z>v3Seai=@eFAsE1^jkvw<|ema6X<%F&dz?1fo?a`+4*j zt_XBhOoyShyb_F~f}ks5I=gYjgP_Z2I#gv#emgrhh)|o>ZdS3_2&}`vmAZn4ewy zvKMrE`Ceg`Yp_e&SuuWg@#!U?>twlh{;bC)sL4!=bA71 z+39x}bca46>Fn%xCI-=an9eRfokN3dmYZ+3Gv8DBR)a3ffqwTI_}S^V9dz1) z=*M(+_A3HiKGWIxUl4R2rn9r(gP?OUon8IiY2as9e-DB#+kt))&q2K5K))+M*SRpc z{VG7$!E|=^+YGvvMali|3DDIrot^#mf^IR>yj&2)D58;3&fbf8}z=-M6Vw*+)8OlN1m zCIdf@O+Fq2-4+M>y#~4l2l^cao$h}>H_J7|2UE{Sd0d~|Pm4h3VmdoJ2SInpK|US? zonF3ne!3HM5eIfYXy9jO=ZP1@{Kc*wT>(1XU+na&0G;kHkK5RJGw8A%*!c<2c^uez zFX;607-g2r_izCv4U61*dD!LS642@8Vdu|_4E#JcayNo*zXLyb6m)w1wbSoq;^)AA zhe6llzc!~K9q3mC zx_qXytLH(`MVQX6-+B;qolIwE=bfO_%frsj2SKNoM}|$kocNJgdDz+c3ef5N?Ce|t zx(3dNoqn4^r-3z)cOlN1mv`e5L)7j~F3FxYr&Q8BYpetdz3bUOJ z{pv>0>H3wJ>G+=7=SM*oaiHJJpxfp^zr&#GxG}l?&ip9&F`b?L=727;MDnwKv(a8E(p3B2XqgDuF3)3PSBM) zpgRb<#SZ8uViKan0o@g#(;U!MfUdv+-Dc3`JD__4bY2H^dqJ1&fG#Zu@uUN~OF)<9 zfNl}!+z#kAg3jfD?orSw4(MJ6-MdR=y_{fEj}C+GkOR6ia}iHEpqm4_9tU*Qpxfhs z?q1M!JD}SRy4?=w_JJ}4-*4z7%#?hNcwTiiP!c)2>_}jC?ly07VI&_W7z4$xy zQtkU8B0$4~?bOw7o3i_IEDTls8Lzn9^6MX`E>?QqPmFZ%BVM=GxkL*bA-zdK{ zrF;7(*|6z;ksw_W((N{<+mSq76VlcEKa;$Nlc(E`bXl*-bo6~2x?CGf=@QuGFw&L$ zw@eo;w-u&zru<(gvNiow3@SW(P5Qs{srdR} z$nPT1x0~r-x2C7}Z#=&>>GNZ2`X^|R^E(s$1BvOWKJNp457X0kfar4FYN9ulGo?Fo zG}@0IDd&GhDx@nnrAy$yi;&LqmQ44ap6)99bmS+Sk#5WHWx6-@bZ3~-8T@xU=FN7Abh%D3(VOx`atSOl=_PZD9BL9%-=({E&-PcX}B}n%&((QRyrh8f@Q(QkZr8DVC_MrD~O8+U- z&C=67Y)Z$^i9QeXHB3KGr@!4q&+`mKUjh0yreCPj2Tb(5UxDcF1^pqW$B;=}F0=pe zbE4mApuduzyUsT8H|Rs}-ze|N{L*(v=yDz7i3`1bHI{z{2#!knhXpn0|7xO7VAmx` z*ZICoN8g8_%k_#Wok7lK&~HhR%?f=lLD2V_=o9$!PNZ|E$#hYFHtWZ7$X1E)*2=tx|Nl)j_3;xd~rl)p>-oJ5=lk{{BprHS* ziQW`nQ$DsMUH(ZjT|}gUeZOu>$K_6P4uZZuQ_|CUm~^?mWTH3KE0QDLznLJ@y&zI0 zNXPz5au$ul_=)Lv=yKND%b|3ekuHCtltbrz)8)FslrB;EBVEm@G98`ME7IL$N@pma z!=Nw8lJs=$v7n!4O+OWrM+K*w=x18fF9N;yOp`trCZ-qV4|?|$=C7CkDJFVT`BS>> zNVof3nJ!wMV@>H2l;>fjYnUq2?Uvccc*&H`P@YpyfFFF(x?H_Hp{%zTCOM?v z5~SPB?{(Appme!ju}^miXznF>{JwCsKL5d#&d_e`1bxp(P4+X>C$Qg9r0ev`bacKX zU9LAwa!mOm{qi#5Z@Dtv+agthbO!rXfWCX0q^EPf=yL6_mqYe@5b3r|m+4*;sgUj& zQ#w<-OX*%iI`79!@*Xy&Gv$lY(fc>=UT#YFfGJ%9d2^7i;3}Dp&Y_~qb-O8D0(l#e zPT!AD=QD|PE9}#e{hvU(cHXxe^$&A8gMaJ;eF^V}qjQX$$ocUDigG|z&UygwZNS?B zznh|b^j5%gQk9QZ0@mYxDZ_<;&*9z+_$=W0fCzaeO<_2hp_}0tz{8;X>-{p_tAOW$ z@Am;O1FQ!mIV%C50$o1frMN#C@La&3--j{=ybtgqz`Fp`Qk5%j2RxdhTv-QrHPWpF zEC8GfNc_eEmMY3wzqwb!R{)9Mj{pfD2Bds80$zaob^QDme*Ou-Y&^dj&<8n}1KtdH z9^hKQGXcAi-VI3kfAve~KS2KiAf>bsCS%gofTZ7a zK;m-&An}<3NPH#(5}#vVlziR=Bt8cLiO=JJlx_v!UX&k8^)&yN6-oHGGCf&Y7(EYF_< zQvU7+r1HETkjir&;3$-50pP!pzgd8VNOvkA@%iyRin0{tcs;{w0Ey2GK*CQ3>_$G{ z`Mje10`QN3l;7V068@)vl&_}&DPKQi_!z@)Fnkd3@1Xk(Af@{VAo<}qK$7>%R;lkU zz|qk6IY9Ei`vHl51>mQk=M09I0aChC8UM~^#IMlrb-)(@Uj!t*o&_Yme$23g;kOyi z10*|L4mbvK^8m?Crvj4Px5J8ZJ>>p~;r9SZ?)`v-zZDQ|{#iEw{upo$Alc^%#$U$p zT!!NqzV|uoBTZ4x+6Q<#Pc?I1A<^hs_jRhq7_gf_VJ0Q{h29WSS09*w8Xb(busX8==RuO|S7 ze*hBS6@bO$9}F)8B)O+D{+(t;xgYXg2gJPSSuX+#{{R&J!LWnjw;5gtNd9pKU@GKJ z1SJ1B(j?_}0e%8AH>;fcxwgVEM9|Hau@Iik5ML?3%2>3Fd*8ozxbq(Xk15$hY?@fxb27Yk> z5NjJB-33VL?gqRP`M;jwHGm{<1|Z=l17gngtamnw`Tev02axjjTR_6^;QMC)Nx#Pd zDPIpV{vO6}0Hl1C0FvM20Fs;w0V&-SKuY)i22?WG;T^!oasLOvak&2lAm*#D+zCkO zo(4P!{MP|VkIw;8{_6lK|MLNf?$~E#{{I9>`QFR$M}U;>R=|%T|1%g~21w~n1tfg$ zdYRup08*UrD?obw5WT?3egtmObwKYcDBr8^yv z(wzcG>HbwO(;Wt+bo&7*-Q$3%fR6x@e)js04aXR2YedzXE1&o!++K(%75YcUO+0}X8_3#jez9etN3{l zKX>!azgH&+0@4?C3tQhWU=K#C)00Fs_>uT|*N&1Zd+;lqF= z_bx!fmjaT#76OtVe*%#F_;0m}aw`1wS-|h({?*UOd`19&j{7#ilYqYy@c*-SCh$>J z=ieVh0XK+ytRh3*a6xCXk<@Ki0+SMOB%rBEXF>=hlFcj_Tt^WlrnITHN~_kXb)hab zic4&(j-r4ov2Ijt9am7QrmnOuyuat1-<{lhGg~GJ)&J+6kNC}Vo^zh_oadfczjT&^SuDd_477R+7$vN|25RNfmx87s6Pu7yJvuMzIj189*0x^Zmm8ZFM%@N zJPOKrcQq*GP6Klg&%?+upwv5z`b{-D-%FtQ@iZvyza5+ndzUc1iRrVMo&k#e9jO0L zwJ!HMDCM38#omKVzmDm{!4na`O^fiJCGaIs;`l5m_EuBA9hCCdgW}K6sK1E%MWDph z1IqX|7L<1F2THk-pp^UQEQg~O{%itee0u?01o>f5`oX=Rl)DX-@$D*5{5ThscvpZD z@8dwp_i>eu_p6}9`5E#SP|7U?-4btd45;Ew{iaGBU$lE2=mJ-R(*E1Qt>8tV*g1!s z!}Kwrv~vgW4&?iEp{{=uDE40^yTB)*f0X+B$g4rIdm1<%{_RVS0;T*H3$*?f@G$uG z0C)&^GbsM81jWB58&T5U?#W>6hB))@v|6|d{f9DGW}oW+RvB3N0IL_ zQ2e|f6#IW9Zve&5cIq!B8$t2&R8Z{i2ObVTU!JGA0Tes;gQC9%90~u<0r4Kr(dD4{ zc?Kwc9t%po!^xePzM)JX?|Z<9knazm_<0Q|_OBp=p!j(<^%dk)Q0xu|4}pJc1DcP3 zQvMcD^p}J9^`_AaK?is;DE>_Y#lL+)$+t84tzVCupMf$yZlK%=O8%cQJpf97C;}zU zdEk0*94Pf4K<)uPjr1>ns`nLM29;kz_&t?836ye&QUA?c?PoVA=ldp5&iCJdnK-Yn z1m!w#`7J{F_uW8^X z;CN8tbtw2TPOW`Fu`>h|JD;Ae<##|Cubu)W-)d0ea|I~v3WAdV9O@T=*^p;b|6@?> z9tS>y^l_k!OT(#u;wO4sx(}58`Fl|M%VJQRE=YkTq3Q&#bpyc~_ z4##s);`I!93n=9lf(M{ohmm7IDL0JzO|!A@1N}O1BX|!e?Y|9_xLpW}oyFvArXK`K zJBNTB$oEN!uKzty?EjtI06qo%L)70*-b`Kwiv0;-ChGrUmgdKx*m)TgeFyko*twDN z&%k>0lU+gacPJ?H?JrKz`QHL%p8G0z4D!7ImV!@$_aOgOpv-F*gJSx{=h@$WuR?A!v1o!^0C=NeG#Tm*`p z7EtU|gJNeqDCIU4V;zomuLBmG3&=+BX{4V9%06)(DD{2$V~1l;_;Wvb7bxYf21S1kcrWy) zf%kxgp!jthDE?=I;@>`?1wt3kHW5QK=Gp* zY(V>WBR@G&r{4iedNDZxyaM&_2QCMPfl|-6C+Pg2lW&3I-$qdU?x1`N<%=mVAp=Z5 zjvNKb@%Yd24#)i{|94Qvk>|*VKG1lNLM?;cRfUkgh4Ge8+X ziotCdHwr-+KMrF0C~ySMhY?KwIv?{jl>Zkfc3uL-&drp6PT5b{OL>3FJ5YXMf-e78 zP|B~MyqNM7Q2hE4I0W@)gW}gPP>#$bapy<8ik3gBfWKlj4tcM*3 z(?7}8`CkVmeL3ZGK`GZj`Aq63gVGNQK})`DW^VNmQm0E(R(K(VtD6gxiy#m)>+ z%IyS7e7bmu}B1pp@GHO1br*lbCU`xuAgBk&FIL-0B9-{7CYZtxcHUGUf7CQ!bU_8!;> z{sUY9ehkh6WgIvTl=^p}{ONctuK`7W2j%lAS5VHSd=TZ2j@J2K0ma^}l-nr>C>K%Q zpYjfrHyowMjWGBv;`1OV`^CQpOW?;9p!m}Wiv3BHkD~n5ky`%_DEfOTUr+fgP{yS* zz@0EI%?8E38x;EogRg^ofl`lrr&#Pf4T^j(<%>bF(*UBwoUjNKJJY~ATyG8sYrq3Q zIiL0brGM`X%6KE+;gA6=WlMCV3Jl?V13J zy}iMoAU^;6p)U6nDD8O+JPmgL2#VcnsXv!2CyU8rL9u%{D0X)QPles*#%j9{fMWM9 za5n5-4T|0KsXrBz@-smxpAD9v{6W+Y2c`Trr^9gy%D)Fn`DZ|B?=7H|{~ajhmx4Z& zuciKUP|D8&XQF%oDCLi$ei!o7G1}hidFY()QjapCRu8#qO=3*u50|G3?HyegY_Vj|IK3yDunqzaFjay$nkE=RhgH8k~mm zzoY(gP|9Bf7NYzDP|6ome;6p`4+5q9P;d&$e{`U>{~{>mp8+SK{Ay6j|AzWTP|7a? zrF=1X0?MCA{h^?g9}Rj?en(KszjuJP9|ooTy`Yr88pKp_^e;d;zb*vjxXuQ}j=Zby zMA*p&#m@fJfBFM$XA3BHo&m*=he0WSGbrV+2aiK}d3T|dUqHPF6hGu0iBf)F@JA>= z3KT!S-Cx^z85BFuftVtWzYi2US5v4Pq)YUfu;N<=@*++Yf^(uAr2^8pM=g^e;da zS5V^O1I3OPlyN8zl=1o)Q1&Yi24%d;1jWuC2Q2aUvRP6`F?hFu@-qBM*v2zS4`M%y;+xZN{ zrE&agLg*g?MSl$_cG^I(Qv>3XH+lgmc4mT-&k0I9egI0oulJ%|5SOO$uYt-gsO*Bu zE~xB+xYUeZ04lqn`Vd0&LN=KIS|CqG=3;3cHYm>`Zb`~ z`3op^t^+aTjQ%j8z4@-@oPcx^A=F*4}#)n z6Dav-fjEUmPY1=%Y*6wI2gS~|-EsdNcHRTU&RS5l0~9;I0>w@Ph^{$$5h!*_K*={6 z6g&HX=nCV%-c8$i29)w)P|Dv3;?R!17F5R#l=6F%|K3&Gc^^cG$9I9^&tstE`#pID z*+`xWN zDC6JD!}L1)Vo>CHln)2R?$ z?+8%hFcy^YdKg@0ImskkKUAlm4~oA{AXNKI2l3x%C;s;(((!Deio-v5(EelZQrSZvQ`d)ulurP~ zzg$r4A3*NT^e=|UZCyM+hX09wFM{IVT2TCZ1e9_eWDC=e2E{)-1EBo-%Ar1^y8!WT zH7LjF=b*&50u*~Wpj^Lj8C0?i3V6<0ZiI7V&;4+kUQo=D#aZbrT? z@I7!n_zoBb-v&Fux4;hYO>h+$0Yl&$;7ahHU^{pi>;^$Rk3F&llzQtyskah56byh; zZz=d1^7+8OgI@3z&;z~<=7TSRE)cOBISzaQbb@~aGr{M<4Db-xb%1y-dgNAICslhv z)n4#m=p&$NFSr5uy1-|__2AQB7<>xs1fK*u!1drNa2*%|aqLE}1fKxg!5_kI5PS@B z3#i%)s`i3orM;kPFSrKzeBh&?7Yu_Q5Pe}}KKL-`0v`g$fqw;^;9tN@@Xufd=#=(? z4?y0EL0h#KRP6=FNP9umUa%ASy1@Iv_29i=7{qssMs|YtfF0o7;3^P(a%2d+3tS2Q z32X-slJ6KK@YeD z%m*>1jdX$MfaAc$pcBM*0Y_$nO<)GNx3m|mhrAV&2i0CswHMq=+6$`of@dRN7gz_b z2W!AESPgc9i@*->EN~TA1%|*%a3#19YzOz0_JZ>vw}7g>plYwk(q2%t7py=&A6O20 z!7|VT2EcsK54ymgg5$uspc6b3%mmK>Gr$aKFL)Z{t(fen_JXRt;3#P?sM-sbB3~DH zD!3k;4TixIuoIjGc7UgVt3V$Z0#624f-}K(aHO;sEP~tus`i4ay&$e#BLkpnFZg5R z^MPK_3l@SNa0-|YP6l1zByb!!5p;qcFcUlp%m8hXb6j|W@~=7Z;eF7PMdD$J85P9ad@v=Wp!wSy9; z<)FkV2uhqL;B~AfQ;#3MsoP40f$qN=C-2)yA=7TQK1xo!POeUq@tOR!j z+d=6!%fSN$Aa~s6RZTsfC2CzuoN5(`oIH0FL(gx0f)h^ z3(SN(4pi+0ReQmmq`jbOFStMQIl%qEt(cte19pRZgPXy;f~u_24Kl z4DKlH1$TqI3RLX{ReQmq(q2%t7u+5Bg5a)T3%D~_4~_sU!Qo&490rzxJApoMN6-rn z1wG&n(q7O3c^s(P3##^lL!`Z+YOl!1=K!~1DBFrf#y4O$_%*m0#9Vn~1pF_!5&RF> z1#Sh`gI|JS&>`&wKY_doRP6;-d%v1^fuC2R{TW!GD1Pa0^%p zegOKw_dzeX8T5eP!mbN^2l6;jwHH+F1;2ql161t=-$gzL_%^r|>#;Y%ZZHCF2HyZ9 z;6K5Q;6K1F@O5xK_!<}nzlPloa3kbZplUCu+6#Uq?FChP!M`J45PSt}0bc^^!56_w z@C7gc{tYYzp9g(l7w82yfFAI_(q8as$m2lOUhp);KNBpM;|r?xf@eT>fb+nuSRYDy zH@FM98LU8hgy|c>$02ut>%jG3F&GAO!A@{G*a5BuSAkD}AutDA3H}&t2lK$?-~=!T z=7TNZ>0l)&aSDL{L3>I;@yiE3BkcvBlJ&0q=oa4@$k2plUDpxwIEl?FCmOpBKCv^niDP`QV>G7kDQ)4!i?& zg13X2;B8+D+~cY~_E;PKL45Nqp^8^JR{S+@(rU;yj{#h(svA>>t{ zln;U9Ag=_E0NcSiU=Wn{w1A(Y-g;2VSAw^q{s4G0SPK3D^no{mUhwyz2MmGv;0>S) z{2e$BydHFdpTKSg_*=*$K=H=`O1)dLAMkJJaZgy)yBWL|`6A$NKwRS;*MME%ufg@; zRbUvr66^%q!4B}};41KEU9< z7kDwa9t?tE@FK7i{0Meef#*XGf#T0fQ0i?5KZJfcDD?)x3y`k`JP)h~mw=UE3m5>; z0ZYNfpbu;YyR5pEAk$kw zi9Lq$RHUYJ*1O#kP$Qphh$io43R-H zKzc|g=^!J=vOF0ggJgj8koh3G{4f`IB;xI4x`T`yLwjV143Yt|6cjr?Q0#b^?j#-L z*6})DHz@fcplUA}B7$pGmgouq?|9LDlwhzybe(nC7QOiWu@hi=DbsyS_b}Z_I>@bKbop*j%16KJUWCS;Vl|N*N43YuT zL*|2G*9D4QC(|8ds_RVtSAakforM_kmL0!*nOf%Fg=3%HtKkhAu>n?NDt{G9pu)%wB2q{>_$Lk zj|`DPGC+DrC+Q#~d$K$kB7n?$Wl^kQQcna_=QGp0m>y<&C(}Ea9%6cs43Hku zNjk{LF0>Ddzg?iz8)kZl43YuTLpn(Z8QGcfBRfH{+X1TM!So;*AU&j$bdZq|v`2=> zAQ>P%q?2@zk>P9~sM-gr_Axy~uB5)5`XJL~|5D1;Gd;j`59uT`LCGikkz(J$^vE#! zPlm`K86Z7mJ}7o%A5iQ#nJ)W(%0AN_Oy9bbPVWXKe*{$hh3Q>P4>P@!=^acDF?}V| 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

0>j9ZH6q}6$Gkcg_v^0 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%0ATl?AT-xxG(ay|YXCV~+>d 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 a3z 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 ~9{o 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≶GK`3)zPHJ$IAM6E7*l#g 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